Skip to content

Melhorias em funções e comportamentos do time, na descrição adicionei toda as adequações. O time roda em https://timer.a8z.com.br/ #23

Merged
geanfarias merged 20 commits intocodecon-dev:mainfrom
imdouglasoliveira:main
Apr 11, 2025
Merged

Melhorias em funções e comportamentos do time, na descrição adicionei toda as adequações. O time roda em https://timer.a8z.com.br/ #23
geanfarias merged 20 commits intocodecon-dev:mainfrom
imdouglasoliveira:main

Conversation

@imdouglasoliveira
Copy link
Copy Markdown
Contributor

Lista de Aprimoramentos Implementados

Segue a lista de aprimoramentos implementados na minha versão do projeto, com o objetivo de melhorar a usabilidade, a interatividade e a documentação geral:

1. Gerenciamento e Persistência dos Estados do Timer

  • Refinamento do objeto TimerStatus:

    • Inclusão de métodos como isPaused, isStopped e isEditing.
    • Atualização de isRunning para considerar também o estado COUNTDOWN.
  • Uso de setInterval:

    • A lógica do timer passou a ser gerenciada com setInterval e clearInterval, permitindo um controle mais preciso da contagem regressiva.
  • Persistência com localStorage:

    • O tempo atual, o estado do timer e a escolha de tema são salvos e restaurados automaticamente entre as sessões.

2. Funcionalidade de Adição de 30 Segundos

  • Botões dedicados para adição de tempo:

    • Implementação de botões específicos para adicionar 30 segundos nos seguintes estados:
      • Pausado: add30sPaused
      • Parado: add30sStopped
      • Em execução: add30sRunning
  • Funções específicas:

    • Funções como add30Seconds e add30SecondsRunning garantem que o acréscimo seja realizado conforme o estado do cronômetro.

3. Alternância de Tema (Dark/Light Mode)

  • Botão de alternância:

    • Implementação do botão themeToggle para mudar entre os temas escuro e claro.
  • Uso de variáveis CSS:

    • Paletas de cores definidas para os temas utilizando seletores como :root[data-theme="dark"] e :root[data-theme="light"].
  • Persistência da escolha de tema:

    • A preferência pelo tema é salva no localStorage, garantindo que a configuração seja mantida em futuras visitas.

4. Aprimoramento dos Comportamentos e Feedback dos Botões

  • Controles bloqueados durante a execução:

    • Botões, como o de edição, são desabilitados enquanto o timer está em execução, evitando cliques acidentais.
  • Feedback visual e animações:

    • Implementação de efeitos de button feedback (como o efeito pulse) para aumentar a interatividade.
  • Tooltips informativas:

    • Cada botão possui um atributo data-tooltip que exibe uma breve descrição ao posicionar o cursor, melhorando a experiência do usuário.

5. Melhoria na Edição do Tempo

  • Edição restrita ao estado pausado:

    • A edição dos campos (hora, minuto e segundo) é permitida somente quando o timer está pausado, garantindo a integridade da contagem.
  • Overlay para saída do modo de edição:

    • Implementação de um overlay que permite encerrar o modo de edição ao clicar fora dos campos.

6. Integração e Visibilidade dos Contribuidores

  • Seção de contribuidores:

    • Adição de uma seção dedicada que exibe os colaboradores do projeto (integrando informações do GitHub).
  • Configuração de exibição:

    • Popup de configurações que permite ao usuário optar por exibir ou ocultar a lista de contribuidores.

7. Outras Melhorias Gerais

  • Inclusão de favicon personalizado:

    • Adição de um favicon (clock-regular.svg) que reforça a identidade visual do projeto.
  • Responsividade e layout aprimorado:

    • Atualizações no CSS para garantir uma melhor adaptação em diferentes tamanhos de tela.
  • Validação e formatação dos inputs:

    • Implementação de validações robustas e formatação automática dos campos, garantindo que os valores permaneçam dentro dos limites esperados.

Se o timer estiver rodando não pode permitir clicar no botões de reproduzir, e editar;
Todos os botões ao posicionar o cursor ou mouse encima, deve exibir uma breve descrição/informação do que são e para que serve;
Adicionar mais um botão para adicionar +30s a cada clique;
Se for pausado, pode editar o time;
Incluir favicon como sendo (adicionei o ícone em /images com o nome de clock-regular.svg):

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @FontAwesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>
@geanfarias
Copy link
Copy Markdown
Member

A sugestões foram boas, mas percebemos que mudou muito o visual do projeto original, gostaríamos de manter como era antes, por isso revertemos o pr no momento.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants