feat: integrate user preferences for unread series and books in PaginatedSeriesGrid and PaginatedBookGrid components

This commit is contained in:
Julien Froidefond
2025-12-07 18:49:04 +01:00
parent feb8444b35
commit 6b6fed34fb
2 changed files with 18 additions and 0 deletions

View File

@@ -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) => {