fix(nav): a page settling keeps a reload's overlay entry; an old entry's sub-view goes to its own (review round 4)
- useUrlMirror: a change before the user has done anything since the load is the page settling (the rail stepping off a playlist deleted since, Files off a folder gone), not another view: the reload mark stays, and the player that reopens takes its entry over — one Back closes it, as before. - useHistorySubview: an entry an older build wrote is a module's only when its _sub is the view the address names under that module's key (the card's push kept the season's `v` beside its `m`). - Playlists: the rail's default selection and the page's "the rail moved there" read one helper. - moduleUrl contract: writer literals in a choice's branches are scanned too; the sub-view census walks type arguments of any depth and refuses an aliased import. - A stale comment on the nav press over a live search.
This commit is contained in:
@@ -65,6 +65,7 @@ import NavGrid from "../../components/ui/NavGrid";
|
||||
import { PageToolbar } from "../../components/ui/PageShell";
|
||||
import { usePlaylistActions } from "./usePlaylistActions";
|
||||
import { usePlaylists } from "./playlistsContext";
|
||||
import { railDefaultId } from "./playlistsInit";
|
||||
import { usePref } from "../../lib/usePref";
|
||||
import { navItemAttrs } from "../../lib/listNav";
|
||||
import { ColumnHead } from "../../components/ui/tableHeader";
|
||||
@@ -593,7 +594,7 @@ function PlaylistDetail() {
|
||||
const linkedOver = linkedId;
|
||||
const linkedOutOfReach =
|
||||
listQuery.data != null && !listQuery.data.some((p) => p.id === linkedOver);
|
||||
const railMovedTo = listQuery.data?.[0]?.id ?? null;
|
||||
const railMovedTo = railDefaultId(listQuery.data);
|
||||
const linkedListIn =
|
||||
linkedOutOfReach ||
|
||||
(detail != null && (detail.items.length === 0 || items.length > 0)) ||
|
||||
|
||||
Reference in New Issue
Block a user