Move 'clear cache' to dedicated admin page

This commit is contained in:
Sam Becker 2023-10-11 20:02:45 -05:00
parent c9b69de8c0
commit b5c52dae38
6 changed files with 48 additions and 47 deletions

View File

@ -2,9 +2,9 @@
import SiteGrid from '@/components/SiteGrid';
import {
PATH_ADMIN_SETTINGS,
PATH_ADMIN_CONFIGURATION,
checkPathPrefix,
isPathAdminSettings,
isPathAdminConfiguration,
} from '@/site/paths';
import { cc } from '@/utility/css';
import Link from 'next/link';
@ -47,8 +47,8 @@ export default function AdminNav({
</Link>)}
</div>
<Link
href={PATH_ADMIN_SETTINGS}
className={isPathAdminSettings(pathname)
href={PATH_ADMIN_CONFIGURATION}
className={isPathAdminConfiguration(pathname)
? 'font-bold'
: 'text-dim'}
>

View File

@ -0,0 +1,33 @@
import InfoBlock from '@/components/InfoBlock';
import SiteGrid from '@/components/SiteGrid';
import SubmitButtonWithStatus from '@/components/SubmitButtonWithStatus';
import { syncCacheAction } from '@/photo/actions';
import SiteChecklist from '@/site/SiteChecklist';
import { BiTrash } from 'react-icons/bi';
export const runtime = 'edge';
export default async function AdminConfigurationPage() {
return (
<SiteGrid
contentMain={
<div className="space-y-6">
<div className="flex items-center">
<div className="flex-grow">
Blog Configuration
</div>
<form action={syncCacheAction}>
<SubmitButtonWithStatus
icon={<BiTrash />}
>
Clear Cache
</SubmitButtonWithStatus>
</form>
</div>
<InfoBlock>
<SiteChecklist />
</InfoBlock>
</div>}
/>
);
}

View File

@ -5,9 +5,7 @@ import PhotoTiny from '@/photo/PhotoTiny';
import { cc } from '@/utility/css';
import FormWithConfirm from '@/components/FormWithConfirm';
import SiteGrid from '@/components/SiteGrid';
import {
deletePhotoAction, syncCacheAction } from '@/photo/actions';
import SubmitButtonWithStatus from '@/components/SubmitButtonWithStatus';
import { deletePhotoAction } from '@/photo/actions';
import {
pathForAdminPhotos,
pathForPhoto,
@ -21,7 +19,6 @@ import {
getPhotosCountIncludingHiddenCached,
} from '@/cache';
import { AiOutlineEyeInvisible } from 'react-icons/ai';
import { BiTrash } from 'react-icons/bi';
import {
PaginationParams,
getPaginationForSearchParams,
@ -56,21 +53,7 @@ export default async function AdminTagsPage({
<SiteGrid
contentMain={
<div className="space-y-6">
<div className="flex items-center">
<div className="flex-grow">
<PhotoUploadInput />
</div>
<form
className="hidden md:block"
action={syncCacheAction}
>
<SubmitButtonWithStatus
icon={<BiTrash />}
>
Clear Cache
</SubmitButtonWithStatus>
</form>
</div>
<PhotoUploadInput />
{blobPhotoUrls.length > 0 &&
<div className={cc(
'border-b pb-6',

View File

@ -1,15 +0,0 @@
import InfoBlock from '@/components/InfoBlock';
import SiteGrid from '@/components/SiteGrid';
import SiteChecklist from '@/site/SiteChecklist';
export const runtime = 'edge';
export default async function AdminSettingsPage() {
return (
<SiteGrid
contentMain={<InfoBlock>
<SiteChecklist />
</InfoBlock>}
/>
);
}

View File

@ -210,7 +210,7 @@ export default function SiteChecklistClient({
</ChecklistRow>
</Checklist>
<Checklist
title="Configuration"
title="Settings"
icon={<BiCog size={16} />}
>
<ChecklistRow

View File

@ -19,12 +19,12 @@ export const PATH_SIGN_IN = '/sign-in';
export const PATH_OG = '/og';
// Admin paths
export const PATH_ADMIN_PHOTOS = `${PATH_ADMIN}/photos`;
export const PATH_ADMIN_UPLOADS = `${PATH_ADMIN}/uploads`;
export const PATH_ADMIN_TAGS = `${PATH_ADMIN}/tags`;
export const PATH_ADMIN_UPLOAD = `${PATH_ADMIN}/uploads`;
export const PATH_ADMIN_UPLOAD_BLOB = `${PATH_ADMIN_UPLOAD}/blob`;
export const PATH_ADMIN_SETTINGS = `${PATH_ADMIN}/settings`;
export const PATH_ADMIN_PHOTOS = `${PATH_ADMIN}/photos`;
export const PATH_ADMIN_UPLOADS = `${PATH_ADMIN}/uploads`;
export const PATH_ADMIN_TAGS = `${PATH_ADMIN}/tags`;
export const PATH_ADMIN_UPLOAD = `${PATH_ADMIN}/uploads`;
export const PATH_ADMIN_UPLOAD_BLOB = `${PATH_ADMIN_UPLOAD}/blob`;
export const PATH_ADMIN_CONFIGURATION = `${PATH_ADMIN}/configuration`;
// Modifiers
const SHARE = 'share';
@ -170,8 +170,8 @@ export const isPathSignIn = (pathname?: string) =>
export const isPathAdmin = (pathname?: string) =>
checkPathPrefix(pathname, PATH_ADMIN);
export const isPathAdminSettings = (pathname?: string) =>
checkPathPrefix(pathname, PATH_ADMIN_SETTINGS);
export const isPathAdminConfiguration = (pathname?: string) =>
checkPathPrefix(pathname, PATH_ADMIN_CONFIGURATION);
export const isPathProtected = (pathname?: string) =>
checkPathPrefix(pathname, PATH_ADMIN);