chore: made some changes

This commit is contained in:
Junseo Park 2021-02-18 14:26:26 +09:00
parent 0f25d32d41
commit f8dc0d7e6f

View File

@ -1,4 +1,5 @@
import { NextPage, NextPageContext } from 'next'
import { useState } from 'react'
import { useRouter } from 'next/router'
import dynamic from 'next/dynamic'
import Link from 'next/link'
@ -8,7 +9,7 @@ import { get } from '@utils/Query'
import { parseCookie, redirectTo } from '@utils/Tools'
import { AddBotSubmit, AddBotSubmitSchema } from '@utils/Yup'
import { categories, library } from '@utils/Constants'
import { SubmittedBot, User } from '@types'
import { ResponseProps, SubmittedBot, User } from '@types'
import { getToken } from '@utils/Csrf'
import Fetch from '@utils/Fetch'
@ -27,6 +28,7 @@ const Message = dynamic(() => import('@components/Message'))
const SEO = dynamic(() => import('@components/SEO'))
const AddBot:NextPage<AddBotProps> = ({ logged, user, csrfToken }) => {
const [ data, setData ] = useState<ResponseProps<SubmittedBot>>(null)
const router = useRouter()
function toLogin() {
localStorage.redirectTo = window.location.href
@ -35,7 +37,7 @@ const AddBot:NextPage<AddBotProps> = ({ logged, user, csrfToken }) => {
async function submitBot(value: AddBotSubmit) {
const res = await Fetch<SubmittedBot>(`/bots/${value.id}`, { method: 'POST', body: JSON.stringify(value), headers: { 'content-type': 'application/json' } })
redirectTo(router, `/pendingBots/${res.data.id}/${res.data.date}`)
setData(res)
}
if(!logged) {
toLogin()
@ -44,9 +46,21 @@ const AddBot:NextPage<AddBotProps> = ({ logged, user, csrfToken }) => {
return <Container paddingTop>
<SEO title='새로운 봇 추가하기' description='자신의 봇을 한국 디스코드봇 리스트에 등록하세요.'/>
<h1 className='text-3xl font-bold'> </h1>
<div className='mt-1'>
<div className='mt-1 mb-5'>
, <span className='font-semibold'>{user.username}#{user.tag}</span>! <a role='button' tabIndex={0} onKeyDown={toLogin} onClick={toLogin} className='text-discord-blurple cursor-pointer outline-none'> ?</a>
</div>
{
data ? data.code == 200 && data.data ? <Message type='success'>
<h2 className='text-lg font-black'> !</h2>
<p> ! . {redirectTo(router, `/pendingBots/${data.data.id}/${data.data.date}`)}</p>
</Message> : <Message type='error'>
<h2 className='text-lg font-black'>{data.message || '오류가 발생했습니다.'}</h2>
<ul className='list-disc list-inside'>
{data.errors?.map((el, n) => <li key={n}>{el}</li>)}
</ul>
</Message> : <></>
}
<Formik initialValues={{
agree: false,
id: '',
@ -73,7 +87,7 @@ const AddBot:NextPage<AddBotProps> = ({ logged, user, csrfToken }) => {
onSubmit={submitBot}>
{({ errors, touched, values, setFieldTouched, setFieldValue }) => (
<Form>
<div className='py-5'>
<div className='py-3'>
<Message type='warning'>
<h2 className='text-lg font-black'> !</h2>
<ul className='list-disc list-inside'>
@ -151,7 +165,6 @@ const AddBot:NextPage<AddBotProps> = ({ logged, user, csrfToken }) => {
</Form>
)}
</Formik>
</Container>
}