import { Link } from "@tanstack/react-router"; import { ArrowLeftIcon } from "@phosphor-icons/react"; import type { ReactNode } from "react"; import type { SessionUser } from "@/lib/api"; import { AppSidebar } from "@/components/AppSidebar"; import { cn } from "@/lib/utils"; interface AppShellProps { user: SessionUser; title: string; description?: string; backTo?: { to: string; label: string }; className?: string; children: ReactNode; } export function AppShell({ user, title, description, backTo, className, children, }: AppShellProps) { return (
{backTo && ( {backTo.label} )}

{title}

{description && (

{description}

)}
{children}
); } interface SettingsSectionProps { title: string; description?: string; action?: ReactNode; children: ReactNode; } export function SettingsSection({ title, description, action, children }: SettingsSectionProps) { return (

{title}

{description && (

{description}

)}
{action}
{children}
); } interface SettingsRowProps { label: string; description?: string; control: ReactNode; htmlFor?: string; comingSoon?: boolean; } export function SettingsRow({ label, description, control, htmlFor, comingSoon, }: SettingsRowProps) { return (
{control}
); }