aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/stores/ui.svelte.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/stores/ui.svelte.ts')
-rw-r--r--ui/src/stores/ui.svelte.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/ui/src/stores/ui.svelte.ts b/ui/src/stores/ui.svelte.ts
new file mode 100644
index 0000000..8fc339b
--- /dev/null
+++ b/ui/src/stores/ui.svelte.ts
@@ -0,0 +1,34 @@
+export class UIState {
+ currentView = $state("home");
+ status = $state("Ready");
+ showConsole = $state(false);
+ appVersion = $state("...");
+
+ private statusTimeout: any;
+
+ constructor() {
+ // Watch for status changes to auto-dismiss
+ $effect(() => {
+ if (this.status !== "Ready") {
+ if (this.statusTimeout) clearTimeout(this.statusTimeout);
+ this.statusTimeout = setTimeout(() => {
+ this.status = "Ready";
+ }, 5000);
+ }
+ });
+ }
+
+ setStatus(msg: string) {
+ this.status = msg;
+ }
+
+ toggleConsole() {
+ this.showConsole = !this.showConsole;
+ }
+
+ setView(view: string) {
+ this.currentView = view;
+ }
+}
+
+export const uiState = new UIState();