From eb7da996a7c2d617d276f296cac07a6fd5648664 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 27 Oct 2024 12:03:14 +0000 Subject: ui: Redesign the settings page and move it to its own layout --- .../components/settings/sidebar/ModileSidebar.tsx | 19 ++++++++++++ apps/web/components/settings/sidebar/Sidebar.tsx | 34 ++++++++++++++++++++++ apps/web/components/settings/sidebar/items.tsx | 34 ++++++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 apps/web/components/settings/sidebar/ModileSidebar.tsx create mode 100644 apps/web/components/settings/sidebar/Sidebar.tsx create mode 100644 apps/web/components/settings/sidebar/items.tsx (limited to 'apps/web/components/settings/sidebar') diff --git a/apps/web/components/settings/sidebar/ModileSidebar.tsx b/apps/web/components/settings/sidebar/ModileSidebar.tsx new file mode 100644 index 00000000..2016c931 --- /dev/null +++ b/apps/web/components/settings/sidebar/ModileSidebar.tsx @@ -0,0 +1,19 @@ +import MobileSidebarItem from "@/components/shared/sidebar/ModileSidebarItem"; + +import { settingsSidebarItems } from "./items"; + +export default async function MobileSidebar() { + return ( + + ); +} diff --git a/apps/web/components/settings/sidebar/Sidebar.tsx b/apps/web/components/settings/sidebar/Sidebar.tsx new file mode 100644 index 00000000..247e0916 --- /dev/null +++ b/apps/web/components/settings/sidebar/Sidebar.tsx @@ -0,0 +1,34 @@ +import { redirect } from "next/navigation"; +import SidebarItem from "@/components/shared/sidebar/SidebarItem"; +import { getServerAuthSession } from "@/server/auth"; + +import serverConfig from "@hoarder/shared/config"; + +import { settingsSidebarItems } from "./items"; + +export default async function Sidebar() { + const session = await getServerAuthSession(); + if (!session) { + redirect("/"); + } + + return ( + + ); +} diff --git a/apps/web/components/settings/sidebar/items.tsx b/apps/web/components/settings/sidebar/items.tsx new file mode 100644 index 00000000..999825db --- /dev/null +++ b/apps/web/components/settings/sidebar/items.tsx @@ -0,0 +1,34 @@ +import React from "react"; +import { ArrowLeft, Download, KeyRound, Sparkles, User } from "lucide-react"; + +export const settingsSidebarItems: { + name: string; + icon: JSX.Element; + path: string; +}[] = [ + { + name: "Back To App", + icon: , + path: "/dashboard/bookmarks", + }, + { + name: "User Info", + icon: , + path: "/settings/info", + }, + { + name: "AI Settings", + icon: , + path: "/settings/ai", + }, + { + name: "Import / Export", + icon: , + path: "/settings/import", + }, + { + name: "API Keys", + icon: , + path: "/settings/api-keys", + }, +]; -- cgit v1.2.3-70-g09d2