diff --git a/app/(admin)/admin/dashboard/page.tsx b/app/(admin)/admin/dashboard/page.tsx deleted file mode 100644 index 3c31f0b..0000000 --- a/app/(admin)/admin/dashboard/page.tsx +++ /dev/null @@ -1,34 +0,0 @@ -"use client"; - -import DashboardContainer from "@/components/main/dashboard/dashboard-container"; -import { motion } from "framer-motion"; -import { useEffect, useState } from "react"; - -export default function AdminPage() { - const [mounted, setMounted] = useState(false); - - useEffect(() => { - setMounted(true); - }, []); - - if (!mounted) { - return ( -
+
+ );
+};
+
+export default Logo;
diff --git a/components/main/dashboard/dashboard-container.tsx b/components/main/dashboard/dashboard-container.tsx
index 4f2e0e1..61d8d44 100644
--- a/components/main/dashboard/dashboard-container.tsx
+++ b/components/main/dashboard/dashboard-container.tsx
@@ -125,18 +125,19 @@ export default function DashboardContainer() {
return (
{username}
- +Welcome back,
+{username}
+Admin Dashboard
- {summary?.totalAll} +
+ {summary?.totalAll || 0}
-Total Posts
+Total Posts
- {summary?.totalViews} +
+ {summary?.totalViews || 0}
-Total Views
+Total Views
- {summary?.totalShares} +
+ {summary?.totalShares || 0}
-Total Shares
+Total Shares
- {summary?.totalComments} +
+ {summary?.totalComments || 0}
-Total Comments
+Total Comments
Chart will be displayed here
++
{convertDateFormat(list?.createdAt)}
+ {otpValidate} +
+ )} + + +{color}
++ Template Customizer +
++ Customize and preview in real time +
+{color}
+
+
+ ) : (
+ !isDesktop && (
+
+
+
+ )
+ );
+};
+
+export default HeaderLogo;
diff --git a/components/partials/header/header-search.tsx b/components/partials/header/header-search.tsx
new file mode 100644
index 0000000..7b32dc3
--- /dev/null
+++ b/components/partials/header/header-search.tsx
@@ -0,0 +1,222 @@
+'use client'
+import React from "react";
+import { Dialog, DialogContent, DialogTrigger } from "@/components/ui/dialog";
+import { X } from "lucide-react";
+import {
+ Command,
+ CommandEmpty,
+ CommandGroup,
+ CommandInput,
+ CommandItem,
+ CommandList,
+} from "@/components/ui/command";
+import { Button } from "@/components/ui/button";
+import { Link } from '@/i18n/routing';
+import { Icon } from "@/components/ui/icon";
+import { useConfig } from "@/hooks/use-config";
+const HeaderSearch = () => {
+ const [config] = useConfig();
+ if (config.layout === 'horizontal') return null
+ return (
+
+ );
+};
+
+export default HeaderSearch;
diff --git a/components/partials/header/horizontal-menu.tsx b/components/partials/header/horizontal-menu.tsx
new file mode 100644
index 0000000..6c09709
--- /dev/null
+++ b/components/partials/header/horizontal-menu.tsx
@@ -0,0 +1,127 @@
+'use client'
+import React from "react";
+import { cn } from "@/lib/utils";
+import { ChevronDown } from "lucide-react";
+import { Link, usePathname } from "@/components/navigation";
+import { useConfig } from '@/hooks/use-config'
+import { useTranslations } from 'next-intl';
+import { getHorizontalMenuList } from "@/lib/menus";
+import { Icon } from "@/components/ui/icon";
+import {
+ Menubar,
+ MenubarCheckboxItem,
+ MenubarContent,
+ MenubarItem,
+ MenubarMenu,
+ MenubarRadioGroup,
+ MenubarRadioItem,
+ MenubarSeparator,
+ MenubarShortcut,
+ MenubarSub,
+ MenubarSubContent,
+ MenubarSubTrigger,
+ MenubarTrigger,
+} from "@/components/ui/menubar"
+import { useMediaQuery } from "@/hooks/use-media-query";
+
+export default function HorizontalMenu() {
+
+ const [config] = useConfig()
+
+ const t = useTranslations("Menu");
+ const pathname = usePathname();
+
+ const menuList = getHorizontalMenuList(pathname, t)
+
+ const [openDropdown, setOpenDropdown] = React.useState({detail?.username})
+{label}
+ ++ {label} +
+ ) +} + +export default MenuLabel \ No newline at end of file diff --git a/components/partials/sidebar/common/menu-widget.tsx b/components/partials/sidebar/common/menu-widget.tsx new file mode 100644 index 0000000..216ee16 --- /dev/null +++ b/components/partials/sidebar/common/menu-widget.tsx @@ -0,0 +1,31 @@ +'use client' +import { Button } from '@/components/ui/button' +import { useConfig } from '@/hooks/use-config' +import Image from 'next/image' +import React from 'react' + +const MenuWidget = () => { + const [config] = useConfig(); + if (config.sidebar === 'compact') return null + return ( +
+
+ + {date} +
+