From fd54629ed63f8ed1c37f707ede9fb2595ce03cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9B=90=EB=8D=94?= Date: Wed, 10 Feb 2021 18:52:05 +0900 Subject: [PATCH] feat: added manage panel --- pages/panel.tsx | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pages/panel.tsx diff --git a/pages/panel.tsx b/pages/panel.tsx new file mode 100644 index 0000000..286336e --- /dev/null +++ b/pages/panel.tsx @@ -0,0 +1,62 @@ +import { NextPage, NextPageContext } from 'next' +import dynamic from 'next/dynamic' +import { useRouter } from 'next/router' + +import { get } from '@utils/Query' +import { makeBotURL, parseCookie, redirectTo } from '@utils/Tools' +import { Bot, SubmittedBot, User } from '@types' +import BotCard from '@components/BotCard' +import SubmittedBotCard from '@components/SubmittedBotCard' + +const Container = dynamic(() => import('@components/Container')) +const SEO = dynamic(() => import('@components/SEO')) + +const Panel:NextPage = ({ logged, user, submits }) => { + + const router = useRouter() + function toLogin() { + localStorage.redirectTo = window.location.href + redirectTo(router, 'login') + } + if(!logged) { + toLogin() + return + } + return + +

관리 패널

+
+

나의 봇

+
+ { + (user.bots as Bot[]).map(bot=> ) + } +
+
+
+

봇 심사이력

+

자세히 보려면 카드를 클릭하세요.

+
+ { + submits.map(el=> ) + } +
+
+
+} + +export const getServerSideProps = async (ctx: NextPageContext) => { + const parsed = parseCookie(ctx) + const user = await get.Authorization(parsed?.token) || '' + const submits = await get.botSubmits.load(user) + + return { props: { logged: !!user, user: await get.user.load(user), submits } } +} + +interface PanelProps { + logged: boolean + user: User + submits: SubmittedBot[] +} + +export default Panel \ No newline at end of file