refacto: tentative de refacto

This commit is contained in:
Julien Froidefond
2025-02-17 16:37:48 +01:00
parent 7ee99ac31a
commit ba725bb1a3
28 changed files with 195 additions and 170 deletions

View File

@@ -24,12 +24,9 @@ export function BookReader({ book, pages, onClose }: BookReaderProps) {
setIsLoading,
secondPageLoading,
setSecondPageLoading,
imageError,
setImageError,
handlePreviousPage,
handleNextPage,
shouldShowDoublePage,
syncReadProgress,
} = usePageNavigation({
book,
pages,
@@ -66,9 +63,12 @@ export function BookReader({ book, pages, onClose }: BookReaderProps) {
}
}
} catch (error) {
console.error("Erreur lors du chargement des URLs:", error);
setImageError(true);
} finally {
if (error instanceof Error) {
console.error(
`Erreur de chargement des URLs pour la page ${currentPage}:`,
error.message
);
}
// On s'assure que le chargement est terminé même en cas d'erreur
if (isMounted) {
setIsLoading(false);
@@ -91,7 +91,6 @@ export function BookReader({ book, pages, onClose }: BookReaderProps) {
getPageUrl,
setIsLoading,
setSecondPageLoading,
setImageError,
]);
// Effet pour précharger la page courante et les pages adjacentes
@@ -205,6 +204,13 @@ export function BookReader({ book, pages, onClose }: BookReaderProps) {
{/* Pages */}
<div className="relative flex-1 flex items-center justify-center overflow-hidden p-1">
<div className="relative w-full h-[calc(100vh-2rem)] flex items-center justify-center gap-0">
{/*
Note: Nous utilisons intentionnellement des balises <img> natives au lieu de next/image pour :
1. Avoir un contrôle précis sur le chargement et le préchargement des pages
2. Gérer efficacement le mode double page et les transitions
3. Les images sont déjà optimisées côté serveur
4. La performance est critique pour une lecture fluide
*/}
{/* Page courante */}
<div
className={cn(