Commit graph

5 commits

Author SHA1 Message Date
Till JS
bc428729b0 deploy(taktik): add Dockerfile, docker-compose, SSO config
- Dockerfile based on sveltekit-base pattern (port 5027)
- docker-compose.macmini.yml: taktik-web service with auth + sync
- mana-auth: added taktik.mana.how to trustedOrigins
- CORS_ORIGINS: added taktik.mana.how

Remaining manual steps on Mac Mini:
- cloudflared tunnel route: taktik.mana.how -> localhost:5027
- ./scripts/mac-mini/build-app.sh taktik-web

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 08:55:30 +02:00
Till JS
49df3ead09 feat(taktik): add detail pages, duration rounding, confirmation dialogs
- Project detail page (/projects/[id]): stats, budget progress, inline
  edit, full entry list with billing value calculation
- Client detail page (/clients/[id]): stats, project cards, entry list,
  billing value summary
- Duration rounding: configurable increment (1-15 min) and method
  (up/down/nearest), applied automatically when timer stops
- ConfirmDialog component: reusable modal for destructive actions
- Confirmation required before deleting entries, projects, and clients
- 18 new rounding tests (67 total, all passing)
- i18n: added deleteConfirm keys for DE and EN

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 08:44:59 +02:00
Till JS
79a270a8d4 test(taktik): add unit tests and comprehensive documentation
- 49 unit tests across 3 test files (all passing)
- queries.test.ts: duration formatting, date filtering, aggregation,
  grouping, multi-criteria filtering, sorting, entity helpers
- export.test.ts: CSV generation, headers, quote escaping, edge cases
- types.test.ts: compile-time type validation
- CLAUDE.md: full feature docs, architecture diagrams, project structure

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 23:33:43 +01:00
Till JS
4a91fd7e97 feat(taktik): add timer indicator, settings, templates, CSV export, keyboard shortcuts
- TimerIndicator: compact navbar bar with pulsing dot, elapsed time, stop button
- Settings page: working hours, rounding, billing rate, currency, timer config
- Templates page: save/use entry templates, sorted by usage count
- CSV export: semicolon-delimited with UTF-8 BOM for Excel compatibility
- Keyboard shortcuts: s=start/stop timer, n=new entry, Escape=blur
- Timer initialization moved to layout (available on all pages)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 23:28:18 +01:00
Till JS
3f0e330884 feat: add Taktik time tracking app with full MVP
New app for professional time tracking with timer, projects, clients,
and reports. Local-first architecture with IndexedDB + mana-sync.

- Timer store with start/stop/resume, auto-save every 10s
- 6 local-store collections: clients, projects, timeEntries, tags, templates, settings
- TimerCard with live counter, project selector, billable toggle
- EntryItem with inline-expand editing, EntryList with day grouping
- EntryForm modal with quick-duration buttons (15m-4h)
- QuickStart pills from recent entries
- Projects page: card grid, color coding, budget progress, inline CRUD
- Clients page: billing rates, project rollup, inline CRUD
- Reports page: stats grid, billable breakdown, project/daily charts
- i18n: German + English
- Registered in shared-branding with icon, URLs, dev scripts
- Guest seed: 2 clients, 3 projects, 5 time entries, 4 tags

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 22:45:19 +01:00