Compare commits

..

No commits in common. "e3e407af670188ee51f214ddd6372332530df63e" and "8e7e14ba805c245d73b0aff1d9496f15775df083" have entirely different histories.

6 changed files with 53 additions and 45 deletions

View File

@ -51,12 +51,20 @@ const Navbar: React.FC<NavbarProps> = ({ token }) => {
setUserCache(null) setUserCache(null)
} }
}, [token]) }, [token])
const [scrolled, setScrolled] = useState(false)
useEffect(() => {
const handleScroll = () => setScrolled(window.scrollY > 160)
window.addEventListener('scroll', handleScroll)
return () => window.removeEventListener('scroll', handleScroll)
}, [])
return ( return (
<div className='fixed top-0 left-0 right-0 z-50'> <div className='fixed top-0 left-0 right-0 z-50'>
<nav className={`fixed top-0 z-40 flex w-full flex-wrap items-center justify-between px-2 py-2 text-gray-100 transition-colors duration-300 backdrop-blur-sm ${ <nav className={`fixed top-0 z-40 flex w-full flex-wrap items-center justify-between px-2 py-2 text-gray-100 transition-colors duration-300 backdrop-blur-sm ${
dev ? 'bg-discord-blurple dark:bg-discord-black' : 'bg-discord-blurple/30 dark:bg-discord-black/30' scrolled || dev ? 'bg-discord-blurple dark:bg-discord-black' : 'bg-discord-blurple/30 dark:bg-discord-black/30'
} lg:absolute`}> } lg:absolute`}>
<div className='container mx-auto flex flex-wrap items-center justify-between px-4'> <div className='container mx-auto flex flex-wrap items-center justify-between px-4'>
<div className='relative flex w-full justify-between lg:w-auto lg:justify-start'> <div className='relative flex w-full justify-between lg:w-auto lg:justify-start'>
<Link <Link

View File

@ -1,7 +1,7 @@
import { Field, Form, Formik } from 'formik'
import { NextPage } from 'next' import { NextPage } from 'next'
import dynamic from 'next/dynamic'
import Link from 'next/link' import Link from 'next/link'
import dynamic from 'next/dynamic'
import { Field, Form, Formik } from 'formik'
import { Bot, CsrfContext, ResponseProps, User } from '@types' import { Bot, CsrfContext, ResponseProps, User } from '@types'
import { get } from '@utils/Query' import { get } from '@utils/Query'
@ -9,15 +9,15 @@ import { makeBotURL, parseCookie } from '@utils/Tools'
import { ParsedUrlQuery } from 'querystring' import { ParsedUrlQuery } from 'querystring'
import { DMCA, TextField } from '@components/ReportTemplate' import NotFound from 'pages/404'
import { reportCats } from '@utils/Constants'
import { getToken } from '@utils/Csrf' import { getToken } from '@utils/Csrf'
import { DMCA, TextField } from '@components/ReportTemplate'
import { useState } from 'react'
import Fetch from '@utils/Fetch' import Fetch from '@utils/Fetch'
import { ReportSchema } from '@utils/Yup' import { ReportSchema } from '@utils/Yup'
import { getJosaPicker } from 'josa' import { getJosaPicker } from 'josa'
import { reportCats } from '@utils/Constants'
import { NextSeo } from 'next-seo' import { NextSeo } from 'next-seo'
import NotFound from 'pages/404'
import { useState } from 'react'
const Container = dynamic(() => import('@components/Container')) const Container = dynamic(() => import('@components/Container'))
const Message = dynamic(() => import('@components/Message')) const Message = dynamic(() => import('@components/Message'))

View File

@ -1,24 +1,24 @@
import { NextPage } from 'next' import { NextPage } from 'next'
import dynamic from 'next/dynamic'
import Link from 'next/link' import Link from 'next/link'
import dynamic from 'next/dynamic'
import { useRouter } from 'next/router' import { useRouter } from 'next/router'
import { Bot, CsrfContext, ResponseProps, Theme, User } from '@types' import { Bot, CsrfContext, ResponseProps, Theme, User } from '@types'
import { get } from '@utils/Query' import { get } from '@utils/Query'
import { checkBotFlag, makeBotURL, parseCookie } from '@utils/Tools' import { makeBotURL, parseCookie, checkBotFlag } from '@utils/Tools'
import { ParsedUrlQuery } from 'querystring' import { ParsedUrlQuery } from 'querystring'
import Captcha from '@components/Captcha'
import SetNotification, { getFCMToken } from '@components/FCM'
import { KoreanbotsEndPoints } from '@utils/Constants'
import { getToken } from '@utils/Csrf'
import Day from '@utils/Day'
import Fetch from '@utils/Fetch'
import { getJosaPicker } from 'josa'
import { NextSeo } from 'next-seo'
import NotFound from 'pages/404' import NotFound from 'pages/404'
import { getToken } from '@utils/Csrf'
import Captcha from '@components/Captcha'
import { useEffect, useRef, useState } from 'react' import { useEffect, useRef, useState } from 'react'
import Fetch from '@utils/Fetch'
import Day from '@utils/Day'
import { getJosaPicker } from 'josa'
import { KoreanbotsEndPoints } from '@utils/Constants'
import { NextSeo } from 'next-seo'
import SetNotification, { getFCMToken } from '@components/FCM'
const Container = dynamic(() => import('@components/Container')) const Container = dynamic(() => import('@components/Container'))
const DiscordAvatar = dynamic(() => import('@components/DiscordAvatar')) const DiscordAvatar = dynamic(() => import('@components/DiscordAvatar'))

View File

@ -1,23 +1,23 @@
import { Field, Form, Formik } from 'formik'
import { NextPage } from 'next' import { NextPage } from 'next'
import dynamic from 'next/dynamic'
import Link from 'next/link' import Link from 'next/link'
import dynamic from 'next/dynamic'
import { Field, Form, Formik } from 'formik'
import { CsrfContext, ResponseProps, Server, User } from '@types' import { Server, CsrfContext, ResponseProps, User } from '@types'
import { get } from '@utils/Query' import { get } from '@utils/Query'
import { makeServerURL, parseCookie } from '@utils/Tools' import { makeServerURL, parseCookie } from '@utils/Tools'
import { ParsedUrlQuery } from 'querystring' import { ParsedUrlQuery } from 'querystring'
import { DMCA, TextField } from '@components/ReportTemplate' import NotFound from 'pages/404'
import { serverReportCats } from '@utils/Constants'
import { getToken } from '@utils/Csrf' import { getToken } from '@utils/Csrf'
import { DMCA, TextField } from '@components/ReportTemplate'
import { useState } from 'react'
import Fetch from '@utils/Fetch' import Fetch from '@utils/Fetch'
import { ReportSchema } from '@utils/Yup' import { ReportSchema } from '@utils/Yup'
import { getJosaPicker } from 'josa' import { getJosaPicker } from 'josa'
import { serverReportCats } from '@utils/Constants'
import { NextSeo } from 'next-seo' import { NextSeo } from 'next-seo'
import NotFound from 'pages/404'
import { useState } from 'react'
const Container = dynamic(() => import('@components/Container')) const Container = dynamic(() => import('@components/Container'))
const Message = dynamic(() => import('@components/Message')) const Message = dynamic(() => import('@components/Message'))

View File

@ -1,24 +1,24 @@
import { NextPage } from 'next' import { NextPage } from 'next'
import dynamic from 'next/dynamic'
import Link from 'next/link' import Link from 'next/link'
import dynamic from 'next/dynamic'
import { useRouter } from 'next/router' import { useRouter } from 'next/router'
import { CsrfContext, ResponseProps, Server, Theme, User } from '@types' import { CsrfContext, ResponseProps, Server, Theme, User } from '@types'
import { get } from '@utils/Query' import { get } from '@utils/Query'
import { checkServerFlag, makeServerURL, parseCookie } from '@utils/Tools' import { parseCookie, checkServerFlag, makeServerURL } from '@utils/Tools'
import { ParsedUrlQuery } from 'querystring' import { ParsedUrlQuery } from 'querystring'
import Captcha from '@components/Captcha'
import SetNotification, { getFCMToken } from '@components/FCM'
import { KoreanbotsEndPoints } from '@utils/Constants'
import { getToken } from '@utils/Csrf'
import Day from '@utils/Day'
import Fetch from '@utils/Fetch'
import { getJosaPicker } from 'josa'
import { NextSeo } from 'next-seo'
import NotFound from 'pages/404' import NotFound from 'pages/404'
import { getToken } from '@utils/Csrf'
import Captcha from '@components/Captcha'
import { useEffect, useRef, useState } from 'react' import { useEffect, useRef, useState } from 'react'
import Fetch from '@utils/Fetch'
import Day from '@utils/Day'
import { getJosaPicker } from 'josa'
import { KoreanbotsEndPoints } from '@utils/Constants'
import { NextSeo } from 'next-seo'
import SetNotification, { getFCMToken } from '@components/FCM'
const Container = dynamic(() => import('@components/Container')) const Container = dynamic(() => import('@components/Container'))
const ServerIcon = dynamic(() => import('@components/ServerIcon')) const ServerIcon = dynamic(() => import('@components/ServerIcon'))

View File

@ -1,7 +1,7 @@
import { Field, Form, Formik } from 'formik'
import { NextPage } from 'next' import { NextPage } from 'next'
import dynamic from 'next/dynamic'
import Link from 'next/link' import Link from 'next/link'
import dynamic from 'next/dynamic'
import { Field, Form, Formik } from 'formik'
import { CsrfContext, ResponseProps, User } from '@types' import { CsrfContext, ResponseProps, User } from '@types'
import { get } from '@utils/Query' import { get } from '@utils/Query'
@ -9,15 +9,15 @@ import { makeUserURL, parseCookie } from '@utils/Tools'
import { ParsedUrlQuery } from 'querystring' import { ParsedUrlQuery } from 'querystring'
import { DMCA, TextField } from '@components/ReportTemplate' import NotFound from 'pages/404'
import { reportCats } from '@utils/Constants'
import { getToken } from '@utils/Csrf' import { getToken } from '@utils/Csrf'
import { DMCA, TextField } from '@components/ReportTemplate'
import { useState } from 'react'
import Fetch from '@utils/Fetch' import Fetch from '@utils/Fetch'
import { ReportSchema } from '@utils/Yup' import { ReportSchema } from '@utils/Yup'
import { getJosaPicker } from 'josa' import { getJosaPicker } from 'josa'
import { reportCats } from '@utils/Constants'
import { NextSeo } from 'next-seo' import { NextSeo } from 'next-seo'
import NotFound from 'pages/404'
import { useState } from 'react'
const Container = dynamic(() => import('@components/Container')) const Container = dynamic(() => import('@components/Container'))
const Message = dynamic(() => import('@components/Message')) const Message = dynamic(() => import('@components/Message'))