commit 6db28b23ef21ae9d06daf53cdfb15dc19f27e092 Author: Felix Kling Date: Fri Sep 19 15:20:23 2025 +0200 feat: Embed user profile and settings into Svelte app (#6675) Like similar PRs, this one embeds the React user profile and settings pages into the Svelte app. The logic for rendering the sidenav can be found here: https://sourcegraph.sourcegraph.com/github.com/sourcegraph/sourcegraph@570d8454cb1522a4feb1d46e28ad5d9f686041da/-/blob/client/web/src/user/settings/sidebaritems.ts The logic for rendering the routes is here: - https://sourcegraph.sourcegraph.com/github.com/sourcegraph/sourcegraph@570d8454cb1522a4feb1d46e28ad5d9f686041da/-/blob/client/web/src/user/area/routes.tsx - https://sourcegraph.sourcegraph.com/github.com/sourcegraph/sourcegraph@570d8454cb1522a4feb1d46e28ad5d9f686041da/-/blob/client/web/src/user/settings/routes.tsx ### Additional changes - SidebarNavigation.svelte gets support for menu "groups" - Vendors in `@reach/dialog` to fix an issue where it would add `aria-hidden="true"` to the page and cause the dialog to not be visible to screen readers. - Implements the user profile page in Svelte instead of embedding React. Also changes the UI of the profile page (will add a screenshot in a bit). - Added testing utils for user pages - A lot of tests have been scaffolded by Amp and I cleaned them up. But I've started with this work quite a while ago and a lot of the first tests are maybe more verbose than they have to be. I'll do another pass to see if I can simplify/reduce them. TODO: - [x] `/user/*` -> `/users/:name/*` redirect - [x] `/settings/` -> `/users/:name/settings/*` redirect - [x] Fullscreen mode for token callback page - [x] Add legacy routes/redirects - [x] Add `/users/:username/batch-changes - [x] Add tests for all routes ## Test plan Manual testing