ae51276a03
Web console - Pairing/Library/Stats refactored into self-contained subsections that each own their own queries + mutations; a shared slot-based layout (view.tsx) is filled by the live page (containers) and Storybook (pure cards + fixtures) so the layout can't drift. - All paired devices in one list on Pairing with a protocol column (punktfunk/1 + Moonlight), routing each unpair to the right endpoint; the redundant Clients page is removed. - Library: overview grid split from the add/edit form into separate files. - Login screen links out to the docs. Docs - "Console login password" section on every host page (apt/RPM/Bazzite/SteamOS/Windows) plus a new "Forgot your Password?" troubleshooting page, linked from the login screen. - Console served as HTTP/1.1 over TLS (drop the unusable HTTP/3 advertising) across the Bun entry, launchers, systemd units, and packaging. Tooling - Biome now respects .gitignore (stops linting generated code), config migrated to 2.5.1; all lint issues fixed cleanly. Also includes this branch's in-progress host, Apple client, packaging, and CI changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
966 B
TypeScript
24 lines
966 B
TypeScript
import type { FC } from "react";
|
|
import { useLocale } from "@/lib/i18n";
|
|
import { MoonlightPairingSection } from "./MoonlightPairingCard";
|
|
import { NativePairingSection } from "./NativePairingCard";
|
|
import { PairedDevicesSection } from "./PairedDevices";
|
|
import { PendingDevicesSection } from "./PendingDevices";
|
|
import { PairingView } from "./view";
|
|
|
|
// Pairing composes four independent, self-contained sub-cards. Each subsection owns its own
|
|
// queries + mutations (in its own file, next to its presentational card). The arrangement lives in
|
|
// PairingView so the live page (these containers) and the Storybook story (pure cards + mock state)
|
|
// fill the same slots — the layout is defined once and can't drift.
|
|
export const SectionPairing: FC = () => {
|
|
useLocale();
|
|
return (
|
|
<PairingView
|
|
pending={<PendingDevicesSection />}
|
|
native={<NativePairingSection />}
|
|
moonlight={<MoonlightPairingSection />}
|
|
paired={<PairedDevicesSection />}
|
|
/>
|
|
);
|
|
};
|