mirror of
https://github.com/YuzuZensai/Termix.git
synced 2026-11-12 09:37:05 +00:00
* feat: add an auto or fixed columns picker to card grids * feat: add safe mode that only runs layout and theme plugins * docs: add simple layout to plugin table * fix: ask for local network access in the macOS app * feat: allow plugin registries on listed private hosts (#1705) * chore: add private registry hosts to the changelog * feat: use the proxy for plugin registry downloads * fix: allow changing connection origin on shared hosts * chore: update translations and plugin pins * chore: lint, format, and bump version to 26.10.5 --------- Co-authored-by: Lukas <80832688+0skater0@users.noreply.github.com>
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { isElectron } from "@/lib/electron";
|
|
import { ServerStatusProvider } from "@/lib/ServerStatusContext";
|
|
import { ComponentSlot } from "@/shell/ActionSlot";
|
|
import { OnboardingHost } from "@/onboarding/OnboardingHost";
|
|
import { DesktopUpdateToasts } from "@/shell/DesktopUpdateToasts";
|
|
import { SafeModeNotice } from "@/shell/SafeModeNotice";
|
|
import { TabPortals } from "@/shell/stage/TabPortals";
|
|
import { LayoutHost } from "@/shell/layout/LayoutHost";
|
|
import { ShellControllerProvider } from "@/shell/controller/ShellControllerProvider";
|
|
|
|
/**
|
|
* The signed-in app: the shell's state, the chosen layout, every tab's
|
|
* content and the pieces core always owns (overlays, onboarding).
|
|
*/
|
|
export function ShellRoot({
|
|
username,
|
|
onLogout,
|
|
}: {
|
|
username: string;
|
|
onLogout: (options?: { manual?: boolean }) => void;
|
|
}) {
|
|
return (
|
|
<ServerStatusProvider isAuthenticated={!!username}>
|
|
<ShellControllerProvider username={username} onLogout={onLogout}>
|
|
<LayoutHost />
|
|
<TabPortals />
|
|
<ComponentSlot slotId="shell.overlay" />
|
|
<OnboardingHost />
|
|
<SafeModeNotice />
|
|
{isElectron() && <DesktopUpdateToasts />}
|
|
</ShellControllerProvider>
|
|
</ServerStatusProvider>
|
|
);
|
|
}
|