"use client"; import { useState } from "react"; import { Settings2 } from "lucide-react"; import { useI18n } from "./I18nProvider"; import { useSiteSettings } from "./SiteSettingsProvider"; import { api } from "@/lib/client-api"; import type { SiteSettings } from "@/shared/site-settings"; export function ModeratorSettings() { const { t } = useI18n(); const { settings, updateSettings } = useSiteSettings(); const [busy, setBusy] = useState(false); const [error, setError] = useState(""); const [saved, setSaved] = useState(false); async function toggle() { setBusy(true); setError(""); setSaved(false); try { const next = await api( "moderation/settings", { betaBadgeEnabled: !settings.betaBadgeEnabled, }, "PATCH", ); updateSettings(next); setSaved(true); } catch (e) { setError((e as Error).message); } finally { setBusy(false); } } return (

{t("Beta badge")}

{t("Show BETA next to the MineGeo logo throughout the site.")}

{settings.betaBadgeEnabled ? t("Visible to all players") : t("Hidden for all players")}

{error && (

{t(error)}

)} {saved && (

{t("Setting saved. Open pages update within 30 seconds.")}

)}
); }