INNER CODE UNIT · TypeScript

updateStreak

vibeeval/vibecosystem · hooks/src/achievement-tracker.ts:113

function updateStreak(state: AchievementState): void {
  if (!state.lastActive) {
    state.streak = 1;
    state.lastActive = TODAY;
    return;
  }
  if (state.lastActive === TODAY) return; // already counted today

  const last = new Date(state.lastActive);
  const now = new Date(TODAY);
  const diffDays = Math.round((now.getTime() - last.getTime()) / 86400000);

  state.streak = diffDays === 1 ? state.streak + 1 : 1;
  state.lastActive = TODAY;
}

const ACHIEVEMENT_NAMES: Record<string, string> = {
  'first-blood': 'First Blood',

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…