import LanguageSwitcher from "@components/LanguageSwitcher.tsx"; import { Button } from "@components/UI/Button.tsx"; import { Separator } from "@components/UI/Separator.tsx"; import { Heading } from "@components/UI/Typography/Heading.tsx"; import { Subtle } from "@components/UI/Typography/Subtle.tsx"; import { useAppStore, useDeviceStore, useNodeDBStore } from "@core/stores"; import { ListPlusIcon, PlusIcon, UsersIcon } from "lucide-react"; import { useMemo } from "react"; import { useTranslation } from "react-i18next"; export const Dashboard = () => { const { t } = useTranslation("dashboard"); const { setConnectDialogOpen, setSelectedDevice } = useAppStore(); const { getDevices } = useDeviceStore(); const { getNodeDB } = useNodeDBStore(); const devices = useMemo(() => getDevices(), [getDevices]); return (
{t("dashboard.title")} {t("dashboard.description")}
{devices.length ? (
    {devices.map((device) => { const nodeDB = getNodeDB(device.id); if (!nodeDB) { return undefined; } return (
  • ); })}
) : (
{t("dashboard.noDevicesTitle")} {t("dashboard.noDevicesDescription")}
)}
); };