Move 'clear cache' to dedicated admin page
This commit is contained in:
parent
c9b69de8c0
commit
b5c52dae38
@ -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'}
|
||||
>
|
||||
|
||||
33
src/app/(auth-state)/admin/configuration/page.tsx
Normal file
33
src/app/(auth-state)/admin/configuration/page.tsx
Normal 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>}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -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',
|
||||
|
||||
@ -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>}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -210,7 +210,7 @@ export default function SiteChecklistClient({
|
||||
</ChecklistRow>
|
||||
</Checklist>
|
||||
<Checklist
|
||||
title="Configuration"
|
||||
title="Settings"
|
||||
icon={<BiCog size={16} />}
|
||||
>
|
||||
<ChecklistRow
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user