(undefined);
return (
}
actions={[
{
children: (
),
contrast: true,
error: true,
confirmation: true,
onClick: async () => {
setProcessing(true);
try {
await client.servers.banUser(
props.target._id,
props.user._id,
{ reason },
);
onClose();
} catch (err) {
setError(takeError(err));
setProcessing(false);
}
},
},
{
children: (
),
onClick: onClose,
},
]}
content={
setReason(e.currentTarget.value)
}
/>
}
disabled={processing}
error={error}
/>
);
}
case "create_channel": {
const [name, setName] = useState("");
const [type, setType] = useState<"Text" | "Voice">("Text");
const history = useHistory();
return (
}
actions={[
{
confirmation: true,
contrast: true,
children: (
),
onClick: async () => {
setProcessing(true);
try {
const channel =
await client.servers.createChannel(
props.target._id,
{
type,
name,
nonce: ulid(),
},
);
history.push(
`/server/${props.target._id}/channel/${channel._id}`,
);
onClose();
} catch (err) {
setError(takeError(err));
setProcessing(false);
}
},
},
{
children: (
),
onClick: onClose,
},
]}
content={
<>
setType("Text")}>
setType("Voice")}>
setName(e.currentTarget.value)}
/>
>
}
disabled={processing}
error={error}
/>
);
}
default:
return null;
}
});