A YouTube search is `?yt=<term>` (+ `ytn` for a non-default count), so a reload, a link or Back/Forward reopens it. It runs by itself only where it costs no quota: the free page scrape, a search asked for in this document, or results still cached. An API search reopened any other way shows its term and waits for "Search YouTube again". Home's time budget is `hb`; the question's draw stays on the history entry. An e2e spec opens every page's bookmark in a fresh browser context; CLAUDE.md and docs/development.md name the module URL codec as the place for view state.
20 lines
719 B
TypeScript
20 lines
719 B
TypeScript
import { Home } from "lucide-react";
|
|
import { lazyWithPreload } from "../../lib/lazyWithPreload";
|
|
import type { ModuleDef } from "../../lib/moduleDef";
|
|
import { HOME_KEYS } from "../../lib/homeUrlState";
|
|
|
|
// This page as the shell and the navigation know it (lib/moduleDef). Its page loads lazily.
|
|
export const homeModule: ModuleDef = {
|
|
id: "home",
|
|
labelKey: "home.navLabel",
|
|
railKey: "nav.rail.home",
|
|
titleKey: "home.title",
|
|
icon: Home,
|
|
Page: lazyWithPreload(() => import("./Home")),
|
|
maxWidth: "80rem",
|
|
// Its time budget, a setting. Not the question's draw: the same question draws other cards once
|
|
// what you have watched moves on (lib/homeUrlState).
|
|
urlKeys: HOME_KEYS,
|
|
playsVideos: true,
|
|
};
|