Update 6.5 data
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 593 KiB |
|
After Width: | Height: | Size: 699 KiB |
|
After Width: | Height: | Size: 805 KiB |
|
After Width: | Height: | Size: 601 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 22 KiB |
@@ -1,3 +1,57 @@
|
|||||||
|
- id: aladdin-top
|
||||||
|
version: '6.5'
|
||||||
|
name: 'Aladdin (T)'
|
||||||
|
krName: '알라딘 (상)'
|
||||||
|
type: top
|
||||||
|
rarity: 5
|
||||||
|
hp: 393
|
||||||
|
atk: 114
|
||||||
|
def: 50
|
||||||
|
crt: 0
|
||||||
|
set: aladdin
|
||||||
|
skill:
|
||||||
|
name: Street Rogue
|
||||||
|
krName: 거리의 도적
|
||||||
|
description: |-
|
||||||
|
Ultimate deals 20.0% more Physical DMG. When Ultimate deals Bleed DMG, it deals 60.0% more Total DMG.
|
||||||
|
krDescription: |-
|
||||||
|
물리 대미지가 20.0% 증가한다. 필살기가 출혈 대미지를 가할 시 가하는 모든 대미지가 60.0% 증가한다.
|
||||||
|
- id: aladdin-mid
|
||||||
|
version: '6.5'
|
||||||
|
name: 'Aladdin (M)'
|
||||||
|
krName: '알라딘 (중)'
|
||||||
|
type: mid
|
||||||
|
rarity: 5
|
||||||
|
hp: 490
|
||||||
|
atk: 0
|
||||||
|
def: 239
|
||||||
|
crt: 7
|
||||||
|
set: aladdin
|
||||||
|
skill:
|
||||||
|
name: Wishing Lamp
|
||||||
|
krName: 요술램프
|
||||||
|
description: |-
|
||||||
|
The team deals 20.0% more Physical DMG to bleeding enemies. The host's attacks inflict 25.0% more Bleed Trauma.
|
||||||
|
krDescription: |-
|
||||||
|
파티원이 출혈 상태의 적에게 가하는 물리 대미지가 20.0% 증가하고, 캐릭터의 공격이 누적하는 출혈 게이지가 25.0% 증가한다.
|
||||||
|
- id: aladdin-bot
|
||||||
|
version: '6.5'
|
||||||
|
name: 'Aladdin (B)'
|
||||||
|
krName: '알라딘 (하)'
|
||||||
|
type: bot
|
||||||
|
rarity: 5
|
||||||
|
hp: 434
|
||||||
|
atk: 61
|
||||||
|
def: 66
|
||||||
|
crt: 9
|
||||||
|
set: aladdin
|
||||||
|
skill:
|
||||||
|
name: Magic Carpet Ride
|
||||||
|
krName: 마법의 양탄자
|
||||||
|
description: |-
|
||||||
|
Increases Total DMG by 15.0%. All enemies take 20.0% more Bleed DMG.
|
||||||
|
krDescription: |-
|
||||||
|
모든 대미지가 15.0% 증가하고, 모든 적이 받는 출혈 대미지가 20.0% 증가한다.
|
||||||
- id: kiana-evening-invite-bot
|
- id: kiana-evening-invite-bot
|
||||||
version: '6.4'
|
version: '6.4'
|
||||||
name: 'Kiana: Evening Invite (B)'
|
name: 'Kiana: Evening Invite (B)'
|
||||||
@@ -732,11 +786,11 @@
|
|||||||
krName: 왕자의 복수
|
krName: 왕자의 복수
|
||||||
description:
|
description:
|
||||||
Total DMG increases by 20.0%. Triggering Ultimate Evasion Skill or
|
Total DMG increases by 20.0%. Triggering Ultimate Evasion Skill or
|
||||||
Retaliation Skill enhances host and boosts Total DMG by 20.0% for 15s.
|
Retaliation Skill increases Total DMG by 20.0% for 15s.
|
||||||
Triggering it again resets the duration.
|
Triggering it again resets the duration.
|
||||||
krDescription:
|
krDescription: |-
|
||||||
'모든 대미지가 20.0% 증가한다. 극한 회피 또는 방어 반격 스킬 발동 시, 캐릭터는 강화를 획득해 모든 대미지가
|
모든 대미지가 20.0% 증가한다. 극한 회피 스킬 또는 방어 반격 스킬 발동 시, 캐릭터는 강화를 획득해 모든 대미지가
|
||||||
추가로 20.0% 증가한다. 지속 시간: 15초, 중복 발동 시 지속 시간이 갱신된다.'
|
추가로 20.0% 증가한다. 지속 시간: 15초, 중복 발동 시 지속 시간을 갱신한다.
|
||||||
- id: bianka-theatre-bot
|
- id: bianka-theatre-bot
|
||||||
version: '5.5'
|
version: '5.5'
|
||||||
name: 'Bianka: Theatre (B)'
|
name: 'Bianka: Theatre (B)'
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
|
- previousVersion: '6.4'
|
||||||
|
version: '6.5'
|
||||||
|
name: 'Hot Sands Escapade'
|
||||||
|
krName: '뜨거운 모래의 대모험'
|
||||||
|
duration:
|
||||||
|
- 2023-04-06
|
||||||
|
- 2023-05-18
|
||||||
|
newBattlesuits:
|
||||||
|
- vq
|
||||||
|
newWeapons:
|
||||||
|
- twirling-glaze-lustrous-bloom
|
||||||
|
- twirling-glaze
|
||||||
|
newStigmataSets:
|
||||||
|
- aladdin
|
||||||
|
newFoundryStigmataSets: []
|
||||||
|
description: ''
|
||||||
|
superstring: []
|
||||||
|
ma: []
|
||||||
|
supplyEvents: []
|
||||||
- previousVersion: '6.3'
|
- previousVersion: '6.3'
|
||||||
version: '6.4'
|
version: '6.4'
|
||||||
|
nextVersion: '6.5'
|
||||||
name: 'From Finality, the Origin'
|
name: 'From Finality, the Origin'
|
||||||
krName: '종언에서 기원으로'
|
krName: '종언에서 기원으로'
|
||||||
duration:
|
duration:
|
||||||
|
|||||||
@@ -1,64 +1,68 @@
|
|||||||
export const erVersions = [
|
export const erVersions = [
|
||||||
{
|
{
|
||||||
version: '5.0',
|
version: '5.0',
|
||||||
battlesuits: ['hfs', 'hot', 'hor', 'sn', 'aka', 'ri', 'vg', 'pv'],
|
battlesuits: ['hfs', 'hot', 'hor', 'sn', 'aka', 'ri', 'vg', 'pv']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.1',
|
version: '5.1',
|
||||||
battlesuits: ['mpe', 'bke', 'lk', 'stfu'],
|
battlesuits: ['mpe', 'bke', 'lk', 'stfu']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.2',
|
version: '5.2',
|
||||||
battlesuits: ['io', 'ma', 'nyx'],
|
battlesuits: ['io', 'ma', 'nyx']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.3',
|
version: '5.3',
|
||||||
battlesuits: ['sns', 'tp', 'hos'],
|
battlesuits: ['sns', 'tp', 'hos']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.4',
|
version: '5.4',
|
||||||
battlesuits: ['sw', 'da'],
|
battlesuits: ['sw', 'da']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.5',
|
version: '5.5',
|
||||||
battlesuits: ['pe', 'spa'],
|
battlesuits: ['pe', 'spa']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.6',
|
version: '5.6',
|
||||||
battlesuits: ['rc', 'fr'],
|
battlesuits: ['rc', 'fr']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.7',
|
version: '5.7',
|
||||||
battlesuits: ['aponia', 'eden'],
|
battlesuits: ['aponia', 'eden']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.8',
|
version: '5.8',
|
||||||
battlesuits: ['griseo', 'ft'],
|
battlesuits: ['griseo', 'ft']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '5.9',
|
version: '5.9',
|
||||||
battlesuits: ['vill-v', 'meme'],
|
battlesuits: ['vill-v', 'meme']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '6.0',
|
version: '6.0',
|
||||||
battlesuits: ['hoh', 'hov'],
|
battlesuits: ['hoh', 'hov']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '6.1',
|
version: '6.1',
|
||||||
battlesuits: ['jk'],
|
battlesuits: ['jk']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '6.2',
|
version: '6.2',
|
||||||
battlesuits: ['cn', 'vke'],
|
battlesuits: ['cn', 'vke']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '6.3',
|
version: '6.3',
|
||||||
battlesuits: ['hotr', '6s'],
|
battlesuits: ['hotr', '6s']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
version: '6.4',
|
version: '6.4',
|
||||||
battlesuits: ['hof', 'hoo'],
|
battlesuits: ['hof', 'hoo']
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
version: '6.4',
|
||||||
|
battlesuits: ['vq', 'sk']
|
||||||
|
}
|
||||||
].reverse()
|
].reverse()
|
||||||
|
|
||||||
export const erBattlesuits = erVersions.reduce<string[]>((list, version) => {
|
export const erBattlesuits = erVersions.reduce<string[]>((list, version) => {
|
||||||
@@ -80,7 +84,7 @@ export const supportBattlesuitIds = [
|
|||||||
'rc',
|
'rc',
|
||||||
'sa',
|
'sa',
|
||||||
'sn',
|
'sn',
|
||||||
'fr',
|
'fr'
|
||||||
]
|
]
|
||||||
|
|
||||||
export const remembranceSigilIds = [
|
export const remembranceSigilIds = [
|
||||||
@@ -128,7 +132,7 @@ export const remembranceSigilIds = [
|
|||||||
'the-lonely-moon',
|
'the-lonely-moon',
|
||||||
'awakening',
|
'awakening',
|
||||||
'key-to-the-deep',
|
'key-to-the-deep',
|
||||||
'thorny-crown',
|
'thorny-crown'
|
||||||
]
|
]
|
||||||
|
|
||||||
export function isGeneralSigil(sigilId: string) {
|
export function isGeneralSigil(sigilId: string) {
|
||||||
@@ -177,9 +181,9 @@ export const signetGroups = [
|
|||||||
krName: '엘리시아',
|
krName: '엘리시아',
|
||||||
altName: '■■',
|
altName: '■■',
|
||||||
krAltName: '■■',
|
krAltName: '■■',
|
||||||
setIds: erBattlesuits.map((battlesuitId) => {
|
setIds: erBattlesuits.map(battlesuitId => {
|
||||||
return `elysia-${battlesuitId}`
|
return `elysia-${battlesuitId}`
|
||||||
}),
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'eden',
|
id: 'eden',
|
||||||
@@ -187,7 +191,7 @@ export const signetGroups = [
|
|||||||
krName: '에덴',
|
krName: '에덴',
|
||||||
altName: 'Gold',
|
altName: 'Gold',
|
||||||
krAltName: '황금',
|
krAltName: '황금',
|
||||||
setIds: ['eden-normal', 'eden-nexus-1', 'eden-nexus-2'],
|
setIds: ['eden-normal', 'eden-nexus-1', 'eden-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'hua',
|
id: 'hua',
|
||||||
@@ -195,7 +199,7 @@ export const signetGroups = [
|
|||||||
krName: '화',
|
krName: '화',
|
||||||
altName: 'Vicissitude',
|
altName: 'Vicissitude',
|
||||||
krAltName: '부생',
|
krAltName: '부생',
|
||||||
setIds: ['hua-normal', 'hua-nexus-1', 'hua-nexus-2'],
|
setIds: ['hua-normal', 'hua-nexus-1', 'hua-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'kalpas',
|
id: 'kalpas',
|
||||||
@@ -203,7 +207,7 @@ export const signetGroups = [
|
|||||||
krName: '칼파스',
|
krName: '칼파스',
|
||||||
altName: 'Decimation',
|
altName: 'Decimation',
|
||||||
krAltName: '오멸',
|
krAltName: '오멸',
|
||||||
setIds: ['kalpas-normal', 'kalpas-nexus-1', 'kalpas-nexus-2'],
|
setIds: ['kalpas-normal', 'kalpas-nexus-1', 'kalpas-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'kevin',
|
id: 'kevin',
|
||||||
@@ -211,7 +215,7 @@ export const signetGroups = [
|
|||||||
krName: '케빈',
|
krName: '케빈',
|
||||||
altName: 'Deliverance',
|
altName: 'Deliverance',
|
||||||
krAltName: '구원',
|
krAltName: '구원',
|
||||||
setIds: ['kevin-normal', 'kevin-nexus-1', 'kevin-nexus-2'],
|
setIds: ['kevin-normal', 'kevin-nexus-1', 'kevin-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'mobius',
|
id: 'mobius',
|
||||||
@@ -219,7 +223,7 @@ export const signetGroups = [
|
|||||||
krName: '뫼비우스',
|
krName: '뫼비우스',
|
||||||
altName: 'Infinity',
|
altName: 'Infinity',
|
||||||
krAltName: '무한',
|
krAltName: '무한',
|
||||||
setIds: ['mobius-normal', 'mobius-nexus-1', 'mobius-nexus-2'],
|
setIds: ['mobius-normal', 'mobius-nexus-1', 'mobius-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'sakura',
|
id: 'sakura',
|
||||||
@@ -227,7 +231,7 @@ export const signetGroups = [
|
|||||||
krName: '사쿠라',
|
krName: '사쿠라',
|
||||||
altName: 'Setsuna',
|
altName: 'Setsuna',
|
||||||
krAltName: '찰나',
|
krAltName: '찰나',
|
||||||
setIds: ['sakura-normal', 'sakura-nexus-1', 'sakura-nexus-2'],
|
setIds: ['sakura-normal', 'sakura-nexus-1', 'sakura-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'su',
|
id: 'su',
|
||||||
@@ -235,7 +239,7 @@ export const signetGroups = [
|
|||||||
krName: '수',
|
krName: '수',
|
||||||
altName: 'Bodhi',
|
altName: 'Bodhi',
|
||||||
krAltName: '천혜',
|
krAltName: '천혜',
|
||||||
setIds: ['su-normal', 'su-nexus-1', 'su-nexus-2'],
|
setIds: ['su-normal', 'su-nexus-1', 'su-nexus-2']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'pardofelis',
|
id: 'pardofelis',
|
||||||
@@ -243,7 +247,7 @@ export const signetGroups = [
|
|||||||
krName: '파르도 필리스',
|
krName: '파르도 필리스',
|
||||||
altName: 'Reverie',
|
altName: 'Reverie',
|
||||||
krAltName: '환몽',
|
krAltName: '환몽',
|
||||||
setIds: ['pardofelis-normal', 'pardofelis-nexus-1'],
|
setIds: ['pardofelis-normal', 'pardofelis-nexus-1']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'vill-v',
|
id: 'vill-v',
|
||||||
@@ -251,7 +255,7 @@ export const signetGroups = [
|
|||||||
krName: '빌-브이',
|
krName: '빌-브이',
|
||||||
altName: 'Helix',
|
altName: 'Helix',
|
||||||
krAltName: '나선',
|
krAltName: '나선',
|
||||||
setIds: ['vill-v-normal', 'vill-v-nexus-1'],
|
setIds: ['vill-v-normal', 'vill-v-nexus-1']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'aponia',
|
id: 'aponia',
|
||||||
@@ -259,7 +263,7 @@ export const signetGroups = [
|
|||||||
krName: '아포니아',
|
krName: '아포니아',
|
||||||
altName: 'Discipline',
|
altName: 'Discipline',
|
||||||
krAltName: '계율',
|
krAltName: '계율',
|
||||||
setIds: ['aponia-normal', 'aponia-nexus-1'],
|
setIds: ['aponia-normal', 'aponia-nexus-1']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'kosma',
|
id: 'kosma',
|
||||||
@@ -267,7 +271,7 @@ export const signetGroups = [
|
|||||||
krName: '코스마',
|
krName: '코스마',
|
||||||
altName: 'Daybreak',
|
altName: 'Daybreak',
|
||||||
krAltName: '욱광',
|
krAltName: '욱광',
|
||||||
setIds: ['kosma-normal', 'kosma-nexus-1'],
|
setIds: ['kosma-normal', 'kosma-nexus-1']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'griseo',
|
id: 'griseo',
|
||||||
@@ -275,8 +279,8 @@ export const signetGroups = [
|
|||||||
krName: '그리세오',
|
krName: '그리세오',
|
||||||
altName: 'Stars',
|
altName: 'Stars',
|
||||||
krAltName: '번성',
|
krAltName: '번성',
|
||||||
setIds: ['griseo-normal', 'griseo-nexus-1'],
|
setIds: ['griseo-normal', 'griseo-nexus-1']
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
export function parseSignetId(id: string) {
|
export function parseSignetId(id: string) {
|
||||||
|
|||||||
@@ -1,13 +1,5 @@
|
|||||||
/** @jsxImportSource theme-ui */
|
/** @jsxImportSource theme-ui */
|
||||||
import {
|
import { Box, Card, Flex, Heading, Paragraph, Text, Image } from '@theme-ui/components'
|
||||||
Box,
|
|
||||||
Card,
|
|
||||||
Flex,
|
|
||||||
Heading,
|
|
||||||
Paragraph,
|
|
||||||
Text,
|
|
||||||
Image,
|
|
||||||
} from '@theme-ui/components'
|
|
||||||
import { NextPageContext } from 'next'
|
import { NextPageContext } from 'next'
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import BattlesuitFeatureLabel from '../../../components/atoms/BattlesuitFeatureLabel'
|
import BattlesuitFeatureLabel from '../../../components/atoms/BattlesuitFeatureLabel'
|
||||||
@@ -22,13 +14,10 @@ import {
|
|||||||
battlesuitFeatures,
|
battlesuitFeatures,
|
||||||
BattlesuitSkillGroup,
|
BattlesuitSkillGroup,
|
||||||
battlesuitTypes,
|
battlesuitTypes,
|
||||||
valkyries,
|
valkyries
|
||||||
} from '../../../lib/honkai3rd/battlesuits'
|
} from '../../../lib/honkai3rd/battlesuits'
|
||||||
import { generateI18NPaths, getI18NProps } from '../../../server/i18n'
|
import { generateI18NPaths, getI18NProps } from '../../../server/i18n'
|
||||||
import {
|
import { getBattlesuitById, listBattlesuits } from '../../../server/data/honkai3rd/battlesuits'
|
||||||
getBattlesuitById,
|
|
||||||
listBattlesuits,
|
|
||||||
} from '../../../server/data/honkai3rd/battlesuits'
|
|
||||||
import { translate, useTranslation } from '../../../lib/i18n'
|
import { translate, useTranslation } from '../../../lib/i18n'
|
||||||
import { useRouter } from 'next/router'
|
import { useRouter } from 'next/router'
|
||||||
import Head from '../../../components/atoms/Head'
|
import Head from '../../../components/atoms/Head'
|
||||||
@@ -51,44 +40,31 @@ interface BattlesuitShowPageProps {
|
|||||||
stigmataMap: StigmataObjectMap
|
stigmataMap: StigmataObjectMap
|
||||||
}
|
}
|
||||||
|
|
||||||
const BattlesuitShowPage = ({
|
const BattlesuitShowPage = ({ battlesuit, weaponMap, stigmataMap }: BattlesuitShowPageProps) => {
|
||||||
battlesuit,
|
|
||||||
weaponMap,
|
|
||||||
stigmataMap,
|
|
||||||
}: BattlesuitShowPageProps) => {
|
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { locale } = useRouter()
|
const { locale } = useRouter()
|
||||||
|
|
||||||
const { label: valkyrieLabel, krLabel } = valkyries.find(
|
const { label: valkyrieLabel, krLabel } = valkyries.find(aValkyrie => aValkyrie.value === battlesuit.valkyrie) || {
|
||||||
(aValkyrie) => aValkyrie.value === battlesuit.valkyrie
|
label: battlesuit.valkyrie,
|
||||||
) || { label: battlesuit.valkyrie, krLabel: battlesuit.valkyrie }
|
krLabel: battlesuit.valkyrie
|
||||||
|
}
|
||||||
|
|
||||||
const valkyrieName = translate(locale, { 'ko-KR': krLabel }, valkyrieLabel)
|
const valkyrieName = translate(locale, { 'ko-KR': krLabel }, valkyrieLabel)
|
||||||
|
|
||||||
const battlesuitType = battlesuitTypes.find(
|
const battlesuitType = battlesuitTypes.find(aType => aType.value === battlesuit.type)
|
||||||
(aType) => aType.value === battlesuit.type
|
|
||||||
)
|
|
||||||
const battlesuitTypeLabel = battlesuitType
|
const battlesuitTypeLabel = battlesuitType
|
||||||
? translate(
|
? translate(locale, { 'ko-KR': battlesuitType.krLabel }, battlesuitType.label)
|
||||||
locale,
|
|
||||||
{ 'ko-KR': battlesuitType.krLabel },
|
|
||||||
battlesuitType.label
|
|
||||||
)
|
|
||||||
: capitalize(battlesuit.type)
|
: capitalize(battlesuit.type)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Honkai3rdLayout>
|
<Honkai3rdLayout>
|
||||||
<Head
|
<Head
|
||||||
title={`${battlesuit.name} - ${t('common.honkai-3rd')} - ${t(
|
title={`${battlesuit.name} - ${t('common.honkai-3rd')} - ${t('common.abyss-lab')}`}
|
||||||
'common.abyss-lab'
|
|
||||||
)}`}
|
|
||||||
description={`${t('common.honkai-3rd')} ${t(
|
description={`${t('common.honkai-3rd')} ${t(
|
||||||
'battlesuit-show.battlesuit'
|
'battlesuit-show.battlesuit'
|
||||||
)} / ${valkyrieName} / ${battlesuitTypeLabel} / ${battlesuit.features
|
)} / ${valkyrieName} / ${battlesuitTypeLabel} / ${battlesuit.features
|
||||||
.map((feature) => {
|
.map(feature => {
|
||||||
const featureData = battlesuitFeatures.find(
|
const featureData = battlesuitFeatures.find(aFeature => aFeature.value === feature)
|
||||||
(aFeature) => aFeature.value === feature
|
|
||||||
)
|
|
||||||
if (featureData == null) {
|
if (featureData == null) {
|
||||||
return feature
|
return feature
|
||||||
}
|
}
|
||||||
@@ -107,16 +83,16 @@ const BattlesuitShowPage = ({
|
|||||||
{ href: '/honkai3rd', label: t('common.honkai-3rd') },
|
{ href: '/honkai3rd', label: t('common.honkai-3rd') },
|
||||||
{
|
{
|
||||||
href: '/honkai3rd/battlesuits',
|
href: '/honkai3rd/battlesuits',
|
||||||
label: t('common.battlesuits'),
|
label: t('common.battlesuits')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: `/honkai3rd/battlesuits/${battlesuit.id}`,
|
href: `/honkai3rd/battlesuits/${battlesuit.id}`,
|
||||||
label: battlesuit.name,
|
label: battlesuit.name
|
||||||
},
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Heading as='h1'>{battlesuit.name}</Heading>
|
<Heading as="h1">{battlesuit.name}</Heading>
|
||||||
|
|
||||||
<Box mb={3}>
|
<Box mb={3}>
|
||||||
<Box
|
<Box
|
||||||
@@ -124,7 +100,7 @@ const BattlesuitShowPage = ({
|
|||||||
position: 'relative',
|
position: 'relative',
|
||||||
overflow: 'hidden',
|
overflow: 'hidden',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
maxWidth: [300, 400],
|
maxWidth: [300, 400]
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
@@ -138,7 +114,7 @@ const BattlesuitShowPage = ({
|
|||||||
|
|
||||||
<Card
|
<Card
|
||||||
sx={{
|
sx={{
|
||||||
overflow: 'hidden',
|
overflow: 'hidden'
|
||||||
}}
|
}}
|
||||||
mb={3}
|
mb={3}
|
||||||
>
|
>
|
||||||
@@ -146,7 +122,7 @@ const BattlesuitShowPage = ({
|
|||||||
<PageLink
|
<PageLink
|
||||||
href={{
|
href={{
|
||||||
pathname: '/honkai3rd/battlesuits',
|
pathname: '/honkai3rd/battlesuits',
|
||||||
query: { valkyrie: battlesuit.valkyrie },
|
query: { valkyrie: battlesuit.valkyrie }
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ValkyrieLabel valkyrie={battlesuit.valkyrie} />
|
<ValkyrieLabel valkyrie={battlesuit.valkyrie} />
|
||||||
@@ -156,20 +132,20 @@ const BattlesuitShowPage = ({
|
|||||||
<PageLink
|
<PageLink
|
||||||
href={{
|
href={{
|
||||||
pathname: '/honkai3rd/battlesuits',
|
pathname: '/honkai3rd/battlesuits',
|
||||||
query: { valkyrie: battlesuit.type },
|
query: { valkyrie: battlesuit.type }
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<TypeLabel type={battlesuit.type} />
|
<TypeLabel type={battlesuit.type} />
|
||||||
</PageLink>
|
</PageLink>
|
||||||
</Box>
|
</Box>
|
||||||
<Flex p={2} sx={{ flexWrap: 'wrap', rowGap: 1 }}>
|
<Flex p={2} sx={{ flexWrap: 'wrap', rowGap: 1 }}>
|
||||||
{battlesuit.features.map((feature) => {
|
{battlesuit.features.map(feature => {
|
||||||
return (
|
return (
|
||||||
<Box mr={2} key={feature}>
|
<Box mr={2} key={feature}>
|
||||||
<PageLink
|
<PageLink
|
||||||
href={{
|
href={{
|
||||||
pathname: '/honkai3rd/battlesuits',
|
pathname: '/honkai3rd/battlesuits',
|
||||||
query: { feature: feature },
|
query: { feature: feature }
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<BattlesuitFeatureLabel feature={feature} />
|
<BattlesuitFeatureLabel feature={feature} />
|
||||||
@@ -185,44 +161,30 @@ const BattlesuitShowPage = ({
|
|||||||
sx={{
|
sx={{
|
||||||
mb: 3,
|
mb: 3,
|
||||||
p: 2,
|
p: 2,
|
||||||
overflow: 'hidden',
|
overflow: 'hidden'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{battlesuit.equipment.map((equipmentItem) => {
|
{battlesuit.equipment.map(equipmentItem => {
|
||||||
return (
|
return (
|
||||||
<Box key={equipmentItem.type}>
|
<Box key={equipmentItem.type}>
|
||||||
<Heading
|
<Heading
|
||||||
as='h3'
|
as="h3"
|
||||||
sx={{
|
sx={{
|
||||||
mb: 1,
|
mb: 1
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t(`battlesuit-show.equipmentTypes.${equipmentItem.type}`)}
|
{t(`battlesuit-show.equipmentTypes.${equipmentItem.type}`)}
|
||||||
</Heading>
|
</Heading>
|
||||||
<Flex sx={{ mx: -1 }}>
|
<Flex sx={{ mx: -1 }}>
|
||||||
{equipmentItem.weapon != null && (
|
{equipmentItem.weapon != null && <WeaponCard size="sm" weapon={weaponMap[equipmentItem.weapon]} />}
|
||||||
<WeaponCard
|
|
||||||
size='sm'
|
|
||||||
weapon={weaponMap[equipmentItem.weapon]}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
{equipmentItem.stigmataTop != null && (
|
{equipmentItem.stigmataTop != null && (
|
||||||
<StigmataCard
|
<StigmataCard size="sm" stigmata={stigmataMap[equipmentItem.stigmataTop]} />
|
||||||
size='sm'
|
|
||||||
stigmata={stigmataMap[equipmentItem.stigmataTop]}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
{equipmentItem.stigmataMid != null && (
|
{equipmentItem.stigmataMid != null && (
|
||||||
<StigmataCard
|
<StigmataCard size="sm" stigmata={stigmataMap[equipmentItem.stigmataMid]} />
|
||||||
size='sm'
|
|
||||||
stigmata={stigmataMap[equipmentItem.stigmataMid]}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
{equipmentItem.stigmataBot != null && (
|
{equipmentItem.stigmataBot != null && (
|
||||||
<StigmataCard
|
<StigmataCard size="sm" stigmata={stigmataMap[equipmentItem.stigmataBot]} />
|
||||||
size='sm'
|
|
||||||
stigmata={stigmataMap[equipmentItem.stigmataBot]}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</Flex>
|
</Flex>
|
||||||
</Box>
|
</Box>
|
||||||
@@ -231,41 +193,20 @@ const BattlesuitShowPage = ({
|
|||||||
</Card>
|
</Card>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.leader')} skillGroup={battlesuit.leader} />
|
||||||
heading={t('battlesuit-show.leader')}
|
|
||||||
skillGroup={battlesuit.leader}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.passive')} skillGroup={battlesuit.passive} />
|
||||||
heading={t('battlesuit-show.passive')}
|
|
||||||
skillGroup={battlesuit.passive}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.evasion')} skillGroup={battlesuit.evasion} />
|
||||||
heading={t('battlesuit-show.evasion')}
|
|
||||||
skillGroup={battlesuit.evasion}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.special-attack')} skillGroup={battlesuit.special} />
|
||||||
heading={t('battlesuit-show.special-attack')}
|
|
||||||
skillGroup={battlesuit.special}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.ultimate')} skillGroup={battlesuit.ultimate} />
|
||||||
heading={t('battlesuit-show.ultimate')}
|
|
||||||
skillGroup={battlesuit.ultimate}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.basic-attack')} skillGroup={battlesuit.basic} />
|
||||||
heading={t('battlesuit-show.basic-attack')}
|
|
||||||
skillGroup={battlesuit.basic}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{battlesuit.sp != null && (
|
{battlesuit.sp != null && (
|
||||||
<BattlesuitSkillGroupCard
|
<BattlesuitSkillGroupCard heading={t('battlesuit-show.sp-skill')} skillGroup={battlesuit.sp} />
|
||||||
heading={t('battlesuit-show.sp-skill')}
|
|
||||||
skillGroup={battlesuit.sp}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</Box>
|
</Box>
|
||||||
</Honkai3rdLayout>
|
</Honkai3rdLayout>
|
||||||
@@ -274,10 +215,7 @@ const BattlesuitShowPage = ({
|
|||||||
|
|
||||||
export default BattlesuitShowPage
|
export default BattlesuitShowPage
|
||||||
|
|
||||||
export async function getStaticProps({
|
export async function getStaticProps({ params, locale }: NextPageContext & { params: { battlesuitId: string } }) {
|
||||||
params,
|
|
||||||
locale,
|
|
||||||
}: NextPageContext & { params: { battlesuitId: string } }) {
|
|
||||||
const battlesuit = getBattlesuitById(params.battlesuitId, locale)!
|
const battlesuit = getBattlesuitById(params.battlesuitId, locale)!
|
||||||
const { weaponIds, stigmataIds } = (battlesuit.equipment || []).reduce<{
|
const { weaponIds, stigmataIds } = (battlesuit.equipment || []).reduce<{
|
||||||
weaponIds: string[]
|
weaponIds: string[]
|
||||||
@@ -285,11 +223,7 @@ export async function getStaticProps({
|
|||||||
}>(
|
}>(
|
||||||
(acc, equipmentItem) => {
|
(acc, equipmentItem) => {
|
||||||
acc.weaponIds.push(equipmentItem.weapon)
|
acc.weaponIds.push(equipmentItem.weapon)
|
||||||
acc.stigmataIds.push(
|
acc.stigmataIds.push(equipmentItem.stigmataTop, equipmentItem.stigmataMid, equipmentItem.stigmataBot)
|
||||||
equipmentItem.stigmataTop,
|
|
||||||
equipmentItem.stigmataMid,
|
|
||||||
equipmentItem.stigmataBot
|
|
||||||
)
|
|
||||||
return acc
|
return acc
|
||||||
},
|
},
|
||||||
{ weaponIds: [], stigmataIds: [] }
|
{ weaponIds: [], stigmataIds: [] }
|
||||||
@@ -303,21 +237,21 @@ export async function getStaticProps({
|
|||||||
battlesuit,
|
battlesuit,
|
||||||
weaponMap,
|
weaponMap,
|
||||||
stigmataMap,
|
stigmataMap,
|
||||||
...(await getI18NProps(locale)),
|
...(await getI18NProps(locale))
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
return {
|
return {
|
||||||
paths: generateI18NPaths(
|
paths: generateI18NPaths(
|
||||||
listBattlesuits().map((battlesuit) => {
|
listBattlesuits().map(battlesuit => {
|
||||||
return {
|
return {
|
||||||
params: { battlesuitId: battlesuit.id },
|
params: { battlesuitId: battlesuit.id }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
fallback: false,
|
fallback: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,19 +260,16 @@ interface BattlesuitSkillGroupCardProps {
|
|||||||
skillGroup: BattlesuitSkillGroup
|
skillGroup: BattlesuitSkillGroup
|
||||||
}
|
}
|
||||||
|
|
||||||
const BattlesuitSkillGroupCard = ({
|
const BattlesuitSkillGroupCard = ({ heading, skillGroup }: BattlesuitSkillGroupCardProps) => {
|
||||||
heading,
|
|
||||||
skillGroup,
|
|
||||||
}: BattlesuitSkillGroupCardProps) => {
|
|
||||||
return (
|
return (
|
||||||
<Card mb={3}>
|
<Card mb={3}>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
p: 2,
|
p: 2,
|
||||||
borderBottom: 'default',
|
borderBottom: 'default'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Heading as='h2' mb={1}>
|
<Heading as="h2" mb={1}>
|
||||||
{skillGroup.core.name}
|
{skillGroup.core.name}
|
||||||
</Heading>
|
</Heading>
|
||||||
<SecondaryLabel>{heading}</SecondaryLabel>
|
<SecondaryLabel>{heading}</SecondaryLabel>
|
||||||
@@ -348,26 +279,19 @@ const BattlesuitSkillGroupCard = ({
|
|||||||
{skillGroup.core.description}
|
{skillGroup.core.description}
|
||||||
</Paragraph>
|
</Paragraph>
|
||||||
|
|
||||||
{skillGroup.subskills.map((subskill) => {
|
{skillGroup.subskills.map(subskill => {
|
||||||
return (
|
return (
|
||||||
<React.Fragment key={subskill.name}>
|
<React.Fragment key={subskill.name}>
|
||||||
<Heading as='h3' p={2} m={0} sx={{ borderBottom: 'default' }}>
|
<Heading as="h3" p={2} m={0} sx={{ borderBottom: 'default' }}>
|
||||||
<Flex sx={{ alignItems: 'center' }}>
|
<Flex sx={{ alignItems: 'center' }}>
|
||||||
<Text>{subskill.name}</Text>
|
<Text>{subskill.name}</Text>
|
||||||
{subskill.requiredRank != null ? (
|
{subskill.requiredRank != null ? (
|
||||||
/^[0-9]/.test(subskill.requiredRank) ? (
|
/^[0-9]/.test(subskill.requiredRank) ? (
|
||||||
<Box
|
<Box ml={2} sx={{ height: 30, lineHeight: '30px', fontSize: 2 }}>
|
||||||
ml={2}
|
|
||||||
sx={{ height: 30, lineHeight: '30px', fontSize: 2 }}
|
|
||||||
>
|
|
||||||
⭐{subskill.requiredRank.slice(0, 1)}
|
⭐{subskill.requiredRank.slice(0, 1)}
|
||||||
</Box>
|
</Box>
|
||||||
) : (
|
) : (
|
||||||
<BattlesuitRankIcon
|
<BattlesuitRankIcon rank={subskill.requiredRank} size={30} ml={2} />
|
||||||
rank={subskill.requiredRank}
|
|
||||||
size={30}
|
|
||||||
ml={2}
|
|
||||||
/>
|
|
||||||
)
|
)
|
||||||
) : (
|
) : (
|
||||||
<Box sx={{ height: 30 }} />
|
<Box sx={{ height: 30 }} />
|
||||||
@@ -380,7 +304,7 @@ const BattlesuitSkillGroupCard = ({
|
|||||||
sx={{
|
sx={{
|
||||||
whiteSpace: 'pre-wrap',
|
whiteSpace: 'pre-wrap',
|
||||||
borderBottom: 'default',
|
borderBottom: 'default',
|
||||||
'&:last-child': { borderBottom: 'none' },
|
'&:last-child': { borderBottom: 'none' }
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{subskill.description}
|
{subskill.description}
|
||||||
|
|||||||
@@ -14,10 +14,7 @@ import { getWeaponMapByIds } from '../../../../server/data/honkai3rd/weapons'
|
|||||||
import { StigmataData } from '../../../../lib/honkai3rd/stigmata'
|
import { StigmataData } from '../../../../lib/honkai3rd/stigmata'
|
||||||
import { getStigmataMapByIds } from '../../../../server/data/honkai3rd/stigmata'
|
import { getStigmataMapByIds } from '../../../../server/data/honkai3rd/stigmata'
|
||||||
import { getSignetGroupById } from '../../../../server/data/honkai3rd/elysianRealm'
|
import { getSignetGroupById } from '../../../../server/data/honkai3rd/elysianRealm'
|
||||||
import {
|
import { erBattlesuits, SignetSet } from '../../../../lib/honkai3rd/elysianRealm'
|
||||||
erBattlesuits,
|
|
||||||
SignetSet,
|
|
||||||
} from '../../../../lib/honkai3rd/elysianRealm'
|
|
||||||
import SignetCard from '../../../../components/molecules/SignetCard'
|
import SignetCard from '../../../../components/molecules/SignetCard'
|
||||||
|
|
||||||
type WeaponObjectMap = { [key: string]: WeaponData }
|
type WeaponObjectMap = { [key: string]: WeaponData }
|
||||||
@@ -30,22 +27,15 @@ interface BattlesuitShowPageProps {
|
|||||||
signetSet: SignetSet
|
signetSet: SignetSet
|
||||||
}
|
}
|
||||||
|
|
||||||
const BattlesuitShowPage = ({
|
const BattlesuitShowPage = ({ battlesuit, weaponMap, stigmataMap, signetSet }: BattlesuitShowPageProps) => {
|
||||||
battlesuit,
|
|
||||||
weaponMap,
|
|
||||||
stigmataMap,
|
|
||||||
signetSet,
|
|
||||||
}: BattlesuitShowPageProps) => {
|
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
return (
|
return (
|
||||||
<Honkai3rdLayout>
|
<Honkai3rdLayout>
|
||||||
<Head
|
<Head
|
||||||
title={`${battlesuit.name} (${t('common.elysian-realm')}) - ${t(
|
title={`${battlesuit.name} (${t('common.elysian-realm')}) - ${t('common.honkai-3rd')} - ${t(
|
||||||
'common.honkai-3rd'
|
'common.abyss-lab'
|
||||||
)} - ${t('common.abyss-lab')}`}
|
)}`}
|
||||||
description={`${t('common.honkai-3rd')} ${t(
|
description={`${t('common.honkai-3rd')} ${t('common.elysian-realm')} ${t('battlesuit-show.battlesuit')}`}
|
||||||
'common.elysian-realm'
|
|
||||||
)} ${t('battlesuit-show.battlesuit')}`}
|
|
||||||
canonicalHref={`/honkai3rd/elysian-realm/battlesuits/${battlesuit.id}`}
|
canonicalHref={`/honkai3rd/elysian-realm/battlesuits/${battlesuit.id}`}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -55,16 +45,16 @@ const BattlesuitShowPage = ({
|
|||||||
{ href: '/honkai3rd', label: t('common.honkai-3rd') },
|
{ href: '/honkai3rd', label: t('common.honkai-3rd') },
|
||||||
{
|
{
|
||||||
href: '/honkai3rd/elysian-realm',
|
href: '/honkai3rd/elysian-realm',
|
||||||
label: t('common.elysian-realm'),
|
label: t('common.elysian-realm')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: `/honkai3rd/elysian-realm/battlesuits/${battlesuit.id}`,
|
href: `/honkai3rd/elysian-realm/battlesuits/${battlesuit.id}`,
|
||||||
label: battlesuit.name,
|
label: battlesuit.name
|
||||||
},
|
}
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Heading as='h1'>{battlesuit.name}</Heading>
|
<Heading as="h1">{battlesuit.name}</Heading>
|
||||||
|
|
||||||
<Box mb={3}>
|
<Box mb={3}>
|
||||||
<Box
|
<Box
|
||||||
@@ -72,7 +62,7 @@ const BattlesuitShowPage = ({
|
|||||||
position: 'relative',
|
position: 'relative',
|
||||||
overflow: 'hidden',
|
overflow: 'hidden',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
maxWidth: [300, 400],
|
maxWidth: [300, 400]
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Image
|
<Image
|
||||||
@@ -84,10 +74,10 @@ const BattlesuitShowPage = ({
|
|||||||
</Box>
|
</Box>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
<Heading as='h2'>{t('elysian-realm.exclusive-signets')}</Heading>
|
<Heading as="h2">{t('elysian-realm.exclusive-signets')}</Heading>
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
{signetSet.signets.map((signet) => {
|
{signetSet.signets.map(signet => {
|
||||||
return <SignetCard key={signet.id} signet={signet} />
|
return <SignetCard key={signet.id} signet={signet} />
|
||||||
})}
|
})}
|
||||||
</Box>
|
</Box>
|
||||||
@@ -98,10 +88,7 @@ const BattlesuitShowPage = ({
|
|||||||
|
|
||||||
export default BattlesuitShowPage
|
export default BattlesuitShowPage
|
||||||
|
|
||||||
export async function getStaticProps({
|
export async function getStaticProps({ params, locale }: NextPageContext & { params: { battlesuitId: string } }) {
|
||||||
params,
|
|
||||||
locale,
|
|
||||||
}: NextPageContext & { params: { battlesuitId: string } }) {
|
|
||||||
try {
|
try {
|
||||||
const battlesuit = getBattlesuitById(params.battlesuitId, locale)!
|
const battlesuit = getBattlesuitById(params.battlesuitId, locale)!
|
||||||
const { weaponIds, stigmataIds } = (battlesuit.equipment || []).reduce<{
|
const { weaponIds, stigmataIds } = (battlesuit.equipment || []).reduce<{
|
||||||
@@ -110,11 +97,7 @@ export async function getStaticProps({
|
|||||||
}>(
|
}>(
|
||||||
(acc, equipmentItem) => {
|
(acc, equipmentItem) => {
|
||||||
acc.weaponIds.push(equipmentItem.weapon)
|
acc.weaponIds.push(equipmentItem.weapon)
|
||||||
acc.stigmataIds.push(
|
acc.stigmataIds.push(equipmentItem.stigmataTop, equipmentItem.stigmataMid, equipmentItem.stigmataBot)
|
||||||
equipmentItem.stigmataTop,
|
|
||||||
equipmentItem.stigmataMid,
|
|
||||||
equipmentItem.stigmataBot
|
|
||||||
)
|
|
||||||
return acc
|
return acc
|
||||||
},
|
},
|
||||||
{ weaponIds: [], stigmataIds: [] }
|
{ weaponIds: [], stigmataIds: [] }
|
||||||
@@ -124,7 +107,7 @@ export async function getStaticProps({
|
|||||||
const stigmataMap = getStigmataMapByIds(stigmataIds)
|
const stigmataMap = getStigmataMapByIds(stigmataIds)
|
||||||
|
|
||||||
const signetGroup = getSignetGroupById('elysia', locale)
|
const signetGroup = getSignetGroupById('elysia', locale)
|
||||||
const signetSet = signetGroup.sets.find((set) => {
|
const signetSet = signetGroup.sets.find(set => {
|
||||||
return set.id === `elysia-${params.battlesuitId}`
|
return set.id === `elysia-${params.battlesuitId}`
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -134,8 +117,8 @@ export async function getStaticProps({
|
|||||||
weaponMap,
|
weaponMap,
|
||||||
stigmataMap,
|
stigmataMap,
|
||||||
signetSet,
|
signetSet,
|
||||||
...(await getI18NProps(locale)),
|
...(await getI18NProps(locale))
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
@@ -145,12 +128,12 @@ export async function getStaticProps({
|
|||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
return {
|
return {
|
||||||
paths: generateI18NPaths(
|
paths: generateI18NPaths(
|
||||||
erBattlesuits.map((battlesuitId) => {
|
erBattlesuits.map(battlesuitId => {
|
||||||
return {
|
return {
|
||||||
params: { battlesuitId: battlesuitId },
|
params: { battlesuitId: battlesuitId }
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
fallback: false,
|
fallback: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||