conflict-nuxt-4/app/middleware/sidebar-items.js
2026-02-12 11:24:27 +03:30

34 lines
1.2 KiB
JavaScript
Executable File

export default defineNuxtRouteMiddleware((to, from) => {
// تعریف سایدبار پیش‌فرض
const defaultSidebar = {
topMenu: [
{
label: "پیشخوان",
icon: "i-lucide-home",
to: "/dashboard/base",
active: true,
},
{ label: "اعلانات", icon: "i-lucide-bell", to: "/", badge: "۳" },
{ label: "علاقه‌مندی‌ها", icon: "i-lucide-bookmark", to: "/" },
{ label: "تقویم", icon: "i-lucide-calendar", to: "/" },
],
bottomMenu: [
{ label: "تم", icon: "i-lucide-palette", to: "/" },
{ label: "زبان", icon: "i-lucide-languages", to: "/" },
{ label: "حساب کاربری", icon: "i-lucide-user", to: "/" },
{ label: "راهنما", icon: "i-lucide-help-circle", to: "/" },
],
};
// بررسی آیا route فعلی sidebarItems دارد یا نه
const routeSidebar = to.meta?.sidebarItems;
if (routeSidebar) {
// استفاده از سایدبار تعریف شده در route
useState("sidebar", () => routeSidebar);
} else {
// استفاده از پیش‌فرض
useState("sidebar", () => defaultSidebar);
}
});