"use client"; import { IconUserPlus } from "@tabler/icons-react"; import { useState } from "react"; import { toast } from "sonner"; import { CardContent, CardDescription, CardTitle } from "@/components/ui/card"; import { Switch } from "@/components/ui/switch"; import { toggleRegistration } from "./actions"; export function ServerSection({ initialRegistrationOpen, }: { initialRegistrationOpen: boolean; }) { const [registrationOpen, setRegistrationOpen] = useState( initialRegistrationOpen, ); const [toggling, setToggling] = useState(false); async function handleToggle(checked: boolean) { const previous = registrationOpen; setRegistrationOpen(checked); setToggling(true); try { await toggleRegistration(checked); toast.success(checked ? "Registration opened" : "Registration closed"); } catch { setRegistrationOpen(previous); toast.error("Failed to update registration setting"); } finally { setToggling(false); } } return (
Open registration Allow new users to create accounts
); }