import { NextPage, NextPageContext } from 'next' import Link from 'next/link' import dynamic from 'next/dynamic' import { useRouter } from 'next/router' import { Bot, User } from '@types' import { get } from '@utils/Query' import { makeBotURL, parseCookie, checkBotFlag } from '@utils/Tools' import { ParsedUrlQuery } from 'querystring' import NotFound from 'pages/404' const Container = dynamic(() => import('@components/Container')) const DiscordAvatar = dynamic(() => import('@components/DiscordAvatar')) const Button = dynamic(() => import('@components/Button')) const Tag = dynamic(() => import('@components/Tag')) const Owner = dynamic(() => import('@components/Owner')) const Segment = dynamic(() => import('@components/Segment')) const SEO = dynamic(() => import('@components/SEO')) const LongButton = dynamic(() => import('@components/LongButton')) const Advertisement = dynamic(() => import('@components/Advertisement')) const Tooltip = dynamic(() => import('@components/Tooltip')) const Markdown = dynamic(() => import ('@components/Markdown')) const VoteBot: NextPage = ({ data }) => { const router = useRouter() if(!data?.id) return if((checkBotFlag(data.flags, 'trusted') || checkBotFlag(data.flags, 'partnered')) && data.vanity && data.vanity !== router.query.id) router.push(`/bots/${data.vanity}`) return {data.name}으로 돌아가기
{data.votes}} dark />

{data.name}

12시간 뒤에 다시 투표하실 수 있습니다.

} export const getServerSideProps = async (ctx: Context) => { const parsed = parseCookie(ctx) const data = await get.bot.load(ctx.query.id) const user = await get.Authorization(parsed?.token) return { props: { data, user: await get.user.load(user || '') }, } } interface VoteBotProps { vote: boolean data: Bot user: User } interface Context extends NextPageContext { query: URLQuery } interface URLQuery extends ParsedUrlQuery { id: string } export default VoteBot