- Navios
- 19 de agosto de 2026 às 06:33 UTC
- Autor
- kamo
- Enviar
- 893d2b8
Oito abas planas sobre oito painéis que cada um desenhou o seu próprio rumo, mesa, esqueleto, linha de erro e Snackbar — e tinha à deriva. A revisão é três coisas no nível da página e uma reconstrução de cada painel em cima delas. **Um resumo lido** suporta uma nova barra de comandos e cada emblema de trilho. Ele responde à pergunta que a tela não poderia: se algo está entre Aqui e folha de pagamento. Isso costumava levar três cliques — um administrador abriu o roster sem forma de saber que doze excepções de bloqueio recusariam Todas as aprovações que estavam prestes a fazer na próxima página. Bloqueamento e à espera de chips de ligação profunda ao painel que os possui. A votação está encerrada. visibilidade da página, então uma aba deixada aberta durante a noite pára de perguntar. ** Um anfitrião de torradas**, içada acima do interruptor do painel. Uma mensagem enviada por um ação que navega – "limpar a exceção de bloqueio primeiro", que envia o leitor para outro sub-tab — usado para desmontar com seu próprio painel antes Alguém o leu. ** Um mapa de tom** (attendenceConsole.ts, unit-tested) substitui três que já discordou, e carrega a regra que este módulo liga: um desconhecido é Nunca um zero. Número de homologação retido, número de minutos líquidos ausentes e período ninguém gerou todos alcançar o olho como "não nos disseram", porque renderizando qualquer um deles como 0 diz a um administrador de RH uma fila que eles não podem ver é Afastem-se. `railBadgeFor`, portanto, nunca emite um crachá zero, e `consoleVerdict` é 'desconhecido' antes da primeira leitura em vez de 'claro'. Duas lacunas fechadas que não eram cosméticas: - Uma pessoa é uma pessoa. Cinco painéis impressos com 19 dígitos brutos `unique rowid()` nas linhas decidindo se deve pagar alguém. «PersonCell» mostra o rosto e o nome, com o ID na dica; os IDs ficam no final do STRINGS para acabar e nada analisa um. `useMemberDisplayNames` agora armazena tudo pasta linha em vez do nome sozinho, então a mesma caminhada alimenta avatars e títulos de emprego em vez de precisar de um segundo. - Uma perfuração que nunca existiu. A página do Timecard de membro em / configurações é auto-somente por construção — os seus endpoints não tomam nenhum ID de membro — assim o A única rota de "o horário desta pessoa está errado" para "aqui está o soco" foi a fila de exceções, que lista o dia e não o deslocamento em torno dele. `MemberTimecardDrawer` abre o editor de período existente em outro membro; esses endpoints tomar um `subjectMemberId` e SecurityService atributos o ajuste ao ator de RH, que é o que faz a reutilização correta. Por painel: a lista ganha pesquisa, ordenar, uma carta e uma vista de tabela, a intervalo de período atual e CSV (cada valor da string do próprio servidor — um arquivo a folha de pagamento concilia contra não deve carregar um número este aplicativo inventado). As aprovações tornam-se triagem de teclado com placas claras separadas de bloqueadas e um "aprovar tudo pronto" que ainda anda na máquina do estado uma carta de cada vez e nomeia cada recusa. Excepções ganham um tipo histograma que duplica como filtro e, mais importante, um ** ação: a tela enviada oferecendo apenas Re-detect e Waive, nenhum dos que coloca um soco perdido de volta, então o caminho da menor resistência de "um dia falta-lhe o tempo-fora" foi abdicar-lhe — precisamente a decisão da fila existe para fazer alguém pensar. Períodos de pagamento ganha uma linha temporal, porque um gap ou uma sobreposição em um calendário é visível em uma faixa e invisível em uma lista. Exportar calcula a variância em relação ao período anterior em vez de aconselhar o operador para se lembrar de comparar. Perto torna-se um degrau numerado, uma vez que ordem é real: recomputação após aprovação de alterações números já acordados. Um `ReasonDialog' substitui seis laminadas à mão que tinham à deriva — alguns aparado após a verificação, então três espaços habilitaram o botão e submeteram um razão vazia que o servidor tomou como presente. Sob Anderson v. Mt. Clemens Pottery essa razão é o registro, então o cheque está no valor aparado agora. `TIMECARD SUB TAB IDS` está intocado: permanece o contrato de URL somente para apêndices e `ATENDÂNCE RAIL` reordena apenas as pílulas, então cada marcador ainda pousa. Um teste afirma que o trilho cobre cada ID exatamente uma vez.