"use client"; import { useTranslations } from "next-intl"; import { useState } from "react"; import { alertUser, disconnectUser, executeCommand, forwardUser, giveBadge, giveCredits, giveDiamonds, giveDuckets, hotelAlert, sendGift, setMotto, setRank, updateCatalog, updateNavigator, updateWordFilter, } from "@/actions/commandocentrum"; import { Button } from "@/components/ui/button"; import { useServerAction } from "@/hooks/use-server-action"; const RCON_ERROR = "RCON command failed. Is the emulator running?"; export function CommandocentrumControls() { const t = useTranslations("pages.admin.commandocentrum"); const { run, isPending } = useServerAction(); const [hotelMessage, setHotelMessage] = useState(""); const [disconnect, setDisconnect] = useState({ userId: "", username: "" }); const [alert, setAlert] = useState({ userId: "", message: "" }); const [forward, setForward] = useState({ userId: "", roomId: "" }); const [credits, setCredits] = useState({ userId: "", credits: "" }); const [duckets, setDuckets] = useState({ userId: "", amount: "" }); const [diamonds, setDiamonds] = useState({ userId: "", amount: "" }); const [badge, setBadge] = useState({ userId: "", badge: "" }); const [motto, setMottoForm] = useState({ userId: "", motto: "" }); const [rank, setRankForm] = useState({ userId: "", rank: "" }); const [command, setCommand] = useState({ userId: "", command: "" }); const [gift, setGift] = useState({ userId: "", itemId: "", message: t("defaultGiftMessage"), }); return ( <>

{t("emulatorControls")}

{t("updateCatalog")}

{t("updateCatalogDesc")}

{t("updateWordFilter")}

{t("updateWordFilterDesc")}

{t("updateNavigator")}

{t("updateNavigatorDesc")}

{t("hotelAlert")}

{t("hotelAlertDesc")}

setHotelMessage(e.target.value)} required maxLength={512} placeholder={t("messageToBroadcast")} className="flex-1 min-w-[220px]" disabled={isPending} />

{t("userActions")}

{t("userActionsDesc")}

{t("actions.disconnect")}

{t("disconnectDesc")}

setDisconnect((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setDisconnect((s) => ({ ...s, username: e.target.value })) } className="w-full" disabled={isPending} />

{t("actions.alert")}

{t("alertDesc")}

setAlert((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setAlert((s) => ({ ...s, message: e.target.value })) } maxLength={512} className="w-full" disabled={isPending} />

{t("forwardToRoom")}

{t("forwardDesc")}

setForward((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setForward((s) => ({ ...s, roomId: e.target.value })) } className="w-full" disabled={isPending} />

{t("giveCredits")}

{t("giveCreditsDesc")}

setCredits((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setCredits((s) => ({ ...s, credits: e.target.value })) } className="w-full" disabled={isPending} />

{t("giveDuckets")}

{t("giveDucketsDesc")}

setDuckets((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setDuckets((s) => ({ ...s, amount: e.target.value })) } className="w-full" disabled={isPending} />

{t("giveDiamonds")}

{t("giveDiamondsDesc")}

setDiamonds((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setDiamonds((s) => ({ ...s, amount: e.target.value })) } className="w-full" disabled={isPending} />

{t("giveBadge")}

{t("giveBadgeDesc")}

setBadge((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setBadge((s) => ({ ...s, badge: e.target.value })) } maxLength={32} className="w-full" disabled={isPending} />

{t("setMotto")}

{t("setMottoDesc")}

setMottoForm((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setMottoForm((s) => ({ ...s, motto: e.target.value })) } maxLength={127} className="w-full" disabled={isPending} />

{t("setRank")}

{t("setRankDesc")}

setRankForm((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setRankForm((s) => ({ ...s, rank: e.target.value })) } className="w-full" disabled={isPending} />

{t("executeCommand")}

{t("executeCommandDesc")}

setCommand((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setCommand((s) => ({ ...s, command: e.target.value })) } maxLength={100} className="w-full" disabled={isPending} />

{t("sendGift")}

{t("sendGiftDesc")}

setGift((s) => ({ ...s, userId: e.target.value })) } className="w-full" disabled={isPending} /> setGift((s) => ({ ...s, itemId: e.target.value })) } className="w-full" disabled={isPending} /> setGift((s) => ({ ...s, message: e.target.value })) } maxLength={255} className="w-full" disabled={isPending} />
); }