feat(nav): Settings as a page module (Design B)
Move Settings out of the right-side overlay into a left-nav page (page='settings'), so it opens where you're already looking — no cross-screen mouse travel. The Settings rail item now sets the page (with active highlight) instead of opening a dialog; the panel is refactored to an in-flow .glass card (keeps the frosted look over the ambient backdrop), with the page title shown in the header. Removed the overlay + Esc/backdrop close path.
This commit is contained in:
parent
b82016c818
commit
c5330e02f5
5 changed files with 71 additions and 102 deletions
|
|
@ -78,11 +78,13 @@ export function hasFilterParams(params: URLSearchParams): boolean {
|
|||
return KEYS.some((k) => params.has(k));
|
||||
}
|
||||
|
||||
export type Page = "feed" | "channels" | "stats" | "playlists";
|
||||
export type Page = "feed" | "channels" | "stats" | "playlists" | "settings";
|
||||
|
||||
export function readPage(): Page {
|
||||
const p = new URLSearchParams(window.location.search).get("page");
|
||||
return p === "channels" || p === "stats" || p === "playlists" ? p : "feed";
|
||||
return p === "channels" || p === "stats" || p === "playlists" || p === "settings"
|
||||
? p
|
||||
: "feed";
|
||||
}
|
||||
|
||||
/** Build a shareable absolute URL that reproduces the current filters (+ page). Used by the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue