import { useState } from 'react'; import { Head, Link, router } from '@inertiajs/react'; import { Plus, Star, ArrowDownNarrowWide, ArrowUpNarrowWide, ChevronsLeft, ChevronsRight } from 'lucide-react'; import AppLayout from '@/Layouts/AppLayout.jsx'; import { Badge } from "@/components/ui/badge"; import { BreadcrumbItem, BreadcrumbPage, BreadcrumbSeparator } from '@/components/ui/breadcrumb'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import { useToast } from '@/hooks/use-toast'; export default function Chapters({ auth, comic, chapters, histories, offset }) { const [group, setGroup] = useState('default'); const [favourites, setFavourites] = useState(auth.user.favourites); const [ascending, setAscending] = useState(true); const { toast } = useToast(); const favouriteOnClickHandler = (pathword) => { axios.post(route('comics.postFavourite'), { pathword: pathword }).then(res => { setFavourites(res.data); }); toast({ title: "All set", description: `${comic.comic.name} is now in / remove your favorite list.`, }); } const groupOnClickHandler = (pathword) => { router.get(`/comic/${ comic.comic.path_word }?group=${ pathword }`, {}, { only: ['chapters'], preserveState: true }); setGroup(pathword); setAscending(true); } const ComicChapterLink = (props) => { const isNew = Date.now() - Date.parse(props.datetime_created) < 6.048e+8; const isRead = histories.includes(props.uuid); return (

Updated: { props.datetime_created }

); } const toggleAscending = (e) => { setAscending(!ascending); } return ( { comic.comic.name } }> { comic.comic.name }
{ comic.comic.name }
{
Alias { comic.comic.alias }
Category { comic.comic.theme.map(t => { t.name } ) }
Authors { comic.comic.author.map(a => ( { a.name } ) ) }
Description { comic.comic.brief }
Updated At { comic.comic.datetime_updated } - { comic.comic.last_chapter.name }
{ Object.entries(comic.groups).map((g, i) => ( groupOnClickHandler(g[1].path_word) } key={ g[1].path_word } value={ g[1].path_word }> { g[1].name } )) }
{ (chapters.total > chapters.limit && chapters.offset > 0) && ( ) } { chapters.list.sort((a, b) => ascending ? (a.index - b.index) : (b.index - a.index)).map(c => ( ) ) } { (chapters.total > chapters.limit && chapters.offset === 0) && ( ) }
); }