import { Trans } from "@lingui-solid/solid/macro"; import { Bot } from "stoat.js"; import { createProfileResource } from "@revolt/client/resources"; import { useModals } from "@revolt/modal"; import { CategoryButton, Column, iconSize } from "@revolt/ui"; import MdContentCopy from "@material-design-icons/svg/outlined/content_copy.svg?component-solid"; import MdDelete from "@material-design-icons/svg/outlined/delete.svg?component-solid"; import MdKey from "@material-design-icons/svg/outlined/key.svg?component-solid"; import MdLink from "@material-design-icons/svg/outlined/link.svg?component-solid"; import MdPersonAdd from "@material-design-icons/svg/outlined/person_add.svg?component-solid"; import MdPublic from "@material-design-icons/svg/outlined/public.svg?component-solid"; import MdToken from "@material-design-icons/svg/outlined/token.svg?component-solid"; import { UserSummary } from "../account/index"; import { UserProfileEditor } from "../profile/UserProfileEditor"; /** * View a specific bot */ export function ViewBot(props: { bot: Bot }) { // `bot` will never change, so we don't care about reactivity here // eslint-disable-next-line solid/reactivity const profile = createProfileResource(props.bot.user!); const { openModal } = useModals(); return ( {/* Failed to load profile}> loading...}>{profile.data?.content} */} Generate a new token if it gets lost or compromised } icon={} action="chevron" onClick={() => openModal({ type: "reset_bot_token", bot: props.bot })} > Reset Token Allow others to add your bot to their servers from Discover } icon={} action="chevron" > Submit to Discover } action="chevron" onClick={() => openModal({ type: "add_bot", invite: props.bot.publicBot, }) } > Invite Bot } action="copy" onClick={() => navigator.clipboard.writeText( new URL(`/bot/${props.bot.id}`, window.origin).toString(), ) } > Copy Invite URL } action="copy" onClick={() => navigator.clipboard.writeText(props.bot.id)} > Copy ID } action="copy" onClick={() => navigator.clipboard.writeText(props.bot.token)} > Copy Token } action="chevron" onClick={() => openModal({ type: "delete_bot", bot: props.bot })} > Delete Bot ); }