import Head from 'next/head' import type { AppProps } from 'next/app' import dynamic from 'next/dynamic' import { useRouter } from 'next/router' import { useEffect, useState } from 'react' import { init } from '@utils/Sentry' import Logger from '@utils/Logger' const Footer = dynamic(() => import('@components/Footer')) const Navbar = dynamic(() => import('@components/Navbar')) import Crypto from 'crypto' import 'core-js/es/promise' import 'core-js/es/set' import 'core-js/es/map' import '../app.css' import '@fortawesome/fontawesome-free/css/all.css' import '../github-markdown.css' import { Theme } from '@types' init() export default function App({ Component, pageProps, err }: KoreanbotsProps): JSX.Element { const [ betaKey, setBetaKey ] = useState('') const [ theme, setTheme ] = useState('system') const router = useRouter() let systemColor:Theme useEffect(() => { setBetaKey(localStorage.betaKey) console.log( '%c' + 'KOREANBOTS', 'color: #3366FF; -webkit-text-stroke: 2px black; font-size: 72px; font-weight: bold;' ) console.log( '%c' + '이곳에 코드를 붙여넣으면 공격자에게 엑세스 토큰을 넘겨줄 수 있습니다!!', 'color: #ff0000; font-size: 20px; font-weight: bold;' ) try { // eslint-disable-next-line react-hooks/exhaustive-deps systemColor = window.matchMedia('(prefers-color-scheme: dark)')?.matches ? 'dark' : 'light' } catch (e) { systemColor = 'dark' } if (!localStorage.theme) { Logger.debug(`[THEME] ${systemColor.toUpperCase()} THEME DETECTED`) setTheme(systemColor) } else setTheme(localStorage.theme) }, []) return (
한국 디스코드봇 리스트
{ process.env.NEXT_PUBLIC_TESTER_KEY === Crypto.createHmac('sha256', betaKey ?? '').digest('hex') ? :

주어진 테스터키를 입력해주세요.


{ localStorage.setItem('betaKey', e.target.value); setBetaKey(e.target.value) }} />
}
{ !['/bots/[id]'].includes(router.pathname) &&
) } interface KoreanbotsProps extends AppProps { err: unknown }