Commit Graph

19 Commits

Author SHA1 Message Date
adfdc5b31a [refactor] updated the API
TODO: implement the countdown.store.ts

Signed-off-by: s0wlz (Matthias Puchstein) <matthias@puchstein.lu>
2026-02-27 22:15:21 +01:00
79770152a1 [refactor] integrated the existing files into svelte structure
#TODO: updating the api
2026-02-27 21:23:20 +01:00
1b82ef653e [refactor] copied the existing types into the Svelte App 2026-02-27 21:05:29 +01:00
7027c97dd3 [chore] cleaning of default Svelte stuff 2026-02-27 20:54:12 +01:00
011aae93c8 [refactor] frontend: decided to use Svelte as framework for the control app 2026-02-27 20:50:37 +01:00
2a32025382 feat(countdown): add multi-countdown management with ID-based commands
- refactor backend service from single countdown to HashMap storage with generated IDs
- add create/list/delete commands and make start/pause/resume/reset/snapshot ID-aware
- introduce validation and new countdown errors (id/label/duration/state/action/max limit)
- update frontend countdown snapshot typing/mapping to match backend DTO changes
- add shared base Pico CSS overrides and import base styles
2026-02-27 15:57:17 +01:00
bf42cf1799 hardened instant to epoch ms translation in the backend to support instants from before the app boot (future proofing for importing long running countdowns) 2026-02-27 12:13:39 +01:00
828c52eecb transitioned to picocss and removed most styling 2026-02-27 11:50:33 +01:00
010efc1855 fixed codex AI slop 2026-02-26 20:51:37 +01:00
f804d55ce2 [chore] used codex to create a base layout for src 2026-02-26 17:55:52 +01:00
74c9ded46b [bugfix] harden countdown snapshot serialization and error messaging
- guard instant-to-epoch conversion against pre-boot instants
- serialize snapshot duration as milliseconds (u128) in DTO/commands
- derive Display/Error for CountdownError and return user-facing error strings
- remove unused command result alias and minor snapshot lock cleanup
2026-02-26 17:44:07 +01:00
8f8db9233b [bugfix] align countdown snapshot timing with tokio instants
- switch ClockAnchor to tokio::time::Instant
- remove flawed epoch conversion helpers from Countdown
- expose countdown getters for id/label/start/target instants
- update service snapshot to compute remaining_at(now) and return instants directly
- add core extern declaration in lib.rs
2026-02-26 17:27:55 +01:00
d0857d7028 [bugfix] fix countdown snapshot time calculations and unify tokio instants
- switch ClockAnchor to tokio::time::Instant for consistent async timing
- remove incorrect epoch-ms math in Countdown model and expose instant getters
- update CountdownService snapshot to use remaining_at(now) plus start/target instants
- add missing core extern declaration in lib.rs
2026-02-26 16:24:35 +01:00
503a3ef94c [refactor] simplify app state to a single countdown service
- replace AppState.countdowns vector with countdown_service
- add CountdownService::new(id, label, duration) for configurable initialization
- add CountdownService::default() with default countdown values
- remove unused next_id field and note TODO for multi-countdown support
2026-02-26 12:32:52 +01:00
7817c9c907 feat(countdown): add app state and wire countdown service into Tauri
- add `app_state` module with `ClockAnchor` and `AppState`
  - initialize `AppState` with a default `CountdownService`
  - register app state in Tauri via `.manage(app_state)`
  - extend `CountdownSnapshotDto` epoch fields to `Option<u128>`
  - add countdown model helpers for start/target epoch-ms conversion
  - return optional epoch fields from `CountdownService::snapshot`
  - ignore generated `dist/` directory in `.gitignore`
2026-02-26 12:23:54 +01:00
8517e073ba implemented model, service and dto for countdown. TODO: calculate
start_epoch_ms and target_epoch_ms
2026-02-20 22:37:39 +01:00
42b15a5966 added Zed Project 2026-02-20 19:44:07 +01:00
236cab99ae init Tauri 2026-02-20 19:40:15 +01:00
735cf591a5 init 2026-02-20 19:39:40 +01:00