Files
adventure/packages/domain/src/achievements.ts
Zaine 8cff315496
Some checks failed
CI / test (push) Has been cancelled
change
2026-07-03 16:26:54 +01:00

34 lines
2.5 KiB
TypeScript
Executable File

export interface AchievementDefinition {
key: string;
name: string;
description: string;
category: string;
}
export const ACHIEVEMENTS: AchievementDefinition[] = [
{ key: "first_visit", name: "First Steps", description: "Opened AdventureOS for the first time", category: "journey" },
{ key: "first_reflection", name: "Quiet Moment", description: "Completed your first daily reflection", category: "journey" },
{ key: "first_book", name: "Apprentice Reader", description: "Finished your first book", category: "reading" },
{ key: "books_5", name: "Shelf Filler", description: "Completed 5 books", category: "reading" },
{ key: "books_10", name: "Library Keeper", description: "Completed 10 books", category: "reading" },
{ key: "pages_1000", name: "Thousand Pages", description: "Read 1,000 pages total", category: "reading" },
{ key: "reading_streak_7", name: "Weekly Reader", description: "7-day reading streak", category: "reading" },
{ key: "reading_streak_30", name: "Monthly Reader", description: "30-day reading streak", category: "reading" },
{ key: "level_10", name: "Foundations", description: "Reached level 10", category: "progression" },
{ key: "level_25", name: "Consistent Builder", description: "Reached level 25", category: "progression" },
{ key: "level_50", name: "Reliable Craftsman", description: "Reached level 50", category: "progression" },
{ key: "level_100", name: "Master of Discipline", description: "Reached level 100", category: "progression" },
{ key: "exploration_1", name: "Curious Mind", description: "Completed first exploration", category: "learning" },
{ key: "exploration_10", name: "Curious Wanderer", description: "Completed 10 explorations", category: "learning" },
{ key: "exercise_10", name: "Moving Forward", description: "10 exercise sessions", category: "health" },
{ key: "exercise_50", name: "Steady Stride", description: "50 exercise sessions", category: "health" },
{ key: "spiritual_30", name: "Steady Pilgrim", description: "30 days of spiritual presence", category: "spiritual" },
{ key: "weekly_review_4", name: "Page Turner", description: "Completed 4 weekly reviews", category: "journey" },
{ key: "consistency_60", name: "Rhythm Found", description: "30-day consistency at 60+", category: "progression" },
{ key: "year_one", name: "One Year Adventurer", description: "One year on your journey", category: "journey" },
];
export function getAchievement(key: string): AchievementDefinition | undefined {
return ACHIEVEMENTS.find((a) => a.key === key);
}