Skip to content

refactor: solid account settings (@fehmer)#8090

Open
fehmer wants to merge 26 commits into
masterfrom
feature/solid-account-settings
Open

refactor: solid account settings (@fehmer)#8090
fehmer wants to merge 26 commits into
masterfrom
feature/solid-account-settings

Conversation

@fehmer

@fehmer fehmer commented Jun 12, 2026

Copy link
Copy Markdown
Member

No description provided.

@monkeytypegeorge monkeytypegeorge added the frontend User interface or web stuff label Jun 12, 2026
@fehmer fehmer marked this pull request as ready for review June 14, 2026 11:58
@fehmer fehmer added the force-ci Force CI to run on draft PRs label Jun 14, 2026
@github-actions github-actions Bot added the waiting for review Pull requests that require a review before continuing label Jun 14, 2026
@fehmer fehmer marked this pull request as draft June 14, 2026 11:58
@github-actions github-actions Bot removed the waiting for review Pull requests that require a review before continuing label Jun 14, 2026
@Miodec Miodec requested a review from Copilot June 14, 2026 15:32
@github-actions github-actions Bot added the waiting for review Pull requests that require a review before continuing label Jun 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Refactors Account Settings frontend from legacy DOM/page code to SolidJS components + URL-param driven tab state, and centralizes the Setting UI component for reuse.

Changes:

  • Replace legacy /account-settings page implementation with Solid AccountSettingsPage + per-tab components + states/account-settings URL syncing.
  • Introduce collections/ape-keys (tanstack/solid-db) and new Ape Keys tab UI.
  • Refactor shared Setting component into components/common/Setting and update Settings page/custom settings to import it.

Reviewed changes

Copilot reviewed 48 out of 48 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
frontend/src/ts/states/leaderboard-selection.ts Rename URL-param reader for clarity (readLeaderboardGetParameters).
frontend/src/ts/states/account-settings.ts New Solid state for account settings tabs + URL param sync + ape key denial state.
frontend/src/ts/pages/account-settings.ts Deleted legacy account-settings page controller.
frontend/src/ts/controllers/page-controller.ts Route accountSettings via solidPage + hook URL params into new state.
frontend/src/ts/components/ui/table/DataTable.tsx Attempt to improve table reactivity by memoizing data/table + adjust default row id.
frontend/src/ts/components/pages/settings/SettingsPage.tsx Switch Setting import to shared common component.
frontend/src/ts/components/pages/settings/Setting.tsx Deleted old Settings-only Setting component.
frontend/src/ts/components/pages/settings/custom-setting/Theme.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/Tags.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/SoundVolume.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/Presets.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/PaceCaret.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/MinSpeed.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/MinBurst.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/MinAcc.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/MaxLineWidth.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/Layout.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/Language.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/KeymapSize.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/KeymapLayout.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/ImportExport.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/Funbox.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/FontFamily.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/CustomPolyglot.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/CustomLayoutfluid.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/CustomBackgroundFilters.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/CustomBackground.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/AutoSwitchTheme.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/settings/custom-setting/AnimationFpsLimit.tsx Switch Setting import to common component.
frontend/src/ts/components/pages/connections/PendingRequests.tsx Stop cloning data array at call site (relies on DataTable behavior).
frontend/src/ts/components/pages/account-settings/utils.tsx New Section wrapper around common Setting.
frontend/src/ts/components/pages/account-settings/DangerZoneTab.tsx New Solid Danger Zone tab UI.
frontend/src/ts/components/pages/account-settings/BlockedUsersTab.tsx New Solid Blocked Users tab UI.
frontend/src/ts/components/pages/account-settings/AuthenticationTab.tsx New Solid Authentication tab UI.
frontend/src/ts/components/pages/account-settings/ApeKeysTab.tsx New Solid Ape Keys tab UI (uses new collection + DataTable).
frontend/src/ts/components/pages/account-settings/AccountTab.tsx New Solid Account tab UI (Discord link + other actions).
frontend/src/ts/components/pages/account-settings/AccountSettingsPage.tsx New Solid Account Settings page layout + sidebar tab switching.
frontend/src/ts/components/mount.tsx Register new account settings page component for mounting.
frontend/src/ts/components/modals/account-settings/UpdateNameModal.tsx Adjust snapshot source + remove reload-after behavior.
frontend/src/ts/components/modals/account-settings/RemoveAuthMethodModal.tsx Remove callback/reload-after behavior.
frontend/src/ts/components/modals/account-settings/AddPasswordAuthModal.tsx Delegate password-provider add flow to addAuthProvider.
frontend/src/ts/components/common/Setting.tsx New shared Setting component (moved from settings page folder).
frontend/src/ts/collections/ape-keys.ts New Solid DB collection + optimistic actions for Ape Keys.
frontend/src/ts/auth.tsx Add reactive auth-method helpers + refactor provider linking + icon metadata.
frontend/src/styles/index.scss Remove legacy account-settings stylesheet import.
frontend/src/styles/account-settings.scss Deleted legacy account-settings SCSS.
frontend/src/index.html Replace <load ...account-settings.html> with mountpoint for Solid page.
frontend/src/html/pages/account-settings.html Deleted legacy account-settings HTML page.
Comments suppressed due to low confidence (1)

frontend/src/ts/components/pages/account-settings/BlockedUsersTab.tsx:27

  • TSX syntax error: JSX fragments must be passed as expressions (with {}), e.g. description={<></>}.

Comment thread frontend/src/ts/components/pages/account-settings/AccountTab.tsx Outdated
Comment thread frontend/src/ts/components/pages/account-settings/AccountSettingsPage.tsx Outdated
Comment thread frontend/src/ts/components/pages/account-settings/utils.tsx
Comment thread frontend/src/ts/components/ui/table/DataTable.tsx
Comment on lines +106 to +107
// Ensure reactivity: always produce a fresh array reference
const data = createMemo(() => props.data.map((it) => ({ ...it })));

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

nope

Comment thread frontend/src/ts/auth.tsx Outdated
Comment thread frontend/src/ts/auth.tsx
Comment thread frontend/src/ts/auth.tsx Outdated
Comment thread frontend/src/ts/collections/ape-keys.ts Outdated
Comment thread frontend/src/ts/components/modals/account-settings/UpdateNameModal.tsx Outdated
@github-actions github-actions Bot removed the waiting for review Pull requests that require a review before continuing label Jun 14, 2026
@fehmer fehmer marked this pull request as ready for review June 14, 2026 18:05
@github-actions github-actions Bot added the waiting for review Pull requests that require a review before continuing label Jun 14, 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 waiting for review Pull requests that require a review before continuing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants