import { useState } from 'react'; import { Link, router, usePage } from '@inertiajs/react'; import { BadgeCheck, ChevronsUpDown, Star, History, ChevronDown, LogOut, Search, Book, TableOfContents } from 'lucide-react'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem } from '@/components/ui/sidebar'; export function AppSidebar({ auth }) { const { tags } = usePage().props; const [search, setSearch] = useState(''); const searchOnSubmitHandler = (e) => { e.preventDefault(); // Visit the search page router.get(route('comics.search', [search]), {}, { }); } const SidebarItem = (props) => { const searchParams = new URL(window.location).searchParams; const isActive = (!searchParams.has(props.query) && props.name === 'All') || (searchParams.has(props.query) && searchParams.get(props.query) === props.path_word); // To current, replace if (searchParams.has(props.query)) { searchParams.set(props.query, props.path_word); } else { searchParams.set(props.query, props.path_word); } return ( setSearch("") }> { props.name } { props.count && { props.count } } ); }; return (
Comic 0.0.1
searchOnSubmitHandler(e)} > setSearch(e.target.value) } id="search" placeholder="Search" className="pl-8" />
Others Manual Tags { tags.theme.map(item => ) } Region { tags.top.map(item => ) }
{ auth.user.name.slice(0, 1).toLocaleUpperCase() }
{ auth.user.name }
{ auth.user.name.slice(0, 1).toLocaleUpperCase() }
{ auth.user.name }
Profile Favourites History Log out
) }