mirror of
https://github.com/temetro/temetro.git
synced 2026-08-09 18:20:00 +00:00
403e0e38e9
Resolve the backend URL from the current host at runtime (lib/backend-url.ts) so one build works on localhost and any clinic LAN IP without a rebuild; used by the API client, auth client, and socket. Wire the AI-chat mic to the Web Speech API with graceful fallback. Add a Settings "About & updates" panel (current/latest version, update command, shareable network address) and an optional dismissible update banner. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 lines
868 B
TypeScript
28 lines
868 B
TypeScript
import { AppAuthGuard } from "@/components/auth/app-auth-guard";
|
|
import { CommandPaletteProvider } from "@/components/command-palette";
|
|
import { DashboardSidebar } from "@/components/sidebar-02/app-sidebar";
|
|
import { MobileSidebarTrigger } from "@/components/sidebar-02/mobile-sidebar-trigger";
|
|
import { SidebarProvider } from "@/components/ui/sidebar";
|
|
import { UpdateBanner } from "@/components/update-banner";
|
|
|
|
export default function AppLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<AppAuthGuard>
|
|
<CommandPaletteProvider>
|
|
<SidebarProvider>
|
|
<div className="relative flex h-dvh w-full">
|
|
<DashboardSidebar />
|
|
<MobileSidebarTrigger />
|
|
{children}
|
|
<UpdateBanner />
|
|
</div>
|
|
</SidebarProvider>
|
|
</CommandPaletteProvider>
|
|
</AppAuthGuard>
|
|
);
|
|
}
|