Files
temetro/frontend/app/(app)/layout.tsx
T
Khalid Abdi 403e0e38e9 frontend: runtime backend URL (LAN), voice dictation, version + update UI
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>
2026-06-26 21:34:30 +03:00

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>
);
}