Skip to content

Redesign the desktop app + rework recurring into a forward-looking view - #55

Merged
RaihanStark merged 6 commits into
mainfrom
redesign-desktop
Jul 12, 2026
Merged

Redesign the desktop app + rework recurring into a forward-looking view#55
RaihanStark merged 6 commits into
mainfrom
redesign-desktop

Conversation

@RaihanStark

Copy link
Copy Markdown
Owner

Summary

This branch ships the desktop redesign and, on top of it, a rework of the recurring feature around forward visibility.

Desktop redesign

  • New shell: labeled left sidebar with brand, New Transaction action, active highlight, utilities, and a live net-worth footer; the sidebar hides on the welcome screen (no document open) and returns when a file opens.
  • Design-system refresh across both themes (indigo accent, calmer money colors, softer corners) applied to every screen: Accounts, Transactions, Budget, Debts, Analytics, and all modals.

Recurring, forward-looking

  • The Recurring screen now leads with what the schedule means: MONTHLY BILLS / MONTHLY INCOME / NET PER MONTH / ACTIVE stat cards (all frequencies normalized to monthly) and a Next 30 days timeline bucketed into Overdue & due / This week / Later this month.
  • The Accounts overview gains an Upcoming card (due alert + next 14 days) that deep-links to Recurring.
  • Due entries are re-checked once a minute while the app runs (midnight rollover included) instead of only at file open; the prompt only reappears when something new becomes due, so "Later" actually defers.
  • Review-before-post semantics unchanged — nothing ever posts without confirmation.
  • New core APIs (UpcomingRecurring, MonthlyEquivalent, RecurringSummaryFor, RefreshToday) are non-mutating and additive; the debt flows that reuse recurring matching are untouched.

Housekeeping

  • Removed the iOS release job (unsigned .ipa nobody could install without weekly re-signing).

Testing

  • go build ./... && go vet ./... && go test ./... green (new core projection/summary tests, screen tests for the timeline/stats/Upcoming card, deep-link nav test, re-prompt policy test, sidebar-visibility test).
  • Screenshots regenerated from the shot harness and verified visually; docs and website guide updated.

…creens

A ground-up visual redesign of the desktop UI:

- Shell: the icon-only top toolbar and bottom status bar are replaced by a
  labeled left sidebar — brand, New Transaction action, icon+label nav with
  an active pill, Categories/Preferences/theme utilities, and a live
  net-worth footer card.
- Design system: indigo accent, emerald/rose money colors, deeper
  indigo-tinted dark palette, larger radii, slim pill progress bars, airier
  headers and stat cards.
- Modals: every dialog moved off Fyne's boxy stock dialogs onto a custom
  component.Modal (dimming scrim + rounded card); native file pickers stay.
- Accounts: card grid becomes grouped Assets/Liabilities tables with
  share-of-group bars and aligned balances; hero re-padded.
- Transactions: journal days become cards (grouping kept), one-line filter
  bar, cleaner summary cards, circular type chips.
- Budget: per-category traffic-light usage bars, overspent envelopes as red
  pills plus an alert banner, SPENT column without $0.00 noise, and a new
  cover-overspending flow (banner button + row menu) backed by a
  MoveAssigned store operation with tests.
- Shot harness: fixed a latent SetTheme race that crashed headless SVG
  rendering; FINANCY_SHOT_DARK=1 captures the dark palette. Screenshots
  regenerated; Makefile screenshot copy list fixed.

Desktop only — the mobile layout is unchanged.
…s, 30-day timeline, overview card, periodic due checks
The welcome screen has nothing to navigate; the sidebar reappears when a file opens.
The unsigned .ipa wasn't installable without weekly re-signing, so it cost a macOS runner per release for an artifact almost nobody could use.
@RaihanStark
RaihanStark merged commit 9a22028 into main Jul 12, 2026
3 checks passed
@RaihanStark
RaihanStark deleted the redesign-desktop branch July 12, 2026 12:59
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.

1 participant