feat: close sidebar on item clik

This commit is contained in:
Julien Froidefond
2025-02-14 13:37:19 +01:00
parent a3f8b011f3
commit 08f6e6a264
2 changed files with 22 additions and 4 deletions

View File

@@ -10,9 +10,10 @@ import { FavoriteService } from "@/lib/services/favorite.service";
interface SidebarProps {
isOpen: boolean;
onClose: () => void;
}
export function Sidebar({ isOpen }: SidebarProps) {
export function Sidebar({ isOpen, onClose }: SidebarProps) {
const pathname = usePathname();
const router = useRouter();
const [libraries, setLibraries] = useState<KomgaLibrary[]>([]);
@@ -101,9 +102,14 @@ export function Sidebar({ isOpen }: SidebarProps) {
storageService.clearAll();
setLibraries([]);
setFavorites([]);
onClose();
router.push("/login");
};
const handleLinkClick = () => {
onClose();
};
const navigation = [
{
name: "Accueil",
@@ -130,6 +136,7 @@ export function Sidebar({ isOpen }: SidebarProps) {
<Link
key={item.href}
href={item.href}
onClick={handleLinkClick}
className={cn(
"flex items-center rounded-lg px-3 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground",
pathname === item.href ? "bg-accent" : "transparent"
@@ -157,6 +164,7 @@ export function Sidebar({ isOpen }: SidebarProps) {
<Link
key={series.id}
href={`/series/${series.id}`}
onClick={handleLinkClick}
className={cn(
"flex items-center rounded-lg px-3 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground",
pathname === `/series/${series.id}` ? "bg-accent" : "transparent"
@@ -192,6 +200,7 @@ export function Sidebar({ isOpen }: SidebarProps) {
<Link
key={library.id}
href={`/libraries/${library.id}`}
onClick={handleLinkClick}
className={cn(
"flex items-center rounded-lg px-3 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground",
pathname === `/libraries/${library.id}` ? "bg-accent" : "transparent"
@@ -210,6 +219,7 @@ export function Sidebar({ isOpen }: SidebarProps) {
<h2 className="mb-2 px-4 text-lg font-semibold tracking-tight">Configuration</h2>
<Link
href="/settings"
onClick={handleLinkClick}
className={cn(
"flex items-center rounded-lg px-3 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground",
pathname === "/settings" ? "bg-accent" : "transparent"