diff --git a/src/components/card/characterInfoCard.tsx b/src/components/card/characterInfoCard.tsx
index 24f0d5b..9e0780d 100644
--- a/src/components/card/characterInfoCard.tsx
+++ b/src/components/card/characterInfoCard.tsx
@@ -93,7 +93,7 @@ export default function CharacterInfoCard({ character, selectedCharacters, onCha
)}
{/* Light Cone */}
- {character.lightcone.item_id && (
+ {character.lightcone.item_id !== 0 && (
- skills_by_anchor_type?: Record
+ skills_by_anchor_type?: Record | null;
}
export interface AvatarJson {
- owner_uid?: number;
+ owner_uid?: number | null;
avatar_id: number;
data: AvatarData;
level: number;
@@ -37,12 +37,12 @@ export interface AvatarJson {
techniques: number[];
sp_value: number;
sp_max: number;
- enhanced_id?: number;
+ enhanced_id?: number | null;
}
export interface MonsterJson {
monster_id: number;
level: number;
- amount: number;
+ amount?: number | null;
}
export interface DynamicKeyJson {
@@ -53,7 +53,7 @@ export interface DynamicKeyJson {
export interface BattleBuffJson {
level: number;
id: number;
- dynamic_key?: DynamicKeyJson;
+ dynamic_key?: DynamicKeyJson | null;
}
export interface BattleConfigJson {
@@ -71,12 +71,12 @@ type LoadoutJson = {
relic_list: string[]
}
export interface FreeSRJson {
- key?: string;
+ key?: string | null;
lightcones: LightconeJson[];
relics: RelicJson[];
avatars: Record;
battle_config: BattleConfigJson;
- loadout?: LoadoutJson[];
+ loadout?: LoadoutJson[] | null;
}
diff --git a/src/zod/srtools.zod.ts b/src/zod/srtools.zod.ts
index a024dde..39e8a04 100644
--- a/src/zod/srtools.zod.ts
+++ b/src/zod/srtools.zod.ts
@@ -29,11 +29,11 @@ export const lightconeJsonSchema = z.object({
export const avatarDataSchema = z.object({
rank: z.number(),
skills: z.record(z.string(), z.number()),
- skills_by_anchor_type: z.record(z.string(), z.number()).optional()
+ skills_by_anchor_type: z.record(z.string(), z.number()).nullish()
});
export const avatarJsonSchema = z.object({
- owner_uid: z.number().optional(),
+ owner_uid: z.number().nullish(),
avatar_id: z.number(),
data: avatarDataSchema,
level: z.number(),
@@ -41,13 +41,13 @@ export const avatarJsonSchema = z.object({
techniques: z.array(z.number()),
sp_value: z.number(),
sp_max: z.number(),
- enhanced_id: z.number().optional()
+ enhanced_id: z.number().nullish()
});
export const monsterJsonSchema = z.object({
monster_id: z.number(),
level: z.number(),
- amount: z.number()
+ amount: z.number().nullish()
});
export const dynamicKeyJsonSchema = z.object({
@@ -58,7 +58,7 @@ export const dynamicKeyJsonSchema = z.object({
export const battleBuffJsonSchema = z.object({
level: z.number(),
id: z.number(),
- dynamic_key: dynamicKeyJsonSchema.optional()
+ dynamic_key: dynamicKeyJsonSchema.nullish()
});
export const battleConfigJsonSchema = z.object({
@@ -78,12 +78,12 @@ const loadoutJsonSchema = z.object({
});
export const freeSrJsonSchema = z.object({
- key: z.string().optional(),
+ key: z.string().nullish(),
lightcones: z.array(lightconeJsonSchema),
relics: z.array(relicJsonSchema),
avatars: z.record(z.string(), avatarJsonSchema),
battle_config: battleConfigJsonSchema,
- loadout: z.array(loadoutJsonSchema).optional()
+ loadout: z.array(loadoutJsonSchema).nullish()
});
const extraDataSchema = z.any();
@@ -91,5 +91,5 @@ const extraDataSchema = z.any();
export const psResponseSchema = z.object({
status: z.number(),
message: z.string(),
- extra_data: extraDataSchema.optional()
+ extra_data: extraDataSchema.nullish()
});