diff --git a/src/components/themeController/themeContext.tsx b/src/components/themeController/themeContext.tsx
index a02f7a4..714eefb 100644
--- a/src/components/themeController/themeContext.tsx
+++ b/src/components/themeController/themeContext.tsx
@@ -1,6 +1,6 @@
"use client";
import useLocaleStore from "@/stores/localeStore";
-import { createContext, PropsWithChildren, useEffect } from "react";
+import { createContext, PropsWithChildren } from "react";
interface ThemeContextType {
theme?: string;
@@ -10,26 +10,12 @@ export const ThemeContext = createContext({});
export const ThemeProvider = ({ children }: PropsWithChildren) => {
const { theme, setTheme } = useLocaleStore()
-
- useEffect(() => {
- if (typeof window !== "undefined") {
- const storedTheme = localStorage.getItem("theme");
- if (storedTheme) setTheme(storedTheme);
- }
- }, []);
-
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
+
const changeTheme = (nextTheme: string | null) => {
if (nextTheme) {
setTheme(nextTheme);
- if (typeof window !== "undefined") {
- localStorage.setItem("theme", nextTheme);
- }
} else {
setTheme(theme === "winter" ? "night" : "winter");
- if (typeof window !== "undefined") {
- localStorage.setItem("theme", theme);
- }
}
};
diff --git a/src/stores/battleDataStore.ts b/src/stores/battleDataStore.ts
index 6bb4923..fb3a708 100644
--- a/src/stores/battleDataStore.ts
+++ b/src/stores/battleDataStore.ts
@@ -1,4 +1,4 @@
-import { DamageType, AvatarAnalysisJson, UseSkillType, BattleBeginType, BattleEndType, DamageDetailType, EntityDefeatedType, SetBattleLineupType, TurnBeginType, TurnEndType, UpdateCycleType, UpdateWaveType, VersionType, StatChangeType, UpdateTeamFormationType } from '@/types';
+import { DamageType, AvatarAnalysisJson, UseSkillType, BattleBeginType, BattleEndType, DamageDetailType, EntityDefeatedType, SetBattleLineupType, TurnBeginType, TurnEndType, UpdateCycleType, UpdateWaveType, VersionType, StatChangeType, UpdateTeamFormationType, Team } from '@/types';
import { InitializeEnemyType } from '@/types/enemy';
import { AvatarBattleInfo, AvatarInfo, BattleDataStateJson, EnemyInfo, SkillBattleInfo, TurnBattleInfo } from '@/types/mics';
import { create } from 'zustand'
@@ -257,24 +257,24 @@ const useBattleDataStore = create((set, get) => ({
onUpdateTeamFormation: (data: UpdateTeamFormationType) => {
let avatarDetail = get().avatarDetail
let enemyDetail = get().enemyDetail
- if (!avatarDetail) {
- avatarDetail = {} as Record
- for (const entity of data.entities) {
- if (entity.team === "Player" && avatarDetail[entity.uid]) {
-
- }
- }
- }
if (!enemyDetail) {
enemyDetail = {} as Record
+ }
+
+ if (!avatarDetail) {
+ avatarDetail = {} as Record
+ }
+ if (data.team === Team.Enemy) {
for (let i = 0; i < data.entities.length; i++) {
const entity = data.entities[i];
- if (entity.team === "Enemy" && enemyDetail[entity.uid]) {
+ if (entity.team === Team.Enemy && enemyDetail[entity.uid]) {
enemyDetail[entity.uid].positionIndex = i
+ enemyDetail[entity.uid].waveIndex = get().waveIndex
}
}
}
+
set({
avatarDetail: avatarDetail,
enemyDetail: enemyDetail
@@ -290,7 +290,7 @@ const useBattleDataStore = create((set, get) => ({
isDie: false,
killer_uid: -1,
positionIndex: enemyDetail[data.enemy.uid].positionIndex,
- waveIndex: get().waveIndex,
+ waveIndex: enemyDetail[data.enemy.uid].waveIndex,
name: data.enemy.name,
maxHP: data.enemy.base_stats.hp,
level: data.enemy.base_stats.level,
diff --git a/src/types/entity.ts b/src/types/entity.ts
index dd9202a..09dd1d1 100644
--- a/src/types/entity.ts
+++ b/src/types/entity.ts
@@ -1,6 +1,8 @@
+import { Team } from "./team";
+
export interface EntityType {
uid: number;
- team: "Player" | "Enemy";
+ team: Team;
}
export interface EntityDefeatedType {
diff --git a/src/types/index.ts b/src/types/index.ts
index f8674a5..9602ad6 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -10,3 +10,4 @@ export * from "./version"
export * from "./entity"
export * from "./stat"
export * from "./enemy"
+export * from "./team"
diff --git a/src/types/lineup.ts b/src/types/lineup.ts
index 91d5491..b35a078 100644
--- a/src/types/lineup.ts
+++ b/src/types/lineup.ts
@@ -1,4 +1,5 @@
import { EntityType } from "./entity";
+import { Team } from "./team";
export interface AvatarType{
id: number;
@@ -12,5 +13,5 @@ export interface SetBattleLineupType {
export interface UpdateTeamFormationType {
entities: EntityType[],
- team: "Player" | "Enemy"
+ team: Team
}
\ No newline at end of file
diff --git a/src/types/team.ts b/src/types/team.ts
new file mode 100644
index 0000000..16adc38
--- /dev/null
+++ b/src/types/team.ts
@@ -0,0 +1,4 @@
+export enum Team {
+ Player = "Player",
+ Enemy = "Enemy"
+}
\ No newline at end of file