Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: stopwatch and countdown implementation #30

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

lgeronimo
Copy link

Supongamos que eres un desarrollador frontend Sr. que se apega a las buenas prácticas, sabiendo eso, vamos a construir una aplicación en javascript con su respectivo HTML que tenga un cronómetro y una cuenta atrás.

Debes tomar las siguientes consideraciones:

  1. La aplicación debe ser responsiva, es decir, debe funcionar en dispositivos móviles y de de escritorio.

  2. Si requieres algún estilo, este se debe incluir en un archivo separado.

  3. De inicio la página debe tener dos apartados, uno para cronómetro y otro para cuenta atrás, uno a abajo del otro, ambos van a poder funcionar a la par.

A continuación te voy a describir la funcionalidad de cronómetro:

  • Debe tener un contador de horas, minutos, segundos y milisegundos.
  • Abajo del contador, debe haber dos botones, el de iniciar y el de limpiar, el botón de iniciar debe cumplir con tres funciones diferentes, iniciar, pausar y continuar, el texto va cambiando según la acción que corresponda y el contador debe cambiar en función de dicha acción, también el color y texto del botón va a cambiar en función de la acción en curso, crea la lógica pertinente según corresponda al nombre de la acción.
  • Básate en este link de esta imagen https://raw.githubusercontent.com/LIDR-academy/AI4Devs-stopwatch/refs/heads/main/res/stopwatch.png para hacer un diseño igual, respetando que los milisegundos están abajo, con un fuente más pequeña.

A continuación te voy a describir la funcionalidad de cuenta atrás:

  • Debe tener un contador de horas, minutos, segundos y milisegundos con el mismo diseño que el de cronómetro.
  • En la parte inferior deberán estar los botones para poder configurar la hora, serán botones para poder aumentar y disminuir cada apartado por separado, a excepción de los milisegundos.
  • Agrega las validaciones necesarias, tomando en cuenta que el valor máximo será 23:59:59 y valor mínimo será 00:00:00.
  • Abajo de los botones para configurar el tiempo, deben haber dos botones, el de iniciar y el de limpiar, el botón de iniciar debe cumplir con tres funciones diferentes, iniciar, pausar y continuar, el texto va cambiando según la acción que corresponda y el contador debe cambiar en función de dicha acción, también el color y texto del botón va a cambiar en función de la acción en curso, crea la lógica pertinente según corresponda al nombre de la acción.
  • Al darle click en iniciar, el contador irá disminuyendo hasta llegar a 0.

Esto debe aplicar para ambos casos (stopwatch y countdown):

  • El botón de limpiar debe reiniciar el contador.

  • Los botones de iniciar y limpiar deben estar alineados uno a lado de otro, con el mismo tamaño pero de diferente color.

  • Los milisegundos deben estar debajo de los segundos y con una fuente mucho más pequeña que las horas, minutos y segundos.

  • Todo el código generado debe estar en inglés.

Antes de darme una respuesta, puedes hacer las preguntas que necesites para una mejor solución.

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.

1 participant