UPDATE: Fix bug
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 45s
All checks were successful
Gitea Auto Deploy / Deploy-Container (push) Successful in 45s
This commit is contained in:
@@ -26,11 +26,11 @@ const nextConfig: NextConfig = {
|
||||
},
|
||||
{
|
||||
protocol: "https",
|
||||
hostname: "cdn.kain.id.vn",
|
||||
hostname: "r2.kain.id.vn",
|
||||
pathname: "**",
|
||||
},
|
||||
{
|
||||
protocol: "http",
|
||||
protocol: "https",
|
||||
hostname: "cdn.kain.id.vn",
|
||||
pathname: "**",
|
||||
}
|
||||
@@ -40,7 +40,7 @@ const nextConfig: NextConfig = {
|
||||
styledComponents: true,
|
||||
},
|
||||
env: {
|
||||
CDN_URL: "https://cdn.kain.id.vn/firefly/assets/asbres",
|
||||
CDN_URL: "https://r2.kain.id.vn/asbres",
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ export default function EnemyBar() {
|
||||
return (
|
||||
<div className="p-3 w-full">
|
||||
<div className="flex gap-3 overflow-x-auto pb-2">
|
||||
{enemyDetail && Object.values(enemyDetail).filter((enemy) => (enemy.stats?.AV > 0
|
||||
&& enemy.stats.HP <= enemy.maxHP)).map((enemy, uid) => (
|
||||
{enemyDetail && Object.values(enemyDetail).filter((enemy) => (
|
||||
enemy.stats.HP <= enemy.maxHP)).map((enemy, uid) => (
|
||||
<div key={uid} className="bg-base-200 rounded-lg p-3 border border-gray-700 w-52 shrink-0">
|
||||
<div className="flex items-center justify-between mb-3">
|
||||
<div className="flex items-center gap-2">
|
||||
|
||||
@@ -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<ThemeContextType>({});
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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<BattleDataState>((set, get) => ({
|
||||
onUpdateTeamFormation: (data: UpdateTeamFormationType) => {
|
||||
let avatarDetail = get().avatarDetail
|
||||
let enemyDetail = get().enemyDetail
|
||||
if (!avatarDetail) {
|
||||
avatarDetail = {} as Record<number, AvatarInfo>
|
||||
for (const entity of data.entities) {
|
||||
if (entity.team === "Player" && avatarDetail[entity.uid]) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!enemyDetail) {
|
||||
enemyDetail = {} as Record<number, EnemyInfo>
|
||||
}
|
||||
|
||||
if (!avatarDetail) {
|
||||
avatarDetail = {} as Record<number, AvatarInfo>
|
||||
}
|
||||
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<BattleDataState>((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,
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Team } from "./team";
|
||||
|
||||
export interface EntityType {
|
||||
uid: number;
|
||||
team: "Player" | "Enemy";
|
||||
team: Team;
|
||||
}
|
||||
|
||||
export interface EntityDefeatedType {
|
||||
|
||||
@@ -10,3 +10,4 @@ export * from "./version"
|
||||
export * from "./entity"
|
||||
export * from "./stat"
|
||||
export * from "./enemy"
|
||||
export * from "./team"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
4
src/types/team.ts
Normal file
4
src/types/team.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export enum Team {
|
||||
Player = "Player",
|
||||
Enemy = "Enemy"
|
||||
}
|
||||
Reference in New Issue
Block a user