import { DeviceWrapper } from "@app/DeviceWrapper.tsx"; import { CommandPalette } from "@components/CommandPalette/index.tsx"; import { DialogManager } from "@components/Dialog/DialogManager.tsx"; import { NewDeviceDialog } from "@components/Dialog/NewDeviceDialog.tsx"; import { KeyBackupReminder } from "@components/KeyBackupReminder.tsx"; import { Toaster } from "@components/Toaster.tsx"; import { ErrorPage } from "@components/UI/ErrorPage.tsx"; import Footer from "@components/UI/Footer.tsx"; import { useTheme } from "@core/hooks/useTheme.ts"; import { SidebarProvider, useAppStore, useDeviceStore } from "@core/stores"; import { Dashboard } from "@pages/Dashboard/index.tsx"; import { Outlet } from "@tanstack/react-router"; import { TanStackRouterDevtools } from "@tanstack/react-router-devtools"; import { ErrorBoundary } from "react-error-boundary"; import { MapProvider } from "react-map-gl/maplibre"; export function App() { const { getDevice } = useDeviceStore(); const { selectedDeviceId, setConnectDialogOpen, connectDialogOpen } = useAppStore(); const device = getDevice(selectedDeviceId); // Sets up light/dark mode based on user preferences or system settings useTheme(); return ( { setConnectDialogOpen(open); }} />
{device ? (
) : ( <>
); }