diff --git a/src/components/library/PaginatedSeriesGrid.tsx b/src/components/library/PaginatedSeriesGrid.tsx index 5def36a..372ee75 100644 --- a/src/components/library/PaginatedSeriesGrid.tsx +++ b/src/components/library/PaginatedSeriesGrid.tsx @@ -9,6 +9,7 @@ import type { KomgaSeries } from "@/types/komga"; import { SearchInput } from "./SearchInput"; import { useTranslate } from "@/hooks/useTranslate"; import { useDisplayPreferences } from "@/hooks/useDisplayPreferences"; +import { usePreferences } from "@/contexts/PreferencesContext"; import { PageSizeSelect } from "@/components/common/PageSizeSelect"; import { CompactModeButton } from "@/components/common/CompactModeButton"; import { ViewModeButton } from "@/components/common/ViewModeButton"; @@ -38,6 +39,7 @@ export function PaginatedSeriesGrid({ const searchParams = useSearchParams(); const [showOnlyUnread, setShowOnlyUnread] = useState(initialShowOnlyUnread); const { isCompact, itemsPerPage: displayItemsPerPage, viewMode } = useDisplayPreferences(); + const { updatePreferences } = usePreferences(); // Utiliser la taille de page effective (depuis l'URL ou les préférences) const effectivePageSize = pageSize || displayItemsPerPage; @@ -87,6 +89,13 @@ export function PaginatedSeriesGrid({ page: "1", unread: newUnreadState ? "true" : "false", }); + // Sauvegarder la préférence dans la base de données + try { + await updatePreferences({ showOnlyUnread: newUnreadState }); + } catch (error) { + // Log l'erreur mais ne bloque pas l'utilisateur + console.error("Erreur lors de la sauvegarde de la préférence:", error); + } }; const handlePageSizeChange = async (size: number) => { diff --git a/src/components/series/PaginatedBookGrid.tsx b/src/components/series/PaginatedBookGrid.tsx index eda7064..a59bb54 100644 --- a/src/components/series/PaginatedBookGrid.tsx +++ b/src/components/series/PaginatedBookGrid.tsx @@ -8,6 +8,7 @@ import { useState, useEffect, useCallback } from "react"; import type { KomgaBook } from "@/types/komga"; import { useTranslate } from "@/hooks/useTranslate"; import { useDisplayPreferences } from "@/hooks/useDisplayPreferences"; +import { usePreferences } from "@/contexts/PreferencesContext"; import { PageSizeSelect } from "@/components/common/PageSizeSelect"; import { CompactModeButton } from "@/components/common/CompactModeButton"; import { ViewModeButton } from "@/components/common/ViewModeButton"; @@ -35,6 +36,7 @@ export function PaginatedBookGrid({ const searchParams = useSearchParams(); const [showOnlyUnread, setShowOnlyUnread] = useState(initialShowOnlyUnread); const { isCompact, itemsPerPage, viewMode } = useDisplayPreferences(); + const { updatePreferences } = usePreferences(); const { t } = useTranslate(); const updateUrlParams = useCallback( @@ -81,6 +83,13 @@ export function PaginatedBookGrid({ page: "1", unread: newUnreadState ? "true" : "false", }); + // Sauvegarder la préférence dans la base de données + try { + await updatePreferences({ showOnlyUnread: newUnreadState }); + } catch (error) { + // Log l'erreur mais ne bloque pas l'utilisateur + console.error("Erreur lors de la sauvegarde de la préférence:", error); + } }; const handlePageSizeChange = async (size: number) => {