diff --git a/pages/404.tsx b/pages/404.tsx
index 39505f7..7662b92 100644
--- a/pages/404.tsx
+++ b/pages/404.tsx
@@ -1,9 +1,16 @@
import { NextPage } from 'next'
-import Notice from '../components/Notice'
-import { ErrorText } from '../utils/Constants'
+import { ErrorText } from '@utils/Constants'
const NotFound: NextPage = () => {
- return
+ return
+
+
404
+
+
+ { ErrorText[404] }
+
+
+
}
export default NotFound
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 37aac1d..d462b6d 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -3,8 +3,8 @@ import type { AppProps } from 'next/app'
import { ThemeProvider } from 'next-themes'
import { useEffect, useState } from 'react'
-import Footer from '../components/Footer'
-import Navbar from '../components/Navbar'
+import Footer from '@components/Footer'
+import Navbar from '@components/Navbar'
import Crypto from 'crypto'
import secret from '../secret.json'
diff --git a/pages/_error.tsx b/pages/_error.tsx
index dd1abca..6f96eba 100644
--- a/pages/_error.tsx
+++ b/pages/_error.tsx
@@ -1,9 +1,8 @@
import { NextPage, NextPageContext } from 'next'
-import Notice from '../components/Notice'
-import { ErrorText } from '../utils/Constants'
+import { ErrorText } from '@utils/Constants'
const CustomError:NextPage = ({ statusCode, statusText }) => {
- return
+ return
}
export const getServerSideProps = ({ res, err }:NextPageContext) => {
@@ -30,5 +29,5 @@ export default CustomError
interface ErrorProps {
statusCode: number
- statusText: string
+ statusText?: string
}
\ No newline at end of file
diff --git a/pages/api/v1/[[...deprecated]].ts b/pages/api/v1/[[...deprecated]].ts
index d647eba..6383bcc 100644
--- a/pages/api/v1/[[...deprecated]].ts
+++ b/pages/api/v1/[[...deprecated]].ts
@@ -1,13 +1,12 @@
import { NextApiHandler, NextApiRequest, NextApiResponse } from 'next'
-import { ResponseWrapper } from '../../../utils'
+import ResponseWrapper from '@utils/ResponseWrapper'
-const Deprecated: NextApiHandler = (_req: NextApiRequest, res: NextApiResponse) => {
- const response = ResponseWrapper(res, {
+const Deprecated: NextApiHandler = (_req: NextApiRequest, res: NextApiResponse):void => {
+ return ResponseWrapper(res, {
code: 406,
message: '해당 API 버전은 지원 종료되었습니다.',
version: 1,
})
- res.json(response)
}
export default Deprecated
diff --git a/pages/bots/[id].tsx b/pages/bots/[id].tsx
index 7b124ae..3451dc9 100644
--- a/pages/bots/[id].tsx
+++ b/pages/bots/[id].tsx
@@ -1,24 +1,25 @@
import { NextPage, NextPageContext } from 'next'
-import { SnowflakeUtil } from 'discord.js'
-import Day from '../../utils/Day'
-import { ParsedUrlQuery } from 'querystring'
-import { Bot, User } from '../../types'
-
-import Container from '../../components/Container'
-import DiscordAvatar from '../../components/DiscordAvatar'
-import Divider from '../../components/Divider'
-import Tag from '../../components/Tag'
-import Owner from '../../components/Owner'
-import Segment from '../../components/Segment'
-import NotFound from '../404'
-import SEO from '../../components/SEO'
-import LongButton from '../../components/LongButton'
-import { git, Status } from '../../utils/Constants'
-import { Query } from '../../utils'
-import { formatNumber } from '../../utils/Tools'
-import Advertisement from '../../components/Advertisement'
import Link from 'next/link'
-import Tooltip from '../../components/Tooltip'
+import { SnowflakeUtil } from 'discord.js'
+import { ParsedUrlQuery } from 'querystring'
+import { Bot, User } from '@types'
+
+import { git, Status } from '@utils/Constants'
+import * as Query from '@utils/Query'
+import Day from '@utils/Day'
+import { formatNumber } from '@utils/Tools'
+
+import Container from '@components/Container'
+import DiscordAvatar from '@components/DiscordAvatar'
+import Divider from '@components/Divider'
+import Tag from '@components/Tag'
+import Owner from '@components/Owner'
+import Segment from '@components/Segment'
+import SEO from '@components/SEO'
+import LongButton from '@components/LongButton'
+import Advertisement from '@components/Advertisement'
+import Tooltip from '@components/Tooltip'
+import NotFound from '../404'
const Bots: NextPage = ({ data, date }) => {
if (!data || !data.id) return
diff --git a/pages/debug.tsx b/pages/debug.tsx
index 031d6e4..60d7034 100644
--- a/pages/debug.tsx
+++ b/pages/debug.tsx
@@ -1,14 +1,16 @@
import { useTheme } from 'next-themes'
import { useFormik } from 'formik'
-
-import Container from '../components/Container'
-import Divider from '../components/Divider'
-import Segment from '../components/Segment'
-import Package from '../package.json'
-import { anchorHeader, checkBrowser } from '../utils/Tools'
import MarkdownView from 'react-showdown'
import sanitizeHtml from 'sanitize-html'
-import { useEffect } from 'react'
+
+import { anchorHeader, checkBrowser } from '@utils/Tools'
+
+import Container from '@components/Container'
+import Divider from '@components/Divider'
+import Segment from '@components/Segment'
+
+import Package from '../package.json'
+
const ClientInfo = ( ):JSX.Element => {
const formik = useFormik({
diff --git a/pages/guidelines.tsx b/pages/guidelines.tsx
index 5926eb6..9241fe8 100644
--- a/pages/guidelines.tsx
+++ b/pages/guidelines.tsx
@@ -1,5 +1,5 @@
import { NextPage } from 'next'
-import Docs from '../components/Docs'
+import Docs from '@components/Docs'
const Privacy: NextPage = () => {
return (
diff --git a/pages/index.tsx b/pages/index.tsx
index cc1781a..9f230f6 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,17 +1,17 @@
import { NextPage } from 'next'
import dynamic from 'next/dynamic'
-import Paginator from '../components/Paginator'
-import Search from '../components/Search'
-import Tag from '../components/Tag'
+import Paginator from '@components/Paginator'
+import Search from '@components/Search'
+import Tag from '@components/Tag'
-import { BotList } from '../types'
-import { Query } from '../utils'
-import { cats } from '../utils/Constants'
+import { BotList } from '@types'
+import * as Query from '@utils/Query'
+import { cats } from '@utils/Constants'
-const Advertisement = dynamic(()=> import('../components/Advertisement'))
-const Container = dynamic(()=> import('../components/Container'))
-const BotCard = dynamic(()=> import('../components/BotCard'))
-const Wave = dynamic(()=> import('../components/Wave'))
+const Advertisement = dynamic(()=> import('@components/Advertisement'))
+const Container = dynamic(()=> import('@components/Container'))
+const BotCard = dynamic(()=> import('@components/BotCard'))
+const Wave = dynamic(()=> import('@components/Wave'))
const Index: NextPage = ({ votes, newBots, trusted }) => {
return (
diff --git a/pages/list/votes.tsx b/pages/list/votes.tsx
index 5e12437..7a24c27 100644
--- a/pages/list/votes.tsx
+++ b/pages/list/votes.tsx
@@ -1,12 +1,13 @@
import { NextPage, NextPageContext } from 'next'
import { ParsedUrlQuery } from 'querystring'
-import Advertisement from '../../components/Advertisement'
-import BotCard from '../../components/BotCard'
-import Container from '../../components/Container'
-import Paginator from '../../components/Paginator'
-import { BotList } from '../../types'
-import { Query } from '../../utils'
+import { BotList } from '@types'
+import * as Query from '@utils/Query'
+
+import Advertisement from '@components/Advertisement'
+import BotCard from '@components/BotCard'
+import Container from '@components/Container'
+import Paginator from '@components/Paginator'
import NotFound from '../404'
const Votes:NextPage = ({ data }:VotesProps) => {
diff --git a/pages/privacy.tsx b/pages/privacy.tsx
index 6b1474f..88c7281 100644
--- a/pages/privacy.tsx
+++ b/pages/privacy.tsx
@@ -1,5 +1,5 @@
import { NextPage } from 'next'
-import Docs from '../components/Docs'
+import Docs from '@components/Docs'
const Privacy: NextPage = () => {
return (
diff --git a/pages/users/[id].tsx b/pages/users/[id].tsx
index 3c7879b..55555d5 100644
--- a/pages/users/[id].tsx
+++ b/pages/users/[id].tsx
@@ -1,20 +1,20 @@
import { NextPage, NextPageContext } from 'next'
import { SnowflakeUtil } from 'discord.js'
-import { Query } from '../../utils'
+import * as Query from '@utils/Query'
import { ParsedUrlQuery } from 'querystring'
import { josa } from 'josa'
-import { Bot, User } from '../../types'
+import { Bot, User } from '@types'
import NotFound from '../404'
-import Container from '../../components/Container'
-import SEO from '../../components/SEO'
-import DiscordAvatar from '../../components/DiscordAvatar'
-import Divider from '../../components/Divider'
-import BotCard from '../../components/BotCard'
-import Tag from '../../components/Tag'
-import { checkPerm } from '../../utils/Tools'
-import Advertisement from '../../components/Advertisement'
-import Tooltip from '../../components/Tooltip'
+import Container from '@components/Container'
+import SEO from '@components/SEO'
+import DiscordAvatar from '@components/DiscordAvatar'
+import Divider from '@components/Divider'
+import BotCard from '@components/BotCard'
+import Tag from '@components/Tag'
+import { checkPerm } from '@utils/Tools'
+import Advertisement from '@components/Advertisement'
+import Tooltip from '@components/Tooltip'
const Users: NextPage = ({ data }) => {
if (!data.id) return
return (
diff --git a/tsconfig.json b/tsconfig.json
index 35d51ea..3037474 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,5 +1,12 @@
{
"compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@components/*": ["components/*"],
+ "@utils/*": ["utils/*"],
+ "@types": ["types/index.ts"]
+
+ },
"target": "es5",
"lib": [
"dom",