diff --git a/app/dashboard/Dashboard.tsx b/app/dashboard/Dashboard.tsx index 0a57fbd..2c47ce0 100644 --- a/app/dashboard/Dashboard.tsx +++ b/app/dashboard/Dashboard.tsx @@ -1,9 +1,47 @@ -"use client"; -export default function Dashboard() { - return ( -
-

Dashboard

-

Welcome to your dashboard

+import { AppSidebar } from "@/components/app-sidebar" +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbLink, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from "@/components/ui/breadcrumb" +import { Separator } from "@/components/ui/separator" +import { + SidebarInset, + SidebarProvider, + SidebarTrigger, +} from "@/components/ui/sidebar" + +export default function Page() { + return ( + + + +
+
+ + + + + + + / + + + + + Dashboard + + + +
+
+
+ Test
- ); -} \ No newline at end of file +
+
+ ) +} diff --git a/components/app-sidebar.tsx b/components/app-sidebar.tsx new file mode 100644 index 0000000..12c4874 --- /dev/null +++ b/components/app-sidebar.tsx @@ -0,0 +1,109 @@ +import * as React from "react" +import Image from "next/image" + +import { AppWindow, Settings, LayoutDashboardIcon, Briefcase } from "lucide-react" +import { + Sidebar, + SidebarContent, + SidebarGroup, + SidebarHeader, + SidebarMenu, + SidebarMenuButton, + SidebarMenuItem, + SidebarMenuSub, + SidebarMenuSubButton, + SidebarMenuSubItem, + SidebarRail, +} from "@/components/ui/sidebar" +import { Button } from "@/components/ui/button" + +import Link from "next/link" + +// This is sample data. +const data = { + navMain: [ + { + title: "Dashboard", + icon: LayoutDashboardIcon, + url: "/dashboard" + }, + { + title: "Customization", + url: "#", + icon: Briefcase, + items: [ + { + title: "Applications", + icon: AppWindow, + url: "/dashboard/applications", + }, + { + title: "Settings", + icon: Settings, + url: "/Dashboard/setting", + }, + ], + }, + ], +} + +export function AppSidebar({ ...props }: React.ComponentProps) { + return ( + + + + + + + Logo +
+ CoreControl + v0.0.1 +
+
+
+
+
+
+ + + + {data.navMain.map((item) => ( + + + + {item.icon && } + {item.title} + + + {item.items?.length ? ( + + {item.items.map((subItem) => ( + + + + {subItem.icon && } + {subItem.title} + + + + ))} + + ) : null} + + ))} + + + + {/* 🚀 Hier kommt der Logout-Button ganz unten */} +
+ +
+
+ + +
+ ) +} diff --git a/components/ui/breadcrumb.tsx b/components/ui/breadcrumb.tsx new file mode 100644 index 0000000..eb88f32 --- /dev/null +++ b/components/ui/breadcrumb.tsx @@ -0,0 +1,109 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { ChevronRight, MoreHorizontal } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { + return