/** @jsxImportSource theme-ui */ import { Box, Heading, Link, Paragraph } from '@theme-ui/components' import NextLink from 'next/link' import Breadcrumb from '../../components/organisms/Breadcrumb' import { getBattlesuitById } from '../../server/data/honkai3rd/battlesuits' import { getCurrentVersion, listVersionData, } from '../../server/data/honkai3rd/versions' import { getWeaponById } from '../../server/data/honkai3rd/weapons' import { format as formatDate } from 'date-fns' import { BattlesuitData } from '../../lib/honkai3rd/battlesuits' import { WeaponData } from '../../lib/honkai3rd/weapons' import { VersionData } from '../../lib/honkai3rd/versions' import { getI18NProps } from '../../server/i18n' import { NextPageContext } from 'next' import { useTranslation } from '../../lib/i18n' import Head from '../../components/atoms/Head' import PageLink from '../../components/atoms/PageLink' import Honkai3rdLayout from '../../components/layouts/Honkai3rdLayout' import WeaponCard from '../../components/molecules/WeaponCard' import BattlesuitCard from '../../components/molecules/BattlesuitCard' import { getStigmataSetBySetId } from '../../server/data/honkai3rd/stigmata' import { StigmataSet } from '../../lib/honkai3rd/stigmata' import StigmataSetCard from '../../components/molecules/StigmataSetCard' interface VersionIndexPageProps { versionDataList: VersionData[] currentVersionData: VersionData currentVersionNewBattlesuits: BattlesuitData[] currentVersionNewWeapons: WeaponData[] currentVersionNewStigmataSets: StigmataSet[] } const VersionIndexPage = ({ currentVersionData, currentVersionNewBattlesuits, versionDataList, currentVersionNewWeapons, currentVersionNewStigmataSets, }: VersionIndexPageProps) => { const { t } = useTranslation() return ( {currentVersionData.previousVersion != null && ( {t('versions.previous')} (v {currentVersionData.previousVersion}) )} {currentVersionData.nextVersion != null && ( {t('versions.next')} (v{currentVersionData.nextVersion}) )} v{currentVersionData.version} : {currentVersionData.name}{' '} ({t('versions.current')}) {formatDate(new Date(currentVersionData.duration[0]), 'PP')} -{' '} {currentVersionData.duration[1] != null ? formatDate(new Date(currentVersionData.duration[1]), 'PP') : ''} {t('versions.new-battlesuits')} {currentVersionNewBattlesuits.map((battlesuit) => { return ( ) })} {t('versions.new-weapons')} {currentVersionNewWeapons.map((weapon) => { return })} {t('versions.new-stigmata-sets')} {currentVersionNewStigmataSets.map((stigmataSet) => { return ( ) })} We've decided to stop providing weekly bossses and supply events since v6.2. But you can still find it from{' '} CAPTAIN ALPACA's Website . {t('versions.all-versions')} {versionDataList.map((versionData) => { return ( {versionData.version} : {versionData.name} ( {formatDate(new Date(versionData.duration[0]), 'PP')} -{' '} {versionData.duration[1] != null ? formatDate(new Date(versionData.duration[1]), 'PP') : ''} ) ) })} ) } export async function getStaticProps({ locale }: NextPageContext) { const currentVersionData = getCurrentVersion(locale)! const currentVersionNewBattlesuits = currentVersionData.newBattlesuits.map( (battlesuitId) => { return getBattlesuitById(battlesuitId, locale) } ) const currentVersionNewWeapons = currentVersionData.newWeapons.map( (weaponId) => { return getWeaponById(weaponId, locale) } ) const currentVersionNewStigmataSets = currentVersionData.newStigmataSets.map( (stigmataSetId) => { return getStigmataSetBySetId(stigmataSetId, locale) } ) return { props: { currentVersionData, currentVersionNewBattlesuits, currentVersionNewWeapons, currentVersionNewStigmataSets, versionDataList: listVersionData(locale), ...(await getI18NProps(locale)), }, } } export default VersionIndexPage