diff --git a/.Jules/palette.md b/.Jules/palette.md new file mode 100644 index 0000000..e69de29 diff --git a/src/components/Library/GameDetailHeader.tsx b/src/components/Library/GameDetailHeader.tsx index aa3d128..10e0bc1 100644 --- a/src/components/Library/GameDetailHeader.tsx +++ b/src/components/Library/GameDetailHeader.tsx @@ -148,11 +148,12 @@ export function GameDetailHeader({ game, onGameUpdated, onPlatformChange, onFilt onClick={(e) => { e.stopPropagation(); onFavoriteToggle(); }} className="absolute -top-2 -right-2 w-10 h-10 flex items-center justify-center text-3xl transition-transform hover:scale-110" title={game.is_favorite ? t('removeFromFavorites') : t('addToFavorites')} + aria-label={game.is_favorite ? t('removeFromFavorites') : t('addToFavorites')} > {game.is_favorite ? ( - + ) : ( - + )} )} @@ -234,20 +235,21 @@ export function GameDetailHeader({ game, onGameUpdated, onPlatformChange, onFilt {game.igdb_id && ( )} {/* Folder path */} -

- 📁 + {game.folder_path} - -

+ + {/* Status badges */}
@@ -364,11 +366,25 @@ export function GameDetailHeader({ game, onGameUpdated, onPlatformChange, onFilt {/* Personal Rating */}
- {t('personalRating')} (0-100): {game.personal_rating !== null && game.personal_rating !== undefined ? `${game.personal_rating}/100` : '-'} + + {game.personal_rating !== null && game.personal_rating !== undefined && ( + + )}
- 0 + - 100 +
diff --git a/src/components/Library/GameScreenshotsCarousel.tsx b/src/components/Library/GameScreenshotsCarousel.tsx index 6a4e37c..bfae3b8 100644 --- a/src/components/Library/GameScreenshotsCarousel.tsx +++ b/src/components/Library/GameScreenshotsCarousel.tsx @@ -20,7 +20,6 @@ export function GameScreenshotsCarousel({ gameId }: GameScreenshotsCarouselProps const [igdbScreenshots, setIgdbScreenshots] = useState([]); const [currentIndex, setCurrentIndex] = useState(0); const [loading, setLoading] = useState(true); - const [hasIgdbId, setHasIgdbId] = useState(false); useEffect(() => { const loadScreenshots = async () => { @@ -29,7 +28,6 @@ export function GameScreenshotsCarousel({ gameId }: GameScreenshotsCarouselProps // Load game data to check IGDB ID try { const game = await invoke<{ igdb_id: number | null }>("get_game_by_id", { id: gameId }); - setHasIgdbId(!!game?.igdb_id); // Load IGDB screenshots if available if (game?.igdb_id) { diff --git a/src/i18n/translations.ts b/src/i18n/translations.ts index 1664377..17d5b4f 100644 --- a/src/i18n/translations.ts +++ b/src/i18n/translations.ts @@ -49,6 +49,7 @@ export const translations = { // Game Detail personalRating: 'Personal Rating', + clearRating: 'Clear Rating', notes: 'Notes', saveNotes: 'Save Notes', deleteGame: 'Delete Game', @@ -291,7 +292,7 @@ export const translations = { playTime: 'Play Time', hours: 'hours', platform: 'Platform', - platforms: 'Plateformes', + platforms: 'Platforms', selectPlatform: 'Select platform...', noPlatform: 'No platform', availableOnIGDB: 'Available on', @@ -435,6 +436,7 @@ export const translations = { // Game Detail personalRating: 'Note personnelle', + clearRating: 'Effacer la note', notes: 'Notes', saveNotes: 'Sauvegarder les notes', deleteGame: 'Supprimer le jeu',