Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Show daily task completion streak in navbar

Ouverte Adaptée aux débutants
#581 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
javascript, react
Domaine
frontend

Piste de recherche

Commencez dans client/src/pages/Dashboard.jsx ; lisez comment onDragEnd gère les tâches déplacées vers l’état terminé et où la barre de navigation est affichée. Ajoutez le suivi de l’historique des tâches terminées et affichez la série calculée. Vérifiez ensuite que l’achèvement des tâches met à jour la série et qu’elle apparaît dans la barre de navigation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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 🎯

Langage dominant
JavaScript
Étoiles
39
Forks
105
Merge moyen
1 j 12 h
PR mergées (30 j)
27

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de anoopcodehack/DevBoard

Toutes les issues de anoopcodehack/DevBoard

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.