fix(routine): resolove routine blocker logic bug and white screen
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
feat(gamification): add streak bonuses, tooltip, and improved history details fix(ep): resolve double counting ep bug ui: update app icon and translations
This commit is contained in:
+5
-1
@@ -14,11 +14,14 @@ export const users = pgTable("users", {
|
||||
level: integer("level").notNull().default(1),
|
||||
currentStreak: integer("current_streak").notNull().default(0),
|
||||
lastTaskDate: timestamp("last_task_date"),
|
||||
showOnLeaderboard: boolean("show_on_leaderboard").notNull().default(false), // Privacy setting
|
||||
lastActive: timestamp("last_active"), // Track daily activity for streaks
|
||||
showOnLeaderboard: boolean("show_on_leaderboard").default(true).notNull(), // Privacy setting
|
||||
isSearchable: boolean("is_searchable").notNull().default(false), // Privacy setting
|
||||
apiKey: text("api_key"), // For MCP Server access
|
||||
aiEnabled: boolean("ai_enabled").notNull().default(true), // Feature flag per user
|
||||
routineConfig: json("routine_config").$type<{ morningTime: string, eveningTime: string, enabled: boolean }>().default({ morningTime: "09:00", eveningTime: "17:00", enabled: true }),
|
||||
lastMorningRoutine: timestamp("last_morning_routine"),
|
||||
lastEveningRoutine: timestamp("last_evening_routine"),
|
||||
});
|
||||
|
||||
export const systemSettings = pgTable("system_settings", {
|
||||
@@ -172,6 +175,7 @@ export const xpEvents = pgTable("xp_events", {
|
||||
amount: integer("amount").notNull(),
|
||||
source: text("source").notNull(), // 'task_completion', 'daily_streak', 'bonus'
|
||||
taskId: varchar("task_id"),
|
||||
details: json("details"), // For snapshotting task title etc.
|
||||
createdAt: timestamp("created_at").defaultNow(),
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user