diff --git a/assets/honkai3rd/bosses/aka.png b/assets/honkai3rd/bosses/aka.png
new file mode 100644
index 00000000..a3f484d3
Binary files /dev/null and b/assets/honkai3rd/bosses/aka.png differ
diff --git a/assets/honkai3rd/bosses/ana.png b/assets/honkai3rd/bosses/ana.png
new file mode 100644
index 00000000..a884b516
Binary files /dev/null and b/assets/honkai3rd/bosses/ana.png differ
diff --git a/assets/honkai3rd/bosses/aponia.png b/assets/honkai3rd/bosses/aponia.png
new file mode 100644
index 00000000..a1369c9b
Binary files /dev/null and b/assets/honkai3rd/bosses/aponia.png differ
diff --git a/assets/honkai3rd/bosses/ask.png b/assets/honkai3rd/bosses/ask.png
new file mode 100644
index 00000000..f4b74532
Binary files /dev/null and b/assets/honkai3rd/bosses/ask.png differ
diff --git a/assets/honkai3rd/bosses/ask2.png b/assets/honkai3rd/bosses/ask2.png
new file mode 100644
index 00000000..03fba746
Binary files /dev/null and b/assets/honkai3rd/bosses/ask2.png differ
diff --git a/assets/honkai3rd/bosses/bke-sss.png b/assets/honkai3rd/bosses/bke-sss.png
new file mode 100644
index 00000000..359c7275
Binary files /dev/null and b/assets/honkai3rd/bosses/bke-sss.png differ
diff --git a/assets/honkai3rd/bosses/bke.png b/assets/honkai3rd/bosses/bke.png
new file mode 100644
index 00000000..d565468c
Binary files /dev/null and b/assets/honkai3rd/bosses/bke.png differ
diff --git a/assets/honkai3rd/bosses/bns.png b/assets/honkai3rd/bosses/bns.png
new file mode 100644
index 00000000..c2c390c1
Binary files /dev/null and b/assets/honkai3rd/bosses/bns.png differ
diff --git a/assets/honkai3rd/bosses/dd.png b/assets/honkai3rd/bosses/dd.png
new file mode 100644
index 00000000..638f3d34
Binary files /dev/null and b/assets/honkai3rd/bosses/dd.png differ
diff --git a/assets/honkai3rd/bosses/dj.png b/assets/honkai3rd/bosses/dj.png
new file mode 100644
index 00000000..092d5e70
Binary files /dev/null and b/assets/honkai3rd/bosses/dj.png differ
diff --git a/assets/honkai3rd/bosses/hd.png b/assets/honkai3rd/bosses/hd.png
new file mode 100644
index 00000000..de676194
Binary files /dev/null and b/assets/honkai3rd/bosses/hd.png differ
diff --git a/assets/honkai3rd/bosses/hdl.png b/assets/honkai3rd/bosses/hdl.png
new file mode 100644
index 00000000..49424fd6
Binary files /dev/null and b/assets/honkai3rd/bosses/hdl.png differ
diff --git a/assets/honkai3rd/bosses/hm.png b/assets/honkai3rd/bosses/hm.png
new file mode 100644
index 00000000..44e7bd7d
Binary files /dev/null and b/assets/honkai3rd/bosses/hm.png differ
diff --git a/assets/honkai3rd/bosses/hod.png b/assets/honkai3rd/bosses/hod.png
new file mode 100644
index 00000000..2ad32e5c
Binary files /dev/null and b/assets/honkai3rd/bosses/hod.png differ
diff --git a/assets/honkai3rd/bosses/homu.png b/assets/honkai3rd/bosses/homu.png
new file mode 100644
index 00000000..48d2abe1
Binary files /dev/null and b/assets/honkai3rd/bosses/homu.png differ
diff --git a/assets/honkai3rd/bosses/hos.png b/assets/honkai3rd/bosses/hos.png
new file mode 100644
index 00000000..7249fee5
Binary files /dev/null and b/assets/honkai3rd/bosses/hos.png differ
diff --git a/assets/honkai3rd/bosses/hot.png b/assets/honkai3rd/bosses/hot.png
new file mode 100644
index 00000000..433a4230
Binary files /dev/null and b/assets/honkai3rd/bosses/hot.png differ
diff --git a/assets/honkai3rd/bosses/hov.png b/assets/honkai3rd/bosses/hov.png
new file mode 100644
index 00000000..068cef02
Binary files /dev/null and b/assets/honkai3rd/bosses/hov.png differ
diff --git a/assets/honkai3rd/bosses/hpt.png b/assets/honkai3rd/bosses/hpt.png
new file mode 100644
index 00000000..d8eb9b7a
Binary files /dev/null and b/assets/honkai3rd/bosses/hpt.png differ
diff --git a/assets/honkai3rd/bosses/husk-sss.png b/assets/honkai3rd/bosses/husk-sss.png
new file mode 100644
index 00000000..7ed9f1b9
Binary files /dev/null and b/assets/honkai3rd/bosses/husk-sss.png differ
diff --git a/assets/honkai3rd/bosses/husk.png b/assets/honkai3rd/bosses/husk.png
new file mode 100644
index 00000000..37f9ce06
Binary files /dev/null and b/assets/honkai3rd/bosses/husk.png differ
diff --git a/assets/honkai3rd/bosses/husk2.png b/assets/honkai3rd/bosses/husk2.png
new file mode 100644
index 00000000..6c80b893
Binary files /dev/null and b/assets/honkai3rd/bosses/husk2.png differ
diff --git a/assets/honkai3rd/bosses/jizo-sss.png b/assets/honkai3rd/bosses/jizo-sss.png
new file mode 100644
index 00000000..50cbeac0
Binary files /dev/null and b/assets/honkai3rd/bosses/jizo-sss.png differ
diff --git a/assets/honkai3rd/bosses/jizo.png b/assets/honkai3rd/bosses/jizo.png
new file mode 100644
index 00000000..a01810cf
Binary files /dev/null and b/assets/honkai3rd/bosses/jizo.png differ
diff --git a/assets/honkai3rd/bosses/jk.png b/assets/honkai3rd/bosses/jk.png
new file mode 100644
index 00000000..ffb59728
Binary files /dev/null and b/assets/honkai3rd/bosses/jk.png differ
diff --git a/assets/honkai3rd/bosses/kallen.png b/assets/honkai3rd/bosses/kallen.png
new file mode 100644
index 00000000..06478547
Binary files /dev/null and b/assets/honkai3rd/bosses/kallen.png differ
diff --git a/assets/honkai3rd/bosses/kalpas.png b/assets/honkai3rd/bosses/kalpas.png
new file mode 100644
index 00000000..4a8d77ee
Binary files /dev/null and b/assets/honkai3rd/bosses/kalpas.png differ
diff --git a/assets/honkai3rd/bosses/kasumi.png b/assets/honkai3rd/bosses/kasumi.png
new file mode 100644
index 00000000..c5ba9064
Binary files /dev/null and b/assets/honkai3rd/bosses/kasumi.png differ
diff --git a/assets/honkai3rd/bosses/kosma.png b/assets/honkai3rd/bosses/kosma.png
new file mode 100644
index 00000000..acf384ed
Binary files /dev/null and b/assets/honkai3rd/bosses/kosma.png differ
diff --git a/assets/honkai3rd/bosses/mpe.png b/assets/honkai3rd/bosses/mpe.png
new file mode 100644
index 00000000..0a917234
Binary files /dev/null and b/assets/honkai3rd/bosses/mpe.png differ
diff --git a/assets/honkai3rd/bosses/nk.png b/assets/honkai3rd/bosses/nk.png
new file mode 100644
index 00000000..e05aff73
Binary files /dev/null and b/assets/honkai3rd/bosses/nk.png differ
diff --git a/assets/honkai3rd/bosses/ofg.png b/assets/honkai3rd/bosses/ofg.png
new file mode 100644
index 00000000..c46664e0
Binary files /dev/null and b/assets/honkai3rd/bosses/ofg.png differ
diff --git a/assets/honkai3rd/bosses/otto.png b/assets/honkai3rd/bosses/otto.png
new file mode 100644
index 00000000..6b2d4f19
Binary files /dev/null and b/assets/honkai3rd/bosses/otto.png differ
diff --git a/assets/honkai3rd/bosses/ova.png b/assets/honkai3rd/bosses/ova.png
new file mode 100644
index 00000000..4dbd17ab
Binary files /dev/null and b/assets/honkai3rd/bosses/ova.png differ
diff --git a/assets/honkai3rd/bosses/pl.webp b/assets/honkai3rd/bosses/pl.webp
new file mode 100644
index 00000000..8c833828
Binary files /dev/null and b/assets/honkai3rd/bosses/pl.webp differ
diff --git a/assets/honkai3rd/bosses/pvt-sss.png b/assets/honkai3rd/bosses/pvt-sss.png
new file mode 100644
index 00000000..3f440bae
Binary files /dev/null and b/assets/honkai3rd/bosses/pvt-sss.png differ
diff --git a/assets/honkai3rd/bosses/pvt.png b/assets/honkai3rd/bosses/pvt.png
new file mode 100644
index 00000000..62258c72
Binary files /dev/null and b/assets/honkai3rd/bosses/pvt.png differ
diff --git a/assets/honkai3rd/bosses/qc.png b/assets/honkai3rd/bosses/qc.png
new file mode 100644
index 00000000..e46704ce
Binary files /dev/null and b/assets/honkai3rd/bosses/qc.png differ
diff --git a/assets/honkai3rd/bosses/qt-sss.png b/assets/honkai3rd/bosses/qt-sss.png
new file mode 100644
index 00000000..16f60111
Binary files /dev/null and b/assets/honkai3rd/bosses/qt-sss.png differ
diff --git a/assets/honkai3rd/bosses/qt.png b/assets/honkai3rd/bosses/qt.png
new file mode 100644
index 00000000..eefe3839
Binary files /dev/null and b/assets/honkai3rd/bosses/qt.png differ
diff --git a/assets/honkai3rd/bosses/rpc-sss.png b/assets/honkai3rd/bosses/rpc-sss.png
new file mode 100644
index 00000000..1572781f
Binary files /dev/null and b/assets/honkai3rd/bosses/rpc-sss.png differ
diff --git a/assets/honkai3rd/bosses/rpc.png b/assets/honkai3rd/bosses/rpc.png
new file mode 100644
index 00000000..2b4ee5a2
Binary files /dev/null and b/assets/honkai3rd/bosses/rpc.png differ
diff --git a/assets/honkai3rd/bosses/sk.png b/assets/honkai3rd/bosses/sk.png
new file mode 100644
index 00000000..73c34200
Binary files /dev/null and b/assets/honkai3rd/bosses/sk.png differ
diff --git a/assets/honkai3rd/bosses/tank.png b/assets/honkai3rd/bosses/tank.png
new file mode 100644
index 00000000..e553e2e7
Binary files /dev/null and b/assets/honkai3rd/bosses/tank.png differ
diff --git a/assets/honkai3rd/bosses/vv.png b/assets/honkai3rd/bosses/vv.png
new file mode 100644
index 00000000..4dde87f3
Binary files /dev/null and b/assets/honkai3rd/bosses/vv.png differ
diff --git a/assets/honkai3rd/bosses/wolf-sss.png b/assets/honkai3rd/bosses/wolf-sss.png
new file mode 100644
index 00000000..9fb85f91
Binary files /dev/null and b/assets/honkai3rd/bosses/wolf-sss.png differ
diff --git a/assets/honkai3rd/bosses/wolf.png b/assets/honkai3rd/bosses/wolf.png
new file mode 100644
index 00000000..30c71bf3
Binary files /dev/null and b/assets/honkai3rd/bosses/wolf.png differ
diff --git a/data/honkai3rd/versions.yaml b/data/honkai3rd/versions.yaml
index ae992334..f9ef8f43 100644
--- a/data/honkai3rd/versions.yaml
+++ b/data/honkai3rd/versions.yaml
@@ -11,6 +11,18 @@
- vill-v-pri-weapon
- vill-v-weapon
description: ''
+ superstring:
+ - - label: qua
+ boss: qc
+ - label: img
+ boss: ofg
+ ma:
+ - - label: sss
+ boss: kosma
+ - label: sss
+ boss: jizo-sss
+ - label: ss
+ boss: hpt
supplyEvents: []
- previousVersion: '5.7'
version: '5.8'
@@ -26,6 +38,68 @@
- griseo-pri-weapon
- griseo-weapon
description: ''
+ superstring:
+ - - label: physical
+ boss: jizo
+ - label: paralyze
+ boss: jk
+ - - label: type
+ boss: hos
+ - label: img
+ boss: hod
+ - - label: lightning
+ boss: bke
+ - label: bleed
+ boss: nk
+ - - label: lightning
+ boss: rpc
+ - label: lightning (paralyze)
+ boss: husk
+ - - label: ice
+ boss: mpe
+ - label: lightning (hit count)
+ boss: husk2
+ - - label: type
+ boss: wolf
+ - label: type
+ boss: hdl
+ ma:
+ - - label: sss
+ boss: hod
+ - label: ss
+ boss: hov
+ - label: ss
+ boss: homu
+ - - label: sss
+ boss: bke-sss
+ - label: ss
+ boss: hpt
+ - label: ss
+ boss: hdl
+ - - label: sss
+ boss: ofg
+ - label: ss
+ boss: dj
+ - label: ss
+ boss: hm
+ - - label: sss
+ boss: hod
+ - label: ss
+ boss: kasumi
+ - label: ss
+ boss: ana
+ - - label: sss
+ boss: bke-sss
+ - label: ss
+ boss: hm
+ - label: ss
+ boss: ask
+ - - label: sss
+ boss: ofg
+ - label: ss
+ boss: dd
+ - label: ss
+ boss: bns
supplyEvents:
- name: Nue of the Shadow Supply B
duration:
@@ -628,6 +702,8 @@
- lost-conviction
- echo-of-paradise
description: ''
+ superstring: []
+ ma: []
supplyEvents:
- name: Key of Reason Focused Supply B
duration:
@@ -1342,6 +1418,8 @@
- gilded-librae
- cerulean-flare
description: ''
+ superstring: []
+ ma: []
supplyEvents:
- name: Nue of the Shadow Focused Supply B
duration:
@@ -2315,6 +2393,8 @@
- astral-divide-pisces
- astral-rend-white-dwarf
description: ''
+ superstring: []
+ ma: []
supplyEvents:
- name: Skaldi Ondurgud Supply B
duration:
@@ -3793,6 +3873,8 @@
- falcon-flare-0019
- falcon-flare-final
description: ''
+ superstring: []
+ ma: []
supplyEvents:
- name: Eos Gloria Focused Supply B
duration:
diff --git a/src/components/organisms/BossTable.tsx b/src/components/organisms/BossTable.tsx
new file mode 100644
index 00000000..3ec78315
--- /dev/null
+++ b/src/components/organisms/BossTable.tsx
@@ -0,0 +1,164 @@
+import { addDays } from 'date-fns'
+import { Box, Flex, Image, Text } from 'theme-ui'
+import { assetsBucketBaseUrl } from '../../lib/consts'
+import { VersionData } from '../../lib/honkai3rd/versions'
+
+interface BossTableProps {
+ versionData: VersionData
+ today: Date | null
+}
+
+const BossTable = ({ versionData, today }: BossTableProps) => {
+ const versionStartDate = new Date(versionData.duration[0])
+ return (
+
+
+
+ Super String
+
+ {versionData.superstring.map(([first, second], index) => {
+ const firstDuration = [
+ addDays(versionStartDate, index * 7),
+ addDays(versionStartDate, index * 7 + 2),
+ ]
+ const secondDuration = [
+ addDays(versionStartDate, index * 7 + 3),
+ addDays(versionStartDate, index * 7 + 6),
+ ]
+
+ return (
+
+
+ = firstDuration[0] &&
+ today <= firstDuration[1]
+ }
+ />
+
+
+ = secondDuration[0] &&
+ today <= secondDuration[1]
+ }
+ />
+
+
+ )
+ })}
+
+
+
+ Memorial Arena
+
+ {versionData.ma.map(([first, second, third], index) => {
+ const durations = [
+ addDays(versionStartDate, index * 7 + 3),
+ addDays(versionStartDate, (index + 1) * 7 + 2),
+ ]
+ const active =
+ today != null && today >= durations[0] && today <= durations[1]
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ )
+ })}
+
+
+ )
+}
+
+const BossCard = ({
+ label,
+ boss,
+ active,
+}: {
+ label?: string
+ boss: string
+ active?: boolean
+}) => {
+ return (
+
+ {label != null && (
+
+
+ {label?.toUpperCase()}
+
+
+ )}
+
+
+ )
+}
+
+export default BossTable
diff --git a/src/components/organisms/GanttChart.tsx b/src/components/organisms/GanttChart.tsx
index d185f261..8825dc91 100644
--- a/src/components/organisms/GanttChart.tsx
+++ b/src/components/organisms/GanttChart.tsx
@@ -21,7 +21,7 @@ export interface GanttChartItem {
interface GanttChartProps {
startDate: string
endDate: string
- today: string
+ today: Date | null
items: GanttChartItem[]
}
@@ -33,14 +33,14 @@ const itemHeight = 30
const GanttChart = ({
startDate: startDateString,
endDate: endDateString,
- today: todayDateString,
+ today,
items,
}: GanttChartProps) => {
const startDate = new Date(startDateString)
const endDate = new Date(endDateString)
const firstDateToRender = startDate
const lastDateToRender = endDate
- const todayDate = new Date(todayDateString)
+ const todayDate = today
const daysToRender = differenceInCalendarDays(
lastDateToRender,
@@ -103,11 +103,13 @@ const GanttChart = ({
)
}, daysToRender + 2)}
-
+ {todayDate != null && (
+
+ )}
{
const { t } = useTranslation()
+ const [today, setToday] = useState(null)
+ useEffect(() => {
+ setToday(new Date(getDateString(new Date())))
+ }, [])
return (
+
+ Bosses
+
+
+
+
+
+
{t('versions.supply-events')}
@@ -178,7 +192,7 @@ const VersionShowPage = ({
row: supplyEventData.track,
}
})}
- today={getDateString(new Date())}
+ today={today}
startDate={versionData.duration[0]}
endDate={
versionData.duration[1] != null
diff --git a/src/pages/honkai3rd/versions/index.tsx b/src/pages/honkai3rd/versions/index.tsx
index 6ab3b052..e9832778 100644
--- a/src/pages/honkai3rd/versions/index.tsx
+++ b/src/pages/honkai3rd/versions/index.tsx
@@ -23,6 +23,10 @@ import Head from '../../../components/atoms/Head'
import PageLink from '../../../components/atoms/PageLink'
import { assetsBucketBaseUrl } from '../../../lib/consts'
import Honkai3rdLayout from '../../../components/layouts/Honkai3rdLayout'
+import WeaponCard from '../../../components/molecules/WeaponCard'
+import BattlesuitCard from '../../../components/molecules/BattlesuitCard'
+import { useEffect, useState } from 'react'
+import BossTable from '../../../components/organisms/BossTable'
interface VersionIndexPageProps {
versionDataList: VersionData[]
@@ -38,6 +42,10 @@ const VersionIndexPage = ({
currentVersionNewWeapons,
}: VersionIndexPageProps) => {
const { t } = useTranslation()
+ const [today, setToday] = useState(null)
+ useEffect(() => {
+ setToday(new Date(getDateString(new Date())))
+ }, [])
return (
@@ -93,23 +101,11 @@ const VersionIndexPage = ({
{currentVersionNewBattlesuits.map((battlesuit) => {
return (
-
-
-
-
- {battlesuit.name}
-
-
-
+ battlesuit={battlesuit}
+ size='sm'
+ />
)
})}
@@ -119,29 +115,19 @@ const VersionIndexPage = ({
{currentVersionNewWeapons.map((weapon) => {
- return (
-
-
-
-
- {weapon.name}
-
-
-
- )
+ return
})}
+
+ Bosses
+
+
+
+
+
+
{t('versions.supply-events')}
@@ -176,7 +162,7 @@ const VersionIndexPage = ({
}
}
)}
- today={getDateString(new Date())}
+ today={today}
startDate={currentVersionData.duration[0]}
endDate={
currentVersionData.duration[1] != null