33
packages/domain/src/achievements.ts
Executable file
33
packages/domain/src/achievements.ts
Executable file
@@ -0,0 +1,33 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user