Covers paywall redesign (new copy), batch update view,
and contribution fields added in this version.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AddSnapshotView: restore inputMode == .detailed guard for contribution section.
BatchUpdateView: show contribution field per row only when the source's
account is configured with inputMode == .detailed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BUG FIX: parseDecimal ignored locale mismatch between currency and device.
CurrencyFormatter.locale(for: "EUR") could return any EUR locale (e.g.
en_IE with decimal='.'), causing "408857,62" to be parsed as 40,885,762.
New CurrencyFormatter.parseUserInput() uses digit-position detection:
a separator followed by ≤2 digits at the end is decimal, otherwise
it is a thousands separator. Fully locale-independent.
FEATURE: Contribution field now always visible in AddSnapshotView.
Previously gated behind inputMode == .detailed; now a toggle available
regardless of account mode.
FEATURE: BatchUpdateView pre-fills each text field with the source's
current value so the user only edits what changed. Adds an optional
contribution field per source row, persisted on save.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replaces hardcoded '1.1.0' with $(MARKETING_VERSION) so the version
is always in sync with the project.pbxproj setting.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Onboarding: replace feature-focused slides with outcome-focused copy
("Know exactly where you stand", "5 minutes a month is enough", etc.)
- Paywall: non-scrollable layout, reduce from 8 to 4 key benefits,
remove transactional language (Unlock/Upgrade/Premium),
new CTA "Get Full Access", floating close button
- Add IAPService.paywallBenefits for the condensed 4-item paywall list
- Update CompactPaywallBanner and PremiumLockOverlay copy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove unnecessary optional binding for non-optional source.id
- Break up AllocationEvolutionChart body to help Swift type-checker
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the simple progress bar with a custom milestone bar showing
individual circles for each achievement, filled when unlocked with a
checkmark indicator.
Fixes#27
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a "Show Forecast" toggle in Settings > Long-Term Focus section.
When disabled, hides the forecast from the total portfolio card and
removes the prediction chart type from the charts tab.
Fixes#26
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a stacked area chart under the Allocation tab that displays how the
portfolio allocation percentages have changed across months.
Fixes#25
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds multi-source selection to the evolution chart source filter.
Users can now tap multiple sources to compare their evolution side by side,
regardless of which category they belong to.
Fixes#24
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When toggling Face ID off, users must now verify their PIN first.
Adds a PinVerifyView component for PIN verification.
Fixes#23
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shows a highlights card with the best and worst performing sources by
percentage change, displayed between the summary and reflection cards.
Fixes#22
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a source has been updated this cycle, shows the value change from the
previous snapshot in green (increase) or red (decrease).
Fixes#21
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds chevron buttons to navigate between months, similar to Lose It Log view.
The next month button is disabled when already at the current month.
Fixes#20
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shows a warning-colored banner when sources need updating, with an X to dismiss.
The existing Pending Updates section lower in the dashboard remains unchanged.
Fixes#18
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces confirmationDialog with a custom sheet for better title styling.
Increases share icon trailing padding in TotalValueCard.
Fixes#17
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>