"use client"; import { useActionState } from "react"; import { CopyButton } from "@/components/copy-button"; import { ErrorText, SubmitButton } from "@/components/forms"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Field, FieldGroup, FieldLabel } from "@/components/ui/field"; import { Input } from "@/components/ui/input"; import { NativeSelect, NativeSelectOption } from "@/components/ui/native-select"; import { registerCatalog } from "./actions"; export function RegisterForm() { const [state, action] = useActionState(registerCatalog, null); if (state?.registered) { const { id, name, key } = state.registered; return ( {name} is registered

Put these in the catalog's settings. The key is shown only once. A moderator approves it next.

); } return (
Name Address Takedown contact
Visibility Public Private Membership Open By approval Invite only
Register
{state?.error && {state.error}}
); } function KeyLine({ label, value }: { label: string; value: string }) { return (
{label} {value}
); }