removing unused files
🏗️ Build and Test JellyTau / Build APK and Run Tests (push) Has been cancelled
Traceability Validation / Check Requirement Traces (push) Failing after 1s

This commit is contained in:
2026-02-14 14:59:30 +01:00
parent 410203a5b8
commit b8363aa993
4 changed files with 28 additions and 157 deletions
+27 -1
View File
@@ -1,15 +1,17 @@
/**
* Sleep Timer Store (Display Only - Backend-First Architecture)
* Sleep Timer Store (Backend-First Architecture)
*
* This store reflects sleep timer state from the backend.
* All logic is in the Rust backend (PlayerController).
*
* The backend emits SleepTimerChanged events to update this store.
* Components call store methods which invoke the backend API.
*
* TRACES: UR-026 | DR-029
*/
import { writable, derived } from "svelte/store";
import { invoke } from "@tauri-apps/api/core";
export type SleepTimerMode =
| { kind: "off" }
@@ -33,6 +35,30 @@ function createSleepTimerStore() {
return {
subscribe,
set, // Updated by playerEvents.ts when backend emits SleepTimerChanged event
// Methods that invoke the backend API
async setTimeTimer(minutes: number): Promise<void> {
const endTime = Date.now() + minutes * 60 * 1000;
await invoke("player_set_sleep_timer", {
mode: { kind: "time", endTime },
});
},
async setEndOfTrackTimer(): Promise<void> {
await invoke("player_set_sleep_timer", {
mode: { kind: "endOfTrack" },
});
},
async setEpisodesTimer(count: number): Promise<void> {
await invoke("player_set_sleep_timer", {
mode: { kind: "episodes", remaining: count },
});
},
async cancel(): Promise<void> {
await invoke("player_cancel_sleep_timer");
},
};
}