"use client"; import { useState } from "react"; import { fetchClient } from "@/lib/api-client"; export default function BanUserCard() { const [telegramUserId, setTelegramUserId] = useState(""); const [reason, setReason] = useState(""); const [loading, setLoading] = useState(false); const [message, setMessage] = useState(null); async function handleBan(e: React.FormEvent) { e.preventDefault(); setLoading(true); setMessage(null); try { const userId = parseInt(telegramUserId); if (isNaN(userId)) { setMessage("Invalid Telegram User ID"); return; } await fetchClient("/admin/ban", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ telegramUserId: userId, reason: reason || undefined }) }); setMessage("User banned"); setTelegramUserId(""); setReason(""); } catch (e: any) { setMessage(e?.message || "Failed to ban user"); } finally { setLoading(false); } } return (

Ban User

Block abusive users by Telegram ID

setTelegramUserId(e.target.value)} required /> setReason(e.target.value)} /> {message &&

{message}

}
); }