From f8d84cba110c9d08660ce5c2a4767d8aff1aac45 Mon Sep 17 00:00:00 2001 From: NiloCK Date: Tue, 8 Jul 2025 14:40:39 -0300 Subject: [PATCH 01/13] add SessionTimeLimit as a userConfig setting --- packages/db/src/core/types/user.ts | 1 + packages/db/src/impl/common/BaseUserDB.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/db/src/core/types/user.ts b/packages/db/src/core/types/user.ts index 01a93a122..e314d2759 100644 --- a/packages/db/src/core/types/user.ts +++ b/packages/db/src/core/types/user.ts @@ -4,6 +4,7 @@ import { Moment } from 'moment'; export interface UserConfig { darkMode: boolean; likesConfetti: boolean; + sessionTimeLimit: number; // Session time limit in minutes } export interface ActivityRecord { diff --git a/packages/db/src/impl/common/BaseUserDB.ts b/packages/db/src/impl/common/BaseUserDB.ts index 16ca73f84..05d39d48b 100644 --- a/packages/db/src/impl/common/BaseUserDB.ts +++ b/packages/db/src/impl/common/BaseUserDB.ts @@ -519,6 +519,7 @@ Currently logged-in as ${this._username}.` _id: BaseUser.DOC_IDS.CONFIG, darkMode: false, likesConfetti: false, + sessionTimeLimit: 5, }; try { From aaa443014a0893038fecda65e1392b0140eacd61 Mon Sep 17 00:00:00 2001 From: NiloCK Date: Tue, 8 Jul 2025 14:41:15 -0300 Subject: [PATCH 02/13] add settings hooks --- packages/standalone-ui/src/main.ts | 4 + .../standalone-ui/src/views/StudyView.vue | 7 +- .../src/views/UserSettingsView.vue | 184 ++++++++++++++---- 3 files changed, 159 insertions(+), 36 deletions(-) diff --git a/packages/standalone-ui/src/main.ts b/packages/standalone-ui/src/main.ts index 2c129e2e6..de4ce8b35 100644 --- a/packages/standalone-ui/src/main.ts +++ b/packages/standalone-ui/src/main.ts @@ -162,6 +162,10 @@ import config from '../skuilder.config.json'; app.use(piniaPlugin, { pinia }); await useAuthStore().init(); + + // Initialize config store to load user settings (including dark mode) + const { useConfigStore } = await import('@vue-skuilder/common-ui'); + await useConfigStore().init(); // Auto-register user for the course in standalone mode if (config.course) { diff --git a/packages/standalone-ui/src/views/StudyView.vue b/packages/standalone-ui/src/views/StudyView.vue index 48536e092..d1f8719a2 100644 --- a/packages/standalone-ui/src/views/StudyView.vue +++ b/packages/standalone-ui/src/views/StudyView.vue @@ -27,17 +27,18 @@ \ No newline at end of file From 98aebf25d669fe2ab7882610fd41d56cb9042951 Mon Sep 17 00:00:00 2001 From: NiloCK Date: Tue, 8 Jul 2025 14:41:38 -0300 Subject: [PATCH 03/13] apply dark mode --- packages/standalone-ui/src/App.vue | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/standalone-ui/src/App.vue b/packages/standalone-ui/src/App.vue index 12063c66e..94dea955f 100644 --- a/packages/standalone-ui/src/App.vue +++ b/packages/standalone-ui/src/App.vue @@ -1,5 +1,5 @@