From 2180d798d0075f33b3d2f1fa151a91594da6b77a Mon Sep 17 00:00:00 2001 From: Brandon Egger Date: Thu, 24 Aug 2023 13:30:09 -0500 Subject: [PATCH] add generic layout for reuse --- src/components/notice.tsx | 26 +++++++++++---------- src/layouts/HeaderFooterLayout.tsx | 13 +++++++++++ src/pages/resources/[id]/edit.tsx | 13 ++++------- src/pages/resources/[id]/index.tsx | 37 +++++++++++++----------------- src/pages/resources/index.tsx | 15 +++++------- 5 files changed, 54 insertions(+), 50 deletions(-) create mode 100644 src/layouts/HeaderFooterLayout.tsx diff --git a/src/components/notice.tsx b/src/components/notice.tsx index 5bd5d70..8b7ee5d 100644 --- a/src/components/notice.tsx +++ b/src/components/notice.tsx @@ -12,18 +12,20 @@ export const ErrorNotice = ({ return ( <> {header ? ( -
- {icon ? ( -
- -
- ) : undefined} - {header} - {body ? ( -

- {body} -

- ) : undefined} +
+
+ {icon ? ( +
+ +
+ ) : undefined} + {header} + {body ? ( +

+ {body} +

+ ) : undefined} +
) : undefined} diff --git a/src/layouts/HeaderFooterLayout.tsx b/src/layouts/HeaderFooterLayout.tsx new file mode 100644 index 0000000..24dd96a --- /dev/null +++ b/src/layouts/HeaderFooterLayout.tsx @@ -0,0 +1,13 @@ +import { type ReactNode } from "react"; +import Footer from "~/components/Footer"; +import Header from "~/components/Header"; + +export const HeaderFooterLayout = ({ children }: { children: ReactNode }) => { + return ( +
+
+
{children}
+
+
+ ); +}; diff --git a/src/pages/resources/[id]/edit.tsx b/src/pages/resources/[id]/edit.tsx index 9adaf44..7c9b421 100644 --- a/src/pages/resources/[id]/edit.tsx +++ b/src/pages/resources/[id]/edit.tsx @@ -1,6 +1,4 @@ import { XCircleIcon } from "@heroicons/react/20/solid"; -import Footer from "~/components/Footer"; -import Header from "~/components/Header"; import { AdminBarLayout } from "~/components/admin/ControlBar"; import { AdminActionButton, AdminActionLink } from "~/components/admin/common"; import Image from "next/image"; @@ -12,6 +10,7 @@ import { useState } from "react"; import { useForm, type SubmitHandler } from "react-hook-form"; import { api } from "~/utils/api"; import { useRouter } from "next/router"; +import { HeaderFooterLayout } from "~/layouts/HeaderFooterLayout"; const EditResourcePage = () => { const router = useRouter(); @@ -48,8 +47,7 @@ const EditResourcePage = () => { } return ( - <> -
+ { />, ]} > -
+
-
+
-