"use client"; import { useState } from "react"; import { MangaGrid } from "@/components/manga-grid"; import { MangaPagination } from "@/components/manga-pagination"; import { FilterSidebar } from "@/components/filter-sidebar"; import { BookOpen, Search } from "lucide-react"; import { Input } from "@/components/ui/input"; import { ThemeToggle } from "@/components/theme-toggle"; import { useGetMangas } from "@/api/mangamochi"; import { AuthHeader } from "@/components/auth-header"; import { ImportDropdown } from "@/components/import-dropdown"; import { SortOption, SortOptions } from "@/components/sort-options"; const ITEMS_PER_PAGE = 12; export default function HomePage() { const [currentPage, setCurrentPage] = useState(1); const [searchQuery, setSearchQuery] = useState(""); const [selectedGenres, setSelectedGenres] = useState([]); const [selectedStatus, setSelectedStatus] = useState([]); const [minRating, setMinRating] = useState(0); const [userFavorites, setUserFavorites] = useState(false); const [showAdultContent, setShowAdultContent] = useState(false); const [sortOption, setSortOption] = useState("title-asc"); const { data: mangas, queryKey } = useGetMangas({ page: currentPage - 1, size: ITEMS_PER_PAGE, sort: ["id"], searchQuery: searchQuery, statuses: selectedStatus, genreIds: selectedGenres, userFavorites, score: minRating, }); const totalPages = mangas?.data?.totalPages; return (
{/* Main Content */}
{/* Header */}

MangaMochi

{mangas?.data?.totalElements} titles available

{/* Search */}
{ setSearchQuery(e.target.value); setCurrentPage(1); }} className="pl-10 bg-card border-border" />
{mangas?.data?.content && mangas.data.content.length > 0 ? ( <> {mangas?.data?.totalElements && (

Showing {(currentPage - 1) * ITEMS_PER_PAGE + 1} to{" "} {Math.min( currentPage * ITEMS_PER_PAGE, mangas.data.totalElements, )}{" "} of {mangas.data.totalElements}

)} {totalPages && totalPages > 1 && (
)} ) : (

No manga found matching your filters.

Try adjusting your search or filter criteria.

)}
); }