From edc51d773ecfd7f57f5b0a350049432e24ffb129 Mon Sep 17 00:00:00 2001 From: wonderlandpark Date: Thu, 6 May 2021 16:57:54 +0900 Subject: [PATCH] fix: router called at serverside --- pages/bots/[id]/index.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pages/bots/[id]/index.tsx b/pages/bots/[id]/index.tsx index f63c5bd..98177b7 100644 --- a/pages/bots/[id]/index.tsx +++ b/pages/bots/[id]/index.tsx @@ -42,12 +42,11 @@ const Bots: NextPage = ({ data, desc, date, user, theme, csrfToken }) const router = useRouter() const [ nsfw, setNSFW ] = useState() const [ reportModal, setReportModal ] = useState(false) - const [ reportRes, setReportRes ] = useState>(null) + const [ reportRes, setReportRes ] = useState>(null) useEffect(() => { setNSFW(localStorage.nsfw) }, []) 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, desc, date, user, theme, csrfToken })

성공적으로 신고하였습니다!

더 자세한 설명이 필요할 수 있습니다! 공식 디스코드에 참여해주세요

: { - const res = await Fetch(`/bots/${data.id}/report`, { method: 'POST', body: JSON.stringify(body) }) + const res = await Fetch(`/bots/${data.id}/report`, { method: 'POST', body: JSON.stringify(body) }) setReportRes(res) }} validationSchema={ReportSchema} initialValues={{ category: null, @@ -313,12 +312,19 @@ const Bots: NextPage = ({ data, desc, date, user, theme, csrfToken }) export const getServerSideProps = async (ctx: Context) => { const parsed = parseCookie(ctx.req) - const data = await get.bot.load(ctx.query.id) ?? { id: '' } + const data = await get.bot.load(ctx.query.id) const desc = await get.botDescSafe(data.id) const user = await get.Authorization(parsed?.token) + if(data && (checkBotFlag(data.flags, 'trusted') || checkBotFlag(data.flags, 'partnered')) && data?.vanity && data.vanity !== ctx.query.id) { + ctx.res.statusCode = 301 + ctx.res.setHeader('Location', `/bots/${data.vanity}`) + return { + props: {} + } + } return { props: { - data, + data: data ?? { id: '' }, desc, date: SnowflakeUtil.deconstruct(data.id ?? '0').date.toJSON(), user: await get.user.load(user || ''),