import { useState } from 'react';
import { Link, router, usePage } from '@inertiajs/react';
import { BadgeCheck, ChevronsUpDown, Star, History, ChevronDown, LogOut, Search, Book, TableOfContents, House, HardDriveDownload } 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.2
Others
Index
Installation
Updates and notes
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
)
}