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}`, ); } }} /> ); }