mika kuns
364a037cb3
feat(i18n): localize installer with language picker and config write-through
...
- Init Localizer at app startup (before self-update prompt) and assign to TrExtension.Localizer
- Register ILocalizer in DI; inject into WizardViewModel and SettingsViewModel
- WizardViewModel: SelectedLanguage ComboBox binding with OnSelectedLanguageChanged -> SetLanguage + InstallContext.Language
- WizardWindow.xaml: DockPanel wraps step chips + language ComboBox (right-aligned)
- Localize all installer XAML: WizardWindow, WelcomePage, PathsPage, ServicePage, UiSettingsPage, InstallPage, SettingsWindow, SelfUpdatePromptWindow
- Localize page Title properties and WizardViewModel.NextButtonText via TrExtension.Localizer
- Persist chosen Language in WriteConfigStep and SettingsViewModel.Save into ui.config.json
- Append installer section to en.json (nav, welcome, paths, service, uiSettings, install, settings, selfUpdate)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:55:08 +02:00
mika kuns
2fbf054a57
feat(i18n): add WPF localization primitives and Language config to installer
2026-06-03 12:45:49 +02:00
mika kuns
350a89f364
feat(i18n): localize ViewModel-built strings via ambient Loc accessor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 12:43:30 +02:00
mika kuns
086c6f6c45
feat(i18n): localize Avalonia view strings via loc:Tr markup
...
Extract ~165 hardcoded UI strings across islands, modals, planning and
shell views into en.json; replace with {loc:Tr} bindings.
2026-06-03 12:05:08 +02:00
mika kuns
070f5de1b1
feat(i18n): add language dropdown to settings and persist selection
2026-06-03 11:51:36 +02:00
mika kuns
f529a5ff22
feat(i18n): initialize Localizer at app startup from config/OS culture
2026-06-03 11:46:33 +02:00
mika kuns
6a85d82fcf
feat(i18n): add Language preference and Save() to AppSettings
2026-06-03 11:45:06 +02:00
mika kuns
35ad1715d3
feat(i18n): add Avalonia loc:Tr markup extension and LocalizedString
2026-06-03 11:44:16 +02:00
mika kuns
3c40bb5ea3
feat(i18n): seed en.json and wire locale copy to app output
2026-06-03 11:41:51 +02:00
mika kuns
d95d55e6b8
feat(i18n): add CultureResolver for OS-culture mapping
2026-06-03 11:39:20 +02:00
mika kuns
d22b50e171
feat(i18n): add Localizer with fallback chain and change event
2026-06-03 11:38:49 +02:00
mika kuns
a83a0c41e8
feat(i18n): add LocaleStore folder discovery
2026-06-03 11:38:02 +02:00
mika kuns
9efde2bf88
feat(i18n): add ClaudeDo.Localization project with nested-JSON locale parser
2026-06-03 11:35:59 +02:00
mika kuns
a935bf9664
i18n(ui): English UI labels for weekly report and notes (report body stays German)
2026-06-03 10:44:36 +02:00
mika kuns
2d55f88a41
fix(ui): notes add row stays visible, English 'Add' label, Enter to add
2026-06-03 10:39:53 +02:00
mika kuns
a8d8a8bd65
fix(worker): sanitize report model arg, fix multi-repo summary attribution and standup-weekday sentinel
2026-06-03 10:22:06 +02:00
mika kuns
0bc3d2a6c4
docs: document weekly report and daily notes feature
2026-06-03 10:15:40 +02:00
mika kuns
a8943a9f7a
feat(ui): pinned Notes row in My Day opens the notes editor
...
Add ShowNotesRow/OpenNotesCommand to TasksIslandViewModel; wire NotesRequested
event to Details.ShowNotes() in the shell; show a Notes button above the task
list when the My Day smart list is active.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:08:30 +02:00
mika kuns
eccd06e182
feat(ui): notes mode in the Details island
...
Add IsNotesMode/Notes to DetailsIslandViewModel; ShowNotes() loads today's
notes and switches the island body to NotesEditorView via IsVisible toggling.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 10:07:09 +02:00
mika kuns
731c291d61
feat(ui): NotesEditorView
2026-06-03 10:02:16 +02:00
mika kuns
c8b5ed3912
feat(ui): NotesEditorViewModel with day navigation and bullet CRUD
2026-06-03 10:01:17 +02:00
mika kuns
9bf44da13b
feat(ui): INotesApi wrapper for daily notes
2026-06-03 09:59:40 +02:00
mika kuns
b748c1569e
feat(ui): open Weekly Report modal from the menu
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:56:32 +02:00
mika kuns
74fc39f1a6
feat(ui): WeeklyReportModalView
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:55:10 +02:00
mika kuns
ccd2ee2cc7
feat(ui): WeeklyReportModalViewModel with default-range logic
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:54:10 +02:00
mika kuns
5b89e3d03f
feat(settings): persist report excluded paths and standup weekday
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 09:50:03 +02:00
mika kuns
e106b00b16
feat(ui): WorkerClient methods for week report and daily notes
2026-06-03 09:46:39 +02:00
mika kuns
d7558ef451
feat(worker): hub methods for week report and daily notes
2026-06-03 09:44:45 +02:00
mika kuns
4aa4353d11
feat(worker): register report reader and service in DI
2026-06-03 09:43:48 +02:00
mika kuns
50d84f12c9
feat(worker): WeekReportService orchestrates generate + store
2026-06-03 09:42:21 +02:00
mika kuns
e2271b5a50
feat(worker): week report prompt builder (day-major pivot)
2026-06-03 09:40:57 +02:00
mika kuns
bec87b3d6f
feat(worker): ClaudeHistoryReader distills session logs
2026-06-03 09:37:40 +02:00
mika kuns
4cb7ad8dfa
feat(worker): report activity models and reader interface
2026-06-03 09:35:49 +02:00
mika kuns
992fbf0763
feat(data): add WeekReportRepository with tests
2026-06-03 09:34:03 +02:00
mika kuns
1d7b86dbef
feat(data): add DailyNoteRepository with tests
2026-06-03 09:32:08 +02:00
mika kuns
036586e736
feat(data): migration for daily notes and week reports
2026-06-03 09:28:50 +02:00
mika kuns
d9e5d2600b
feat(data): configure daily note + week report tables
2026-06-03 09:26:00 +02:00
mika kuns
10d86b4bd6
feat(data): add daily note + week report entities and report settings
2026-06-03 09:24:23 +02:00
mika kuns
869cf72abe
feat(ui): use a 24h TimePicker for prime schedule time entry
...
Release / release (push) Successful in 35s
Replace the free-text time TextBox (which silently reset bad input to 07:00)
with Avalonia's TimePicker (24-hour, 5-minute steps), making invalid times
impossible. Drops the now-unused TimeSpanToHhmmConverter.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 17:03:04 +02:00
mika kuns
f1715a34fa
fix(ui): manual modal dragging, maximize/restore icon, day-toggle style
...
- Drive modal title-bar dragging manually via pointer capture + Window.Position;
Avalonia 12's BeginMoveDrag and VisualRoot-as-Window cast no longer work
(VisualRoot is a TopLevelHost). Applies to ModalShell and WorktreeModalView.
- Toggle the MainWindow maximize button between maximize/restore glyphs on
WindowState changes (adds Icon.WinRestore geometry).
- Add the ToggleButton.day-toggle style used by the Prime weekday picker row.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 17:02:56 +02:00
mika kuns
26998f05ff
docs: describe recurring-weekday Prime schedule
2026-06-02 16:46:41 +02:00
mika kuns
7db8f213d8
feat(ui): replace prime date range with weekday toggle buttons
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 16:43:28 +02:00
mika kuns
37738e3c8f
feat(ui): drive prime schedule rows from weekday toggles
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 16:40:41 +02:00
mika kuns
81fd186fb2
feat(worker): map prime schedule weekday bitmask over the hub
2026-06-02 16:33:11 +02:00
mika kuns
3127930454
test(worker): adapt prime scheduler tests to weekday model
2026-06-02 16:33:02 +02:00
mika kuns
bed4255a5e
feat(worker): compute prime due-time from weekday bitmask
...
Also fixes PrimeScheduleRepository.ListAsync to sort client-side
(SQLite EF Core does not support TimeSpan in ORDER BY clauses).
2026-06-02 16:32:51 +02:00
mika kuns
dff06d9e35
feat(data): migrate prime schedules to days_of_week bitmask
2026-06-02 16:12:08 +02:00
mika kuns
0efad7a004
feat(data): persist weekday bitmask in prime schedule repo
2026-06-02 16:09:49 +02:00
mika kuns
eaf27e8b3a
feat(data): model Prime schedule as weekday bitmask
2026-06-02 16:09:32 +02:00
mika kuns
1cb5171fba
fix(worker): harden review re-run, timestamps, and queue affordance
...
- Clear ReviewFeedback only after a successful re-run so a failed/cancelled
run keeps it for a manual retry.
- Clear stale StartedAt/FinishedAt when rejecting a task back to the queue.
- Only non-planning standalone tasks gate on review (guard PlanningPhase).
- Hide "send to queue" for WaitingForReview tasks so review isn't bypassed.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 08:00:13 +02:00