Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Show daily task completion streak in navbar

Abierto Apto para principiantes
#581 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
javascript, react
Área
frontend

Línea de trabajo

Empieza en client/src/pages/Dashboard.jsx; lee cómo onDragEnd gestiona las tareas movidas a completadas y dónde se renderiza la barra de navegación. Añade el seguimiento del historial de tareas completadas y muestra la racha calculada. Después, verifica que completar tareas actualiza la racha y que esta aparece en la barra de navegación.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

good first issue

Show daily task completion streak in navbar

File: client/src/pages/Dashboard.jsx

No gamification to keep users
coming back daily 💀 fr!!

Fix: track streak in localStorage:
const calculateStreak = () => {
const history = JSON.parse(
localStorage.getItem('completion_history') || '[]'
)
let streak = 0
const today = new Date().toDateString()
for (let i = 0; i < history.length; i++) {
const date = new Date(history[i])
const expected = new Date()
expected.setDate(expected.getDate() - i)
if (date.toDateString() === expected.toDateString()) {
streak++
} else break
}
return streak
}

// update when task moved to done:
// in onDragEnd when status === 'done':
const history = JSON.parse(
localStorage.getItem('completion_history') || '[]'
)
const today = new Date().toISOString()
if (!history[0] ||
new Date(history[0]).toDateString() !==
new Date().toDateString()) {
history.unshift(today)
localStorage.setItem('completion_history',
JSON.stringify(history.slice(0, 30)))
}

// show in navbar:
{streak > 0 && (

🔥 {streak} day streak

)}

~20 lines! No backend needed 🎯

Lenguaje dominante
JavaScript
Estrellas
39
Forks
105
Merge medio
1 d 12 h
PR fusionados (30 d)
27

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de anoopcodehack/DevBoard

Todos los issues de anoopcodehack/DevBoard

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.