diff --git a/apps/web/components/layout.tsx b/apps/web/components/layout.tsx
index 970860612..82c7279ba 100644
--- a/apps/web/components/layout.tsx
+++ b/apps/web/components/layout.tsx
@@ -2,7 +2,7 @@ import { Fragment } from "react";
import { Disclosure, Menu, Transition } from "@headlessui/react";
import Link from "next/link";
import { useRouter } from "next/router";
-import { signOut } from "next-auth/react";
+import Navigation from "./navigation";
import {
Bars3Icon,
@@ -12,6 +12,7 @@ import {
UserCircleIcon,
} from "@heroicons/react/24/outline";
import Logo from "./logo";
+import { signOut, useSession } from "next-auth/react";
const user = {
name: "Timur Ercan",
@@ -47,164 +48,12 @@ export default function Layout({ children }: any) {
element.current = router.route.startsWith("/" + element.href.split("/")[1]);
});
+ const session = useSession();
+
return (
<>
-
- {({ open }) => (
- <>
-
-
-
-
-
-
-
- {navigation.map((item) => (
-
- {item.name}
-
- ))}
-
-
-
-
-
-
- {/* Mobile menu button */}
-
- Open main menu
- {open ? (
-
- ) : (
-
- )}
-
-
-
-
-
-
-
- {navigation.map((item) => (
-
- {item.name}
-
- ))}
-
-
-
-
-

-
-
-
- {user.name}
-
-
- {user.email}
-
-
-
-
-
- {userNavigation.map((item) => (
-
- {item.name}
-
- ))}
-
-
-
- >
- )}
-
-
+
{children}
diff --git a/apps/web/components/navigation.tsx b/apps/web/components/navigation.tsx
new file mode 100644
index 000000000..3a5d813fa
--- /dev/null
+++ b/apps/web/components/navigation.tsx
@@ -0,0 +1,204 @@
+import { Fragment } from "react";
+import { Disclosure, Menu, Transition } from "@headlessui/react";
+import Link from "next/link";
+import { useRouter } from "next/router";
+import { signOut, useSession } from "next-auth/react";
+
+import {
+ Bars3Icon,
+ BellIcon,
+ XMarkIcon,
+ ArrowLeftOnRectangleIcon,
+ UserCircleIcon,
+} from "@heroicons/react/24/outline";
+import Logo from "./logo";
+
+const user = {
+ name: "Timur Ercan",
+ email: "timur@documenso.com",
+ imageUrl:
+ "https://pbs.twimg.com/profile_images/1382036502390181888/4BT30oTM_400x400.jpg",
+};
+const navigation = [
+ { name: "Dashboard", href: "/dashboard", current: false },
+ { name: "Documents", href: "/documents", current: false },
+ { name: "Settings", href: "/settings", current: true },
+];
+const userNavigation = [
+ { name: "Your Profile", href: "/settings/profile", icon: UserCircleIcon },
+ {
+ name: "Sign out",
+ href: "",
+ click: (e: any) => {
+ e.preventDefault();
+ signOut({ callbackUrl: "/login" });
+ },
+ icon: ArrowLeftOnRectangleIcon,
+ },
+];
+
+function classNames(...classes: any) {
+ return classes.filter(Boolean).join(" ");
+}
+
+export default function TopNavigation() {
+ // const session = useSession();
+
+ const router = useRouter();
+ navigation.forEach((element) => {
+ element.current = router.route.startsWith("/" + element.href.split("/")[1]);
+ });
+
+ return (
+ <>
+
+ {({ open }) => (
+ <>
+
+
+
+
+
+
+
+ {navigation.map((item) => (
+
+ {item.name}
+
+ ))}
+
+
+
+
+
+
+ {/* Mobile menu button */}
+
+ Open main menu
+ {open ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+ {navigation.map((item) => (
+
+ {item.name}
+
+ ))}
+
+
+
+
+

+
+
+
+ {user.name}
+
+
+ {user.email}
+
+
+
+
+
+ {userNavigation.map((item) => (
+
+ {item.name}
+
+ ))}
+
+
+
+ >
+ )}
+
+ >
+ );
+}
diff --git a/apps/web/pages/_app.tsx b/apps/web/pages/_app.tsx
index a98d61f27..3ae2996cf 100644
--- a/apps/web/pages/_app.tsx
+++ b/apps/web/pages/_app.tsx
@@ -18,9 +18,9 @@ export default function App({
pageProps: { session, ...pageProps },
}: AppPropsWithLayout) {
const getLayout = Component.getLayout || ((page: any) => page);
- return getLayout(
+ return (
- {" "}
+ {getLayout()}
);
}