Show daily task completion streak in navbar
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
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de anoopcodehack/DevBoard
-
good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
anoopcodehack/DevBoard#589 ·
Los mantenedores suelen responder en 2 días
-
Import tasks from CSV file 📤Abiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
anoopcodehack/DevBoard#588 ·
Los mantenedores suelen responder en 2 días
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
anoopcodehack/DevBoard#587 ·
Los mantenedores suelen responder en 2 días
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
anoopcodehack/DevBoard#586 ·
Los mantenedores suelen responder en 2 días
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
anoopcodehack/DevBoard#584 ·
Los mantenedores suelen responder en 2 días
Todos los issues de anoopcodehack/DevBoard
Issues similares
-
Bug pulumi/pulumi
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
andromarces/agent-loops#571 ·
Los mantenedores suelen responder en 1 día
-
Code Cleanup Dev Environment
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ProjectSidewalk/SidewalkWebpage#5699 ·
Los mantenedores suelen responder en 1 día
-
automated issue report
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
lirantal/discoprint#38 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
zenstackhq/zenstack#2873 ·
Los mantenedores suelen responder en 1 día