From 349b73a992cdbfdbad691438e3064d506ab8df3a Mon Sep 17 00:00:00 2001
From: Vojtech Mares
Date: Sun, 25 Jun 2023 10:19:28 +0200
Subject: [PATCH] feat: add sidebar layout from TailwindUI
---
src/components/Layout.tsx | 18 ++++
src/components/Sidebar.tsx | 166 +++++++++++++++++++++++++++++++++++++
src/pages/_document.tsx | 13 +++
src/pages/index.tsx | 39 ++-------
4 files changed, 203 insertions(+), 33 deletions(-)
create mode 100644 src/components/Layout.tsx
create mode 100644 src/components/Sidebar.tsx
create mode 100644 src/pages/_document.tsx
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx
new file mode 100644
index 0000000..b97ab83
--- /dev/null
+++ b/src/components/Layout.tsx
@@ -0,0 +1,18 @@
+import { Sidebar } from "~/components/Sidebar";
+
+export type LayoutProps = {
+ children: React.ReactNode;
+};
+
+export function Layout({ children }: LayoutProps) {
+ return (
+ <>
+
+
+
+ {children}
+
+
+ >
+ );
+}
diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx
new file mode 100644
index 0000000..1ddf1ca
--- /dev/null
+++ b/src/components/Sidebar.tsx
@@ -0,0 +1,166 @@
+import { Fragment, useState } from 'react';
+import { Dialog, Transition } from '@headlessui/react';
+import {
+ Bars3Icon,
+ CalendarIcon,
+ ChartPieIcon,
+ DocumentDuplicateIcon,
+ FolderIcon,
+ HomeIcon,
+ UsersIcon,
+ XMarkIcon,
+ ArrowRightOnRectangleIcon,
+} from '@heroicons/react/24/outline';
+
+const navigation = [
+ { name: 'Dashboard', href: '#', icon: HomeIcon, current: true },
+ { name: 'Team', href: '#', icon: UsersIcon, current: false },
+ { name: 'Projects', href: '#', icon: FolderIcon, current: false },
+ { name: 'Calendar', href: '#', icon: CalendarIcon, current: false },
+ { name: 'Documents', href: '#', icon: DocumentDuplicateIcon, current: false },
+ { name: 'Reports', href: '#', icon: ChartPieIcon, current: false },
+]
+
+function classNames(...classes: any) {
+ return classes.filter(Boolean).join(' ')
+}
+
+export function Sidebar() {
+ const [sidebarOpen, setSidebarOpen] = useState(false)
+
+ return (
+ <>
+
+
+
+
+ {/* Static sidebar for desktop */}
+
+ {/* Sidebar component, swap this element with another sidebar if you like */}
+
+
+ MaresHQ backoffice
+
+
+
+
+
+
+
+
Dashboard
+
+ Sign out
+
+
+
+ >
+ )
+}
diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx
new file mode 100644
index 0000000..bbfbd9c
--- /dev/null
+++ b/src/pages/_document.tsx
@@ -0,0 +1,13 @@
+import { Html, Head, Main, NextScript } from 'next/document'
+
+export default function Document() {
+ return (
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 2b6a387..3eccaeb 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -1,45 +1,18 @@
import Head from "next/head";
-import Link from "next/link";
+
+import { Layout } from "~/components/Layout";
export default function Home() {
return (
<>
- Create T3 App
+ MaresHQ backoffice
-
-
-
- Create T3 App
-
-
-
-
First Steps →
-
- Just the basics - Everything you need to know to set up your
- database and authentication.
-
-
-
-
Documentation →
-
- Learn more about Create T3 App, the libraries it uses, and how
- to deploy it.
-
-
-
-
-
+
+
+
>
);
}