Skip to content

Comments

refactor: solid leaderboards (@fehmer)#7485

Open
fehmer wants to merge 43 commits intomasterfrom
feature/solid-leaderboards
Open

refactor: solid leaderboards (@fehmer)#7485
fehmer wants to merge 43 commits intomasterfrom
feature/solid-leaderboards

Conversation

@fehmer
Copy link
Member

@fehmer fehmer commented Feb 9, 2026

No description provided.

@monkeytypegeorge monkeytypegeorge added the frontend User interface or web stuff label Feb 9, 2026
@fehmer fehmer added the force-ci Force CI to run on draft PRs label Feb 9, 2026
@fehmer fehmer force-pushed the feature/solid-leaderboards branch from 1498b5e to 2faf95b Compare February 10, 2026 12:22
@fehmer fehmer force-pushed the feature/solid-leaderboards branch from 532da70 to 471ed1a Compare February 10, 2026 22:29
@github-actions
Copy link
Contributor

Continuous integration check(s) failed. Please review the failing check's logs and make the necessary changes.

@github-actions github-actions bot added the waiting for update Pull requests or issues that require changes/comments before continuing label Feb 14, 2026
@github-actions github-actions bot removed the waiting for update Pull requests or issues that require changes/comments before continuing label Feb 14, 2026
@fehmer fehmer marked this pull request as ready for review February 14, 2026 21:31
@github-actions github-actions bot added the waiting for review Pull requests that require a review before continuing label Feb 14, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the legacy Leaderboards page implementation to a SolidJS-based page composed of smaller components, backed by @tanstack/solid-query queries and new URL-param handling.

Changes:

  • Replaces the old imperative pages/leaderboards.ts + HTML/CSS with a Solid LeaderboardPage and componentized UI.
  • Adds Solid Query-based leaderboard/rank fetching with a typed Selection model and query keys.
  • Introduces a global userId signal (fed by Firebase auth state) for selection/highlighting and logged-in UI.

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
frontend/src/ts/utils/format.ts Narrows Formatting’s config dependency + exposes typingSpeedUnit getter.
frontend/src/ts/signals/core.ts Adds global userId signal + isLoggedIn memo.
frontend/src/ts/queries/leaderboards.ts New Solid Query options + selection schema for leaderboard requests.
frontend/src/ts/pages/page.ts Exports UrlParamsSchema type for reuse.
frontend/src/ts/pages/leaderboards.ts Removes legacy leaderboards page implementation.
frontend/src/ts/modals/simple-modals.ts Removes legacy leaderboard “go to page” modal wiring.
frontend/src/ts/modals/simple-modals-base.ts Removes lbGoToPage popup key/registry entry.
frontend/src/ts/index.ts Stops importing legacy leaderboards event handler.
frontend/src/ts/firebase.ts Updates auth callback to publish userId into signals.
frontend/src/ts/event-handlers/leaderboards.ts Removes legacy DOM event handler for go-to-page popup.
frontend/src/ts/controllers/page-controller.ts Points leaderboards route to new Solid skeleton page.
frontend/src/ts/components/ui/table/DataTable.tsx Adds optional class prop + relaxes generic defaults.
frontend/src/ts/components/pages/leaderboard/UserRank.tsx New “user rank” panel for logged-in users.
frontend/src/ts/components/pages/leaderboard/Title.tsx New title/subtitle rendering (daily/weekly date ranges).
frontend/src/ts/components/pages/leaderboard/TableNavigation.tsx New pagination controls + next reset/update countdown.
frontend/src/ts/components/pages/leaderboard/Table.tsx New leaderboard table using DataTable column defs.
frontend/src/ts/components/pages/leaderboard/Sidebar.tsx New selection sidebar (type/mode/language/friends-only).
frontend/src/ts/components/pages/leaderboard/LeaderboardPage.tsx New Solid leaderboards page orchestrating queries + URL params.
frontend/src/ts/components/mount.tsx Registers leaderboardpage mount component.
frontend/src/styles/media-queries-yellow.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/media-queries-purple.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/media-queries-orange.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/media-queries-green.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/media-queries-gray.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/media-queries-brown.scss Removes legacy leaderboard responsive overrides.
frontend/src/styles/leaderboards.scss Removes legacy leaderboards stylesheet.
frontend/src/styles/index.scss Stops importing removed leaderboards.scss.
frontend/src/index.html Replaces leaderboards HTML load with a Solid mount.
frontend/src/html/pages/leaderboards.html Removes legacy leaderboards static HTML page.
frontend/tests/components/common/AsyncContent.spec.tsx Tightens tests to ensure preloader disappears after resolve.

@github-actions github-actions bot removed the waiting for review Pull requests that require a review before continuing label Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

force-ci Force CI to run on draft PRs frontend User interface or web stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants