Reconstruir meu perfil como um herói e cinco quartos

Featurekamo-internal
Navios
3 de setembro de 2026 às 18:53 UTC
Autor
Kamo
Enviar
c20bac5

**************** foi uma versão de 1.999 linhas treze cartas idênticas numa única coluna. Um ajudante SectionCard deu todos eles o mesmo raio, a mesma sombra, o mesmo chip de ícone e o mesmo Editar / Salvar / Cancelar trio, então "Informações de Conta" — duas datas ninguém pode editar — levou exatamente o peso de "Password & MFA". A disposição foi dizendo a verdade sobre uma hierarquia que a página não tinha. A reconstrução: • Um herói que mantém a resolução de papel de parede do MemberHeader verbatim, cicatriz comentários incluídos, e acrescenta a identidade foi apenas decoração: o nome como a página é uma peça de grande tipo, a hora local do membro Tiquetaque na sua zona, estado MFA, último sinal, e um anel de força. • Cinco quartos atrás de um trilho — Identidade, Aparência, Trabalho, Acesso, Regional — um aberto de cada vez, carregado na URL como &room=. Um quarto cujo cartão é fechado para o espectador não renderiza nenhum item ferroviário em tudo. • Click-to-edit campos e uma barra de poupança de nível de sala, substituindo 39 botões. Salva a ventoinha por endpoint sob allSetled: um grupo que tem sucesso commits enquanto um grupo que falha mantém seus campos sujos com uma razão. • Cmd+K sobre cada campo, por isso quartos escondem coisas sem escondê-las. • esqueletos cambaleados em forma de cartão em vez de um spinner full-tab. Dois defeitos encontrados durante a leitura, corrigidos aqui: • O endereço nunca funcionou em qualquer direção. O carregador codificado cinco texto vazio e nunca ler data.address, que o SecurityService faz enviar; e do cliente {rua, cidade, estado, zip, país} não é o formato de fio — Membro.endereço é um endereço de {endereço, endereçoDetalhes, localidade, subdivisão, código postal, país}. Então, ficou em branco para todos e chaves salvas que a entidade não carrega. Agora usa a forma O resto da plataforma já envia, com testes de ida e volta. • "Nome legal:" e "Nascido" eram literais em inglês no MemberHeader, e o o trabalho-localização e emprego-status rótulos foram literais ingleses no componente. Todos com chave. Estrutura. As regras passaram para app/lib/memberProfile, onde o vitest realmente recolhe-os — app/settings/** não está na lista de inclusão, portanto, um teste escrita ao lado da página teria passado por nunca correr. fields.ts is a pedra chave: cada campo declarado uma vez com seu quarto, cartão, etiqueta, portão e endpoint. A paleta, o anel de força, o save fan-out e direitos gating todos o leram em vez de reimplementá-lo, e 57 testes prendem as portas para baixo — incluindo que nenhum campo é mais visível do que seu cartão, e que edição nunca é maior do que ver. As dicas rápidas são retiradas apenas para esta página, omitindo a ajudaDicas; ConfiguraçõesView torna o trilho da aba ativa, então os outros nove mantêm o deles. Impersonate move do cabeçalho de configurações para o herói. Também exclui ProfileTab.tsx (2.650 linhas), LoginSecurityTab.tsx (787) e PermissionsTab.tsx (2.136), que não tinha importadores. Chaves de dicionário pousou primeiro em kamo-tradução-dicionário 4bb91245. Verificado: teste npm (14 protectores + 5106 testes), tsc --noEmit, próxima compilação, e check-i18n-keys -- requer-mensagens contra um novo clone do dicionário.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços