import { t } from "@lingui/core/macro" import { memo, useMemo, useState } from "react" import { useStore } from "@nanostores/react" import { $alerts } from "@/lib/stores" import { BellIcon } from "lucide-react" import { cn } from "@/lib/utils" import { Button } from "@/components/ui/button" import { SystemRecord } from "@/types" import { AlertDialogContent } from "./alerts-sheet" import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet" export default memo(function AlertsButton({ system }: { system: SystemRecord }) { const [opened, setOpened] = useState(false) const alerts = useStore($alerts) const hasSystemAlert = alerts[system.id]?.size > 0 return useMemo( () => ( {opened && } ), [opened, hasSystemAlert] ) })