diff --git a/public/assets/honkai3rd/banner-bianka.png b/public/assets/honkai3rd/banner-bianka.png new file mode 100644 index 00000000..b3b9c567 Binary files /dev/null and b/public/assets/honkai3rd/banner-bianka.png differ diff --git a/public/assets/honkai3rd/banner-bronya.png b/public/assets/honkai3rd/banner-bronya.png new file mode 100644 index 00000000..d29bc92e Binary files /dev/null and b/public/assets/honkai3rd/banner-bronya.png differ diff --git a/public/assets/honkai3rd/banner-carole.png b/public/assets/honkai3rd/banner-carole.png new file mode 100644 index 00000000..da4eef45 Binary files /dev/null and b/public/assets/honkai3rd/banner-carole.png differ diff --git a/public/assets/honkai3rd/banner-fuhua.png b/public/assets/honkai3rd/banner-fuhua.png new file mode 100644 index 00000000..68f11d1d Binary files /dev/null and b/public/assets/honkai3rd/banner-fuhua.png differ diff --git a/public/assets/honkai3rd/banner-kiana.png b/public/assets/honkai3rd/banner-kiana.png new file mode 100644 index 00000000..a7885cb9 Binary files /dev/null and b/public/assets/honkai3rd/banner-kiana.png differ diff --git a/public/assets/honkai3rd/banner-mei.png b/public/assets/honkai3rd/banner-mei.png new file mode 100644 index 00000000..e85e5348 Binary files /dev/null and b/public/assets/honkai3rd/banner-mei.png differ diff --git a/public/assets/honkai3rd/banner-rita.png b/public/assets/honkai3rd/banner-rita.png new file mode 100644 index 00000000..40f2cafb Binary files /dev/null and b/public/assets/honkai3rd/banner-rita.png differ diff --git a/public/assets/honkai3rd/banner-theresa.png b/public/assets/honkai3rd/banner-theresa.png new file mode 100644 index 00000000..038db3b0 Binary files /dev/null and b/public/assets/honkai3rd/banner-theresa.png differ diff --git a/src/pages/honkai3rd/index.tsx b/src/pages/honkai3rd/index.tsx index af7688f2..a45ba9cd 100644 --- a/src/pages/honkai3rd/index.tsx +++ b/src/pages/honkai3rd/index.tsx @@ -1,5 +1,6 @@ /** @jsxImportSource theme-ui */ import { Box, Heading, Text, Flex, Link } from '@theme-ui/components' +import { useCallback, useEffect, useState } from 'react' import Breadcrumb from '../../components/organisms/Breadcrumb' import Honkai3rdNavigator from '../../components/organisms/Honkai3rdNavigator' import { NextPageContext } from 'next' @@ -10,8 +11,35 @@ import SquareImageBox from '../../components/atoms/SquareImageBox' import { mdiGithub } from '@mdi/js' import { Icon } from '@mdi/react' +const bannerValkyries = [ + 'kiana', + 'mei', + 'bronya', + 'theresa', + 'fuhua', + 'bianka', + 'rita', + 'carole', +] + const Honkai3rdIndexPage = () => { const { t } = useTranslation() + const [bannerIndex, setBannerIndex] = useState(0) + + const switchBanner = useCallback(() => { + setBannerIndex((previousBannerIndex) => { + return (previousBannerIndex + 1) % bannerValkyries.length + }) + }, []) + + useEffect(() => { + const timer = setTimeout(() => { + switchBanner() + }, 5000) + return () => { + clearTimeout(timer) + } + }, [bannerIndex, switchBanner]) return ( @@ -21,7 +49,21 @@ const Honkai3rdIndexPage = () => { - {t('nav.honkai-3rd')} + {t('nav.honkai-3rd')} + + + {bannerValkyries.map((valkyrie, index) => ( + + ))} + + @@ -81,3 +123,31 @@ const NavItem = ({ target }: NavItemProps) => { ) } + +interface BannerItemProps { + valkyrie: string + active: boolean +} + +const BannerItem = ({ valkyrie, active }: BannerItemProps) => { + return ( + + + + ) +} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index ced0cbe7..116abfda 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,6 +1,7 @@ /** @jsxImportSource theme-ui */ import { Box, Text } from '@theme-ui/components' import PageLink from '../components/atoms/PageLink' +import SquareImageBox from '../components/atoms/SquareImageBox' import RootNavigator from '../components/organisms/RootNavigator' const IndexPage = () => { @@ -8,12 +9,13 @@ const IndexPage = () => { - + Honkai 3rd + - + Genshin (Under Construction)