"use client"; import { useState, useEffect } from "react"; import { useTranslations } from "next-intl"; import { AlertTriangle, X } from "lucide-react"; export const WrapperScriptWarning = () => { const [isVisible, setIsVisible] = useState(false); const [isLoading, setIsLoading] = useState(true); const t = useTranslations(); useEffect(() => { const dismissed = localStorage.getItem("wrapper-warning-dismissed"); if (dismissed === "true") { setIsLoading(false); return; } checkWrapperScriptModification(); }, []); const checkWrapperScriptModification = async () => { try { const response = await fetch("/api/system/wrapper-check"); if (response.ok) { const data = await response.json(); setIsVisible(data.modified); } } catch (error) { console.error("Failed to check wrapper script:", error); } finally { setIsLoading(false); } }; const dismissWarning = () => { setIsVisible(false); localStorage.setItem("wrapper-warning-dismissed", "true"); }; if (isLoading || !isVisible) { return null; } return (
{t("warnings.wrapperScriptModifiedDescription")}