@@ -52,7 +54,7 @@ export function DashboardLayout({
{title}
{description}
-
+
diff --git a/components/dashboard/sidebar.tsx b/components/dashboard/sidebar.tsx
index 907bebe..1b6e2b6 100644
--- a/components/dashboard/sidebar.tsx
+++ b/components/dashboard/sidebar.tsx
@@ -1,9 +1,8 @@
import type { ReactNode } from "react";
import Link from "next/link";
+import Image from "next/image";
import type { LucideIcon } from "lucide-react";
-import { ShieldCheck } from "lucide-react";
-import { Badge } from "@/components/ui/badge";
import { Separator } from "@/components/ui/separator";
import { cn } from "@/lib/utils";
@@ -17,10 +16,11 @@ type DashboardSidebarItem = {
type DashboardSidebarProps = {
items: DashboardSidebarItem[];
+ top?: ReactNode;
footer?: ReactNode;
};
-export function DashboardSidebar({ items, footer }: DashboardSidebarProps) {
+export function DashboardSidebar({ items, top, footer }: DashboardSidebarProps) {
function renderItem(item: DashboardSidebarItem, nested = false) {
const Icon = item.icon;
@@ -47,8 +47,8 @@ export function DashboardSidebar({ items, footer }: DashboardSidebarProps) {
return (
-
-
+
+
Mohs Admin
@@ -56,17 +56,7 @@ export function DashboardSidebar({ items, footer }: DashboardSidebarProps) {
-
-
-
-
-
Private panel
-
Single owner access
-
-
Private
-
-
-
+ {top ?
{top}
: null}
diff --git a/components/root/root-dashboard-shell.tsx b/components/root/root-dashboard-shell.tsx
index 121e7dc..235863c 100644
--- a/components/root/root-dashboard-shell.tsx
+++ b/components/root/root-dashboard-shell.tsx
@@ -2,9 +2,9 @@ import type { ReactNode } from "react";
import {
ArrowLeft,
FolderKanban,
+ Globe2,
ImageIcon,
LayoutDashboard,
- LogOut,
PlusSquare,
ShieldAlert,
SwatchBook,
@@ -27,13 +27,14 @@ type RootDashboardCopy = {
uiKit: string;
portfolio: string;
media: string;
+ siteSettings: string;
logout: string;
backToSite: string;
};
type RootDashboardShellProps = {
copy: RootDashboardCopy;
- active: "overview" | "maintenance" | "ui-kit" | "portfolio" | "media";
+ active: "overview" | "maintenance" | "ui-kit" | "portfolio" | "media" | "site-settings";
portfolioChild?: "overview" | "projects" | "new-project" | "categories";
logoutAction: () => Promise
;
headerTitle: string;
@@ -64,6 +65,8 @@ export function RootDashboardShell({
? ShieldAlert
: active === "ui-kit"
? SwatchBook
+ : active === "site-settings"
+ ? Globe2
: active === "media"
? ImageIcon
: portfolioChild === "categories"
@@ -74,18 +77,6 @@ export function RootDashboardShell({
const sharedActions = (
<>
-
-
>
);
@@ -95,6 +86,14 @@ export function RootDashboardShell({
description={headerDescription}
icon={headerIcon}
items={sidebarItems}
+ sidebarTop={
+
+ }
sidebarFooter={
<>
+
>
}
headerActions={