feat: loading on page change

This commit is contained in:
Julien Froidefond
2025-02-15 11:37:54 +01:00
parent c049341fcd
commit eb542feaef
5 changed files with 171 additions and 38 deletions

View File

@@ -4,25 +4,28 @@ import { HeroSection } from "./HeroSection";
import { MediaRow } from "./MediaRow";
import { KomgaBook, KomgaSeries } from "@/types/komga";
import { useRouter } from "next/navigation";
import { useNetworkRequest } from "@/lib/hooks/use-network-request";
interface HomeData {
ongoing: KomgaSeries[];
recentlyRead: KomgaBook[];
onDeck: KomgaBook[];
}
interface HomeContentProps {
data: {
ongoing: KomgaSeries[];
recentlyRead: KomgaBook[];
onDeck: KomgaBook[];
};
data: HomeData;
}
export function HomeContent({ data }: HomeContentProps) {
const router = useRouter();
const handleItemClick = (item: KomgaSeries | KomgaBook) => {
// Si c'est une série (a la propriété booksCount), on va vers la page de la série
if ("booksCount" in item) {
router.push(`/series/${item.id}`);
} else {
// Si c'est un livre, on va directement vers la page de lecture
router.push(`/books/${item.id}`);
}
const { executeRequest } = useNetworkRequest();
const handleItemClick = async (item: KomgaSeries | KomgaBook) => {
const path = "booksCount" in item ? `/series/${item.id}` : `/books/${item.id}`;
await executeRequest(async () => {
router.push(path);
});
};
// Vérification des données pour le debug