From 222eeced12a95cd127dead517b284addc18daba3 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Wed, 19 Feb 2025 21:43:26 +0100 Subject: [PATCH] fix: lints --- src/app/api/komga/cache/mode/route.ts | 1 + src/components/reader/BookReader.tsx | 1 + src/components/settings/CacheModeSwitch.tsx | 1 + src/components/ui/cover.tsx | 10 +++--- src/components/ui/mark-as-read-button.tsx | 1 + src/lib/services/preferences.service.ts | 1 - src/lib/services/server-cache.service.ts | 36 ++++++++++++--------- 7 files changed, 28 insertions(+), 23 deletions(-) diff --git a/src/app/api/komga/cache/mode/route.ts b/src/app/api/komga/cache/mode/route.ts index bd5b925..28292c7 100644 --- a/src/app/api/komga/cache/mode/route.ts +++ b/src/app/api/komga/cache/mode/route.ts @@ -18,6 +18,7 @@ export async function POST(request: Request) { serverCacheService.setCacheMode(mode); return NextResponse.json({ mode: serverCacheService.getCacheMode() }); } catch (error) { + console.error("Erreur lors de la mise à jour du mode de cache:", error); return NextResponse.json({ error: "Invalid request" }, { status: 400 }); } } diff --git a/src/components/reader/BookReader.tsx b/src/components/reader/BookReader.tsx index 718ad8c..f594640 100644 --- a/src/components/reader/BookReader.tsx +++ b/src/components/reader/BookReader.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @next/next/no-img-element */ "use client"; import { BookReaderProps } from "./types"; diff --git a/src/components/settings/CacheModeSwitch.tsx b/src/components/settings/CacheModeSwitch.tsx index 9612c33..4f135cb 100644 --- a/src/components/settings/CacheModeSwitch.tsx +++ b/src/components/settings/CacheModeSwitch.tsx @@ -33,6 +33,7 @@ export function CacheModeSwitch() { description: `Le cache est maintenant en mode ${checked ? "mémoire" : "fichier"}`, }); } catch (error) { + console.error("Erreur lors de la modification du mode de cache:", error); toast({ variant: "destructive", title: "Erreur", diff --git a/src/components/ui/cover.tsx b/src/components/ui/cover.tsx index 8790da9..b798855 100644 --- a/src/components/ui/cover.tsx +++ b/src/components/ui/cover.tsx @@ -2,7 +2,7 @@ import { ImageOff } from "lucide-react"; import Image from "next/image"; -import { useState, useEffect, useRef } from "react"; +import { useState, useEffect, useRef, useCallback } from "react"; import { cn } from "@/lib/utils"; import { ImageLoader } from "@/components/ui/image-loader"; @@ -29,23 +29,21 @@ export function Cover({ }: CoverProps) { const [imageError, setImageError] = useState(false); const [isLoading, setIsLoading] = useState(true); - const [isInViewport, setIsInViewport] = useState(false); const [imageUrl, setImageUrl] = useState(null); const coverRef = useRef(null); - const getImageUrl = () => { + const getImageUrl = useCallback(() => { if (type === "series") { return `/api/komga/images/series/${id}/thumbnail`; } return `/api/komga/images/books/${id}/thumbnail`; - }; + }, [type, id]); // Observer pour détecter quand la cover est dans le viewport useEffect(() => { const observer = new IntersectionObserver( (entries) => { entries.forEach((entry) => { - setIsInViewport(entry.isIntersecting); if (entry.isIntersecting && !imageUrl) { setImageUrl(getImageUrl()); } @@ -66,7 +64,7 @@ export function Cover({ observer.unobserve(element); } }; - }, [id, imageUrl]); + }, [id, imageUrl, getImageUrl]); if (imageError) { return ( diff --git a/src/components/ui/mark-as-read-button.tsx b/src/components/ui/mark-as-read-button.tsx index ae2d904..3e1dc79 100644 --- a/src/components/ui/mark-as-read-button.tsx +++ b/src/components/ui/mark-as-read-button.tsx @@ -42,6 +42,7 @@ export function MarkAsReadButton({ }); onSuccess?.(); } catch (error) { + console.error("Erreur lors de la mise à jour du progresseur de lecture:", error); toast({ title: "Erreur", description: "Impossible de marquer le tome comme lu", diff --git a/src/lib/services/preferences.service.ts b/src/lib/services/preferences.service.ts index a897759..574780d 100644 --- a/src/lib/services/preferences.service.ts +++ b/src/lib/services/preferences.service.ts @@ -1,5 +1,4 @@ import { cookies } from "next/headers"; -import connectDB from "@/lib/mongodb"; import { PreferencesModel } from "@/lib/models/preferences.model"; interface User { diff --git a/src/lib/services/server-cache.service.ts b/src/lib/services/server-cache.service.ts index 537c353..0293706 100644 --- a/src/lib/services/server-cache.service.ts +++ b/src/lib/services/server-cache.service.ts @@ -74,7 +74,8 @@ class ServerCacheService { if (isSubDirEmpty) { try { fs.rmdirSync(itemPath); - } catch (_error) { + } catch (error) { + console.error(`Could not remove directory ${itemPath}:`, error); isEmpty = false; } } else { @@ -89,18 +90,21 @@ class ServerCacheService { } else { isEmpty = false; } - } catch (_error) { + } catch (error) { + console.error(`Could not parse file ${itemPath}:`, error); // Si le fichier est corrompu, on le supprime try { fs.unlinkSync(itemPath); - } catch (_) { + } catch (error) { + console.error(`Could not remove file ${itemPath}:`, error); isEmpty = false; } } } else { isEmpty = false; } - } catch (_error) { + } catch (error) { + console.error(`Could not access ${itemPath}:`, error); // En cas d'erreur sur le fichier/dossier, on continue isEmpty = false; continue; @@ -146,7 +150,6 @@ class ServerCacheService { } this.config.mode = mode; - console.log(`Cache mode switched to: ${mode}`); } public getCacheMode(): CacheMode { @@ -174,11 +177,13 @@ class ServerCacheService { const key = path.relative(this.cacheDir, itemPath).slice(0, -5); // Remove .json this.memoryCache.set(key, cached); } - } catch (_error) { + } catch (error) { + console.error(`Could not parse file ${itemPath}:`, error); // Ignore les fichiers corrompus } } - } catch (_error) { + } catch (error) { + console.error(`Could not access ${itemPath}:`, error); // Ignore les erreurs d'accès } } @@ -196,8 +201,8 @@ class ServerCacheService { fs.mkdirSync(dirPath, { recursive: true }); } fs.writeFileSync(filePath, JSON.stringify(value), "utf-8"); - } catch (_error) { - // Ignore les erreurs d'écriture + } catch (error) { + console.error(`Could not write cache file ${filePath}:`, error); } } @@ -303,25 +308,24 @@ class ServerCacheService { removeDirectory(itemPath); try { fs.rmdirSync(itemPath); - } catch (_error) { - console.error(`Could not remove directory ${itemPath}`); + } catch (error) { + console.error(`Could not remove directory ${itemPath}:`, error); } } else { try { fs.unlinkSync(itemPath); - } catch (_error) { - console.error(`Could not remove file ${itemPath}`); + } catch (error) { + console.error(`Could not remove file ${itemPath}:`, error); } } - } catch (_error) { - console.error(`Error accessing ${itemPath}`); + } catch (error) { + console.error(`Error accessing ${itemPath}:`, error); } } }; try { removeDirectory(this.cacheDir); - console.log("Cache cleared successfully"); } catch (error) { console.error("Error clearing cache:", error); }