From 8e18eb7766926142af73944c8db4f32e7cfff74c Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Wed, 11 Oct 2023 11:00:34 -0500 Subject: [PATCH] Move checklist to admin settings --- src/admin/AdminNav.tsx | 18 ++++++++++++- .../{checklist => admin/settings}/page.tsx | 2 +- src/site/SiteChecklistClient.tsx | 2 +- src/site/paths.ts | 25 +++++++++++-------- 4 files changed, 34 insertions(+), 13 deletions(-) rename src/app/(auth-state)/{checklist => admin/settings}/page.tsx (84%) diff --git a/src/admin/AdminNav.tsx b/src/admin/AdminNav.tsx index bb44edda..d78c1434 100644 --- a/src/admin/AdminNav.tsx +++ b/src/admin/AdminNav.tsx @@ -1,9 +1,15 @@ 'use client'; import SiteGrid from '@/components/SiteGrid'; +import { + PATH_ADMIN_SETTINGS, + checkPathPrefix, + isPathAdminSettings, +} from '@/site/paths'; import { cc } from '@/utility/css'; import Link from 'next/link'; import { usePathname } from 'next/navigation'; +import { BiCog } from 'react-icons/bi'; export default function AdminNav({ items, @@ -20,10 +26,12 @@ export default function AdminNav({
{items.map(({ label, href, count }) => {label} ({count}) )}
+ + + } /> diff --git a/src/app/(auth-state)/checklist/page.tsx b/src/app/(auth-state)/admin/settings/page.tsx similarity index 84% rename from src/app/(auth-state)/checklist/page.tsx rename to src/app/(auth-state)/admin/settings/page.tsx index 21c74892..f58dd716 100644 --- a/src/app/(auth-state)/checklist/page.tsx +++ b/src/app/(auth-state)/admin/settings/page.tsx @@ -4,7 +4,7 @@ import SiteChecklist from '@/site/SiteChecklist'; export const runtime = 'edge'; -export default async function ChecklistPage() { +export default async function AdminSettingsPage() { return ( diff --git a/src/site/SiteChecklistClient.tsx b/src/site/SiteChecklistClient.tsx index 6487380d..c273389d 100644 --- a/src/site/SiteChecklistClient.tsx +++ b/src/site/SiteChecklistClient.tsx @@ -207,7 +207,7 @@ export default function SiteChecklistClient({ } > export const isPathCameraPhotoShare = (pathname = '') => new RegExp(`^${PREFIX_CAMERA}/[^/]+/[^/]+/${SHARE}/?$`).test(pathname); -export const isPathGrid = (pathname = '') => - pathname.startsWith(PATH_GRID); +export const checkPathPrefix = (pathname = '', prefix: string) => + pathname.toLowerCase().startsWith(prefix); -export const isPathSignIn = (pathname = '') => - pathname.startsWith(PATH_SIGN_IN); +export const isPathGrid = (pathname?: string) => + checkPathPrefix(pathname, PATH_GRID); -export const isPathAdmin = (pathname = '') => - pathname.startsWith(PATH_ADMIN); +export const isPathSignIn = (pathname?: string) => + checkPathPrefix(pathname, PATH_SIGN_IN); -export const isPathProtected = (pathname = '') => - pathname.startsWith(PATH_ADMIN) || - pathname === PATH_CHECKLIST; +export const isPathAdmin = (pathname?: string) => + checkPathPrefix(pathname, PATH_ADMIN); + +export const isPathAdminSettings = (pathname?: string) => + checkPathPrefix(pathname, PATH_ADMIN_SETTINGS); + +export const isPathProtected = (pathname?: string) => + checkPathPrefix(pathname, PATH_ADMIN); export const getPathComponents = (pathname = ''): { photoId?: string