feat: Notifications page, Sidebar layout fixes, and Achievements enhancements
continuous-integration/drone/push Build is failing
continuous-integration/drone/push Build is failing
- implemented /notifications page with overdue/upcoming alerts - Fixed sidebar scrolling in collapsed mode - Moved notification button to sidebar footer - Enhanced Achievements page with streak stats and tooltips - Improved XP history to show task titles - Added missing translations (en/de) - Removed top bar header - Fixed Docker environment routing
This commit is contained in:
+12
-1
@@ -212,6 +212,15 @@ export class MemStorage implements IStorage {
|
||||
isSearchable: insertUser.isSearchable ?? false,
|
||||
apiKey: null,
|
||||
aiEnabled: insertUser.aiEnabled ?? true,
|
||||
// Missing fields fix:
|
||||
language: insertUser.language ?? "en",
|
||||
is2faEnabled: false,
|
||||
otpCode: null,
|
||||
otpExpiresAt: null,
|
||||
lastActive: null,
|
||||
routineConfig: { morningTime: "09:00", eveningTime: "17:00", enabled: true },
|
||||
lastMorningRoutine: null,
|
||||
lastEveningRoutine: null,
|
||||
};
|
||||
this.users.set(id, user);
|
||||
return user;
|
||||
@@ -1184,6 +1193,8 @@ export class DbStorage implements IStorage {
|
||||
}
|
||||
|
||||
// Export storage based on environment
|
||||
export const storage = process.env.NODE_ENV === 'production' || process.env.USE_DB === 'true'
|
||||
// Export storage based on environment
|
||||
// Default to database storage if DATABASE_URL is present, otherwise fallback to memory
|
||||
export const storage = process.env.DATABASE_URL
|
||||
? new DbStorage()
|
||||
: new MemStorage();
|
||||
|
||||
Reference in New Issue
Block a user