diff --git a/src/components/organisms/Honkai3rdNavigator.tsx b/src/components/organisms/Honkai3rdNavigator.tsx
index 841fe73b..4d2ff66c 100644
--- a/src/components/organisms/Honkai3rdNavigator.tsx
+++ b/src/components/organisms/Honkai3rdNavigator.tsx
@@ -8,10 +8,11 @@ import {
Text,
Box,
IconButton,
+ Link,
} from '@theme-ui/components'
import NextLink from 'next/link'
import { useRouter } from 'next/router'
-import { useEffect, useState } from 'react'
+import { useCallback, useState } from 'react'
import { useTranslation } from '../../lib/i18n'
import PageLink from '../atoms/PageLink'
import SquareImageBox from '../atoms/SquareImageBox'
@@ -23,9 +24,9 @@ const Honkai3rdNavigator = () => {
const [hiddenMobileNav, setHiddenMobileNav] = useState(true)
- useEffect(() => {
+ const close = useCallback(() => {
setHiddenMobileNav(true)
- }, [router.pathname])
+ }, [])
return (
{
-
+
-
-
-
-
-
+
+
+
+
+
{
)
}
-const Honkai3rdNavMobileItem = ({ target }: NavItemProps) => {
+interface Honkai3rdNavMobileItemProps {
+ target: 'versions' | 'battlesuits' | 'stigmata' | 'weapons' | 'elfs'
+ close: () => void
+}
+
+const Honkai3rdNavMobileItem = ({
+ target,
+ close,
+}: Honkai3rdNavMobileItemProps) => {
+ const { push } = useRouter()
const { t } = useTranslation()
+ const href = `/honkai3rd/${target}`
return (
{
overflow: 'hidden',
mb: 2,
}}
+ onClick={(event) => {
+ event.preventDefault()
+ close()
+ push(href)
+ }}
>
{
interface NavMobileItemProps {
href: string
label: string
+ close: () => void
}
-const NavMobileItem = ({ href, label }: NavMobileItemProps) => {
+const NavMobileItem = ({ href, label, close }: NavMobileItemProps) => {
+ const { push } = useRouter()
return (
- {
fontSize: 3,
mb: 2,
}}
+ onClick={(event) => {
+ event.preventDefault()
+ close()
+ push(href)
+ }}
>
{
{label}
-
+
)
}