-
+
+
diff --git a/src/types/gameImport.ts b/src/types/gameImport.ts
index 6cd93a2..d3e12f9 100644
--- a/src/types/gameImport.ts
+++ b/src/types/gameImport.ts
@@ -37,6 +37,7 @@ export interface ImportedGameDefinition {
options?: GameOption[];
description?: string;
colors: { primary: string; secondary?: string };
+ icon?: string; // nom d'icône lucide (utilisé si aucune iconImage n'est fournie)
iconImage?: string; // data URI (png/svg/webp) -> imagePath
bannerImage?: string; // data URI -> bannerPath
}
diff --git a/src/utils/gameImportAdapter.ts b/src/utils/gameImportAdapter.ts
index 8034f63..443d430 100644
--- a/src/utils/gameImportAdapter.ts
+++ b/src/utils/gameImportAdapter.ts
@@ -5,6 +5,8 @@ import { ImportedGameDefinition, RESERVED_GAME_IDS } from "../types/gameImport";
const scoringCategorySchema = z.object({
id: z.string(),
label: z.string(),
+ icon: z.string().max(40).optional(),
+ color: z.string().max(30).optional(),
});
const gameOptionSchema = z.object({
@@ -67,6 +69,7 @@ export const importedGameSchema = z.object({
primary: z.string(),
secondary: z.string().optional(),
}),
+ icon: z.string().max(40).optional(),
iconImage: z.string().optional(),
bannerImage: z.string().optional(),
});
@@ -104,6 +107,7 @@ export function toGameConfig(def: ImportedGameDefinition): GameConfig {
options: def.options,
description: def.description,
colors: def.colors,
+ icon: def.icon,
imagePath: def.iconImage,
bannerPath: def.bannerImage,
};