fix(#23,#24,#27): theme preference wiring, dd MMM yyyy dates, calendar icon in DateField #38

Merged
admin merged 3 commits from fix/23-24-27-ui-polish into main 2026-06-28 14:32:57 +00:00
Owner

Summary

  • fix(#23): wire AppTheme preference in MainActivity — Light/Dark/System now takes effect live and survives process death
  • fix(#24): format user-visible dates as dd MMM yyyy (localized) via new dateFormatter() helper in ui/util/StringUtil.kt
  • fix(#27): replace the TextButton("Pick") trailing slot in DateField with an IconButton + Icons.Outlined.CalendarMonth; field is also tappable

Test plan

  • ./gradlew :app:compileDebugKotlin clean
  • ./gradlew :app:assembleDebug clean
  • Manual: open Settings → change theme → app re-themes immediately without restart; force-kill + relaunch → theme persists
  • Manual: open Settings → choose System → toggle system dark mode → app follows
  • Manual: dates in Home recent-expense list, ExpenseList rows, Recurring rows, and the export range dialog now read e.g. 28 Jun 2026 (or locale equivalent)
  • Manual: CSV export filename still uses ledgerr-export-YYYY-MM-DD.csv (ISO, unchanged)
  • Manual: DateField shows a calendar icon at the far right; tapping the icon or the field opens the date picker

Closes #23
Closes #24
Closes #27

## Summary - fix(#23): wire `AppTheme` preference in `MainActivity` — Light/Dark/System now takes effect live and survives process death - fix(#24): format user-visible dates as `dd MMM yyyy` (localized) via new `dateFormatter()` helper in `ui/util/StringUtil.kt` - fix(#27): replace the `TextButton("Pick")` trailing slot in `DateField` with an `IconButton` + `Icons.Outlined.CalendarMonth`; field is also tappable ## Test plan - [x] `./gradlew :app:compileDebugKotlin` clean - [x] `./gradlew :app:assembleDebug` clean - [ ] Manual: open Settings → change theme → app re-themes immediately without restart; force-kill + relaunch → theme persists - [ ] Manual: open Settings → choose System → toggle system dark mode → app follows - [ ] Manual: dates in Home recent-expense list, ExpenseList rows, Recurring rows, and the export range dialog now read e.g. `28 Jun 2026` (or locale equivalent) - [ ] Manual: CSV export filename still uses `ledgerr-export-YYYY-MM-DD.csv` (ISO, unchanged) - [ ] Manual: DateField shows a calendar icon at the far right; tapping the icon or the field opens the date picker Closes #23 Closes #24 Closes #27
admin added 3 commits 2026-06-28 14:31:13 +00:00
admin merged commit d7d49fe6a9 into main 2026-06-28 14:32:57 +00:00
admin deleted branch fix/23-24-27-ui-polish 2026-06-28 15:01:01 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/ledgerr#38