import { useState } from "react"; import { useTranslation } from "react-i18next"; import { Button } from "@/components/Button"; import { useClientVersion } from "@/modules/auto-update/ClientVersionContext"; import { cn } from "@/lib/cn"; // Shown only when management has auto-update enabled (enforced=true) and the // daemon has not yet started the installer (installing=false). The // download-only branch (enforced=false) routes the user to GitHub via the // tray menu instead; the force-install branch (installing=true) takes over // with the full-screen UpdatingOverlay. export const UpdateAvailableBanner = () => { const { t } = useTranslation(); const { updateVersion, enforced, installing, triggerUpdate } = useClientVersion(); const [dismissed, setDismissed] = useState(false); if (import.meta.env.DEV) return null; if (!updateVersion || !enforced || installing || dismissed) return null; return (

{t("update.banner.message", { version: updateVersion })}

); }; export default UpdateAvailableBanner;