"use client"; import { useEffect, useState } from "react"; import { ArrowUpCircle, X } from "lucide-react"; import Link from "next/link"; type VersionInfo = { current: string; latest: string | null; update_available: boolean; release_url?: string; }; export function UpdateBanner() { const [info, setInfo] = useState(null); const [dismissed, setDismissed] = useState(false); useEffect(() => { fetch("/api/update/check") .then((r) => r.json()) .then(setInfo) .catch(() => {}); }, []); if (!info?.update_available || dismissed) return null; return (
Update {info.latest} verfügbar (aktuell {info.current}). {info.release_url && ( Release-Notes )}
Jetzt aktualisieren
); }