Skip to content

multi select#713

Merged
sadespresso merged 29 commits intointernalfrom
develop
Apr 26, 2026
Merged

multi select#713
sadespresso merged 29 commits intointernalfrom
develop

Conversation

@sadespresso
Copy link
Copy Markdown
Collaborator

No description provided.

sadespresso and others added 29 commits March 26, 2026 01:26
Fixes #697. The widget was using .subList(0, 2) which returns the
same first two buttons as TwoEntry. Changed to .takeLast(2) to
correctly show the last two buttons from the user's button order.
- New Dart sync service (WidgetSummarySync) calculates current month
  income/expense totals and pushes to native widgets via home_widget
- Android: Jetpack Glance widget with Material You dynamic theming,
  exact Material Symbols icon glyphs, horizontal-only resize
- iOS: WidgetKit SwiftUI widget (.systemSmall + .systemMedium) using
  existing asset catalog icons with template rendering
- Reactive to: transaction changes, currency changes, exchange rate
  updates, and locale changes
- Filters out future and pending transactions
- Expense shown as absolute value (no minus sign)
- Also fixes currency change reactivity in StatsTab, TotalBalance,
  and MostSpendingCategory widgets

Closes #699
fix: TwoEntryLast widget shows last 2 buttons instead of first 2
Adds a summary home screen widget displaying the current month's total income and expenses — available on both iOS and Android.
- Track current locale via _currentLocale static field
- Add _pluralCategory() implementing CLDR plural rules for 14 languages
- When getTransalation() receives a num value, resolve CLDR category
  and look for suffixed key (key.one, key.few, key.many) before fallback
- Add plural form keys for transaction counts in 11 language files
- Update l10n integrity test to handle plural suffix keys
The code used `preferences.transactions.listTile.transactionListTileShowExternalSource`
but the localization files use `preferences.transactions.listTile.showExternalSource`.

Fixes #708
Move example transaction generation to `didChangeDependencies()` so
they're created once and reused across rebuilds. Use `Random(42)` with
a fixed seed to produce deterministic dates.

Previously, toggling any setting called `setState()` which regenerated
the preview transactions with new random dates, causing the displayed
times to jump.

Fixes #709
…ates

fix: stabilize preview transaction dates in settings
…nal-source

fix: use correct localization key for external source setting
[FEAT] Add CLDR plural form support to localization system
@sadespresso sadespresso merged commit 7f4dc84 into internal Apr 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants