import { useHistory } from "react-router-dom";
import { Text } from "preact-i18n";
import { ModalForm } from "@revoltchat/ui";
import { ModalProps } from "../types";
/**
* Channel creation modal
*/
export default function CreateChannel({
cb,
target,
...props
}: ModalProps<"create_channel">) {
const history = useHistory();
return (
}
schema={{
name: "text",
type: "radio",
}}
data={{
name: {
field: (
) as React.ReactChild,
},
type: {
field: (
) as React.ReactChild,
choices: [
{
name: (
) as React.ReactChild,
value: "Text",
},
{
name: (
) as React.ReactChild,
value: "Voice",
},
],
},
}}
callback={async ({ name, type }) => {
const channel = await target.createChannel({
type: type as "Text" | "Voice",
name,
});
if (cb) {
cb(channel as any);
} else {
history.push(
`/server/${target._id}/channel/${channel._id}`,
);
}
}}
/>
);
}