import Head from 'next/head' import App, { AppContext, AppProps } from 'next/app' import dynamic from 'next/dynamic' import { Router, useRouter } from 'next/router' import * as Sentry from '@sentry/react' import { Integrations } from '@sentry/tracing' import { useEffect, useState } from 'react' import { GlobalHotKeys } from 'react-hotkeys' import NProgress from 'nprogress' import Logger from '@utils/Logger' import { parseCookie, systemTheme } from '@utils/Tools' import { shortcutKeyMap } from '@utils/Constants' import { Theme } from '@types' const Footer = dynamic(() => import('@components/Footer')) const Navbar = dynamic(() => import('@components/Navbar')) const Modal = dynamic(() => import('@components/Modal')) import 'core-js/es/promise' import 'core-js/es/set' import 'core-js/es/map' import '../app.css' import '../github-markdown.css' import '@fortawesome/fontawesome-free/css/all.css' import PlatformDisplay from '@components/PlatformDisplay' // Progress Bar NProgress.configure({ showSpinner: false }) Router.events.on('routeChangeStart', NProgress.start) Router.events.on('routeChangeComplete', NProgress.done) Router.events.on('routeChangeError', NProgress.done) Sentry.init({ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN, integrations: [new Integrations.BrowserTracing()], tracesSampleRate: 1.0 }) const KoreanbotsApp = ({ Component, pageProps, err, cookie }: KoreanbotsProps): JSX.Element => { const [ shortcutModal, setShortcutModal ] = useState(false) const [ theme, setTheme ] = useState('system') const router = useRouter() useEffect(() => { 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;' ) if (!localStorage.theme) { Logger.debug(`[THEME] ${systemTheme().toUpperCase()} THEME DETECTED`) setTheme(systemTheme()) } else setTheme(localStorage.theme) }, []) return
한국 디스코드봇 리스트
{ !(router.pathname.startsWith('/developers')) &&
} KoreanbotsApp.getInitialProps = async (appCtx: AppContext) => { const appProps = await App.getInitialProps(appCtx) const parsed = parseCookie(appCtx.ctx.req) return { ...appProps, cookie: parsed } } export default KoreanbotsApp interface KoreanbotsProps extends AppProps { err: unknown cookie: { token?: string } }