Skip to content

feat: add estilizacao e cronometro por segundos#5

Merged
geanfarias merged 6 commits intocodecon-dev:mainfrom
Mcl-Oliveira:feat/melhoria-cronometro
Mar 23, 2025
Merged

feat: add estilizacao e cronometro por segundos#5
geanfarias merged 6 commits intocodecon-dev:mainfrom
Mcl-Oliveira:feat/melhoria-cronometro

Conversation

@Mcl-Oliveira
Copy link
Copy Markdown
Contributor

@Mcl-Oliveira Mcl-Oliveira commented Mar 17, 2025

  • Melhorias de estilizacao
  • Funcionalidade dos botoes
  • Funcionalidade de contagem regressiva baseada nos segundos
  • Estilizacao ao chegar no countdown (nos 10 sec restantes)
  • Inputs de valores aceitando apenas 2 casas e sempre visivel as 2 casas, ex: 00 e 01
  • Funcionalidade para resetar o countdown (durante e apos o fim do mesmo)

Peguei algumas ideias de outro pr que estava aberto, mas to sem tempo pra fazer base nele, pois ja tinha feito esse aqui quando fui almocar

Acho que me empolguei um pouco enquanto estava fazendo, no mais um abraco a todos, to curtindo muito o conteudo do canal

Inicial
127 0 0 1_5500_

Timer rolando
127 0 0 1_5500_ (1)

Timer em countdown
127 0 0 1_5500_ (2)

Timer zerado
127 0 0 1_5500_ (4)

Modo de edicao
127 0 0 1_5500_ (3)

Changelog

18/03

  • Atualizacao com a branch main
  • Comentarios para auxiliar quem quiser usar esse PR de base
  • Aplicando estilos com classes do css
  • Adicao de variaveis css para cores default
  • Adicao de valor default para o timeout do contador (1000ms == 1sec)

@geanfarias
Copy link
Copy Markdown
Member

põe uns prints e uns gifs de como ficou

Comment thread script.js Outdated
return { seconds, minutes, hours };
}

function setValues(fromSeconds = 0) {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

enfim alguém escreveu a função correta 👏🏼

@geanfarias
Copy link
Copy Markdown
Member

geanfarias commented Mar 17, 2025

@Mcl-Oliveira, consegue apontar o seu pr para o pr #4?

@Mcl-Oliveira
Copy link
Copy Markdown
Contributor Author

@geanfarias vou ficar devendo o apontamento por nao conseguir apontar a branch do pr, mas me comprometo a atualizar esse PR caso o outro seja aceito

No mais, fiz a adicao de algumas imagens na descricao e tambem adicionei um changelog pra listar algumas alteracoes pequenas que fiz hoje

ps: nao fiz o gif por que apanhei pro linux (acontece... kkkk)

Comment thread index.html
Comment on lines +44 to +46
<button class="js-restart-button" id="restartBtn">
<img src="/images/cancel.svg" alt="Reiniciar" />
</button>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A ideia é que não tivesse o botão de cancelar aqui mesmo. Coloquei o layout do Figma no README, dá uma olhada.

Também seria legal que o tamanmho do texto no countdown-number fosse maior hehe

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

top, vou dar uma olhada la depois e ajustar

@geanfarias
Copy link
Copy Markdown
Member

@Mcl-Oliveira, ajusta os conflitos, por favor

Comment thread script.js Outdated
run();
}
const DEFAULT_SECONDS = 30;
let TIMER_STATUS = "STOPED";
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

o que acha de criar um "enum" pra esses status, algo como:

const TimerStatus = {
    STOPPED: "STOPPED",
    PAUSED: "PAUSED",
    COUNTDOWN: "COUNTDOWN"
    RUNNING: "RUNNING"
}

assim você evitaria duas coisas:

  1. ficar comparando string
  2. centralizar os valores que você poder ter

se quiser dá para criar funções específicas também, algo assim:

const TimerStatus = {
    STOPPED: "STOPPED",
    PAUSED: "PAUSED",
    COUNTDOWN: "COUNTDOWN",
    RUNNING: "RUNNING",
    isRunning: (status) => status === TimerStatus.RUNNING,
    isCountdown : (status) => status === TimerStatus.COUNTDOWN
}

assim facilita também as validações que você faz na linha 156

Comment thread script.js Outdated
return sumSeconds;
}

// Pega os valores do timer separadamente
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sei que os comentários ajudam a entender o que a função faz ou a variável tem, mas o quanto mais descritivo você deixar, menos você precisará de comentários.
Exemplo da função abaixo: getValues.
Mas de onde? De onde vem esses values?
Se você coloca algo como: getValuesFromInput, fica mais claro, e evita a necessidade de comentar.
Outros nomes que podem ajudar:
getHMSFromInputs (h = hour; m = minutes; s = seconds)
getTimeFromInputs
readTimeInputs

Pensa em como refatorar seu código diminuindo os comentários e deixando os nomes das funções/variáveis mais específicas.

@geanfarias
Copy link
Copy Markdown
Member

@Mcl-Oliveira, vai conseguir realizar os ajutes?

@Mcl-Oliveira
Copy link
Copy Markdown
Contributor Author

@geanfarias ajustei os conflitos, refiz o nome de algumas funções conforme o pedido, também gostei da sugestão do TimerStatus então apliquei no código, ajustei o tamanho da fonte quando estamos no countdown e parei por ai

a semana resolveu ficar mais corrida de uma hora pra outra, perdão ter demorado a vir aqui no PR 😅, talvez eu contribua mais em outro PR, deixar a galerinha fazer o deles também 🚀

@geanfarias
Copy link
Copy Markdown
Member

Obrigado pela contribuição @Mcl-Oliveira

@geanfarias geanfarias merged commit 487edfe into codecon-dev:main Mar 23, 2025
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.

3 participants