Skip to content

feat: implement last-played home and monthly activity calendar - #100

Merged
fraa2a merged 3 commits into
mainfrom
feat/frontend-home
Oct 2, 2026
Merged

fraa2a merged 3 commits into
mainfrom
feat/frontend-home

Conversation

@fraa2a

@fraa2a fraa2a commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

What changed?

Replaces the summary-only Home with a personal game dashboard based on the supplied visual reference. The last-played banner shows the date, artwork (including custom banners), name, short description, total playtime, and Continue playing / Info / Settings actions. Shared launch controls retain cancel, stop, and Steam account-switch confirmation behavior.

Below the banner, Home shows other recently played games, download queue status, and a monthly activity calendar. Calendar weeks start on Monday, slots outside the month stay blank, and months expand to six rows when needed. Color intensity increases continuously from gray at zero hours to the full accent color at eight hours, without hatching or fixed ranges. The legend uses the same continuous gradient. Includes month navigation, dates, tooltips, a legend, totals, and active-day count.

Adds the read-only get_playtime_activity command, which aggregates existing persisted sessions in Rust using validated local-day boundaries. Sessions crossing midnight and daylight saving changes are split correctly. Active sessions count through request time. No database migration or new dependencies. Enables Tab navigation for Home actions and adds loading, empty, cached/offline, and retryable error states.

Validation

  • pnpm check, pnpm lint, and pnpm build pass.
  • pnpm test:home: 4 tests pass, also wired into CI.
  • cargo fmt --all -- --check and Clippy with -D warnings pass.
  • cargo test --all-features --locked: 294 pass, 5 existing ignored tests.
  • Release manifest test passes.
  • Browser smoke checks with fixtures: launch/stop, game settings, game info, Steam account confirmation, calendar navigation, empty/error/retry states, Tab navigation, light/dark themes, and widths from 600 to 1440 pixels.
  • Changes are scoped to Home and its required data/UI support.
  • Actual Steam/manual-game launches still need Windows and Linux in-app verification. PR remains a draft.

UI changes

Screenshots use fixture data. Achievements and progress comparisons are excluded.

Dark theme with a previous month's activity

Home dark

Light theme with the current month

Home light

@fraa2a fraa2a changed the title feat: develop launcher home frontend feat: implement last-played home and monthly activity calendar Oct 2, 2026
@fraa2a
fraa2a marked this pull request as ready for review October 2, 2026 19:54
@fraa2a
fraa2a merged commit ef7a829 into main Oct 2, 2026
4 checks passed
@fraa2a
fraa2a deleted the feat/frontend-home branch October 2, 2026 19:54
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