From 63e9ed6e3dff90eeef7c6ac02656b99a193530a2 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Wed, 5 Feb 2025 20:21:36 -0600 Subject: [PATCH] Add internal/admin debug tools to config page --- src/photo/db/query.ts | 4 ++-- src/site/SiteChecklistClient.tsx | 40 ++++++++++++++++++++++++++++++++ src/site/config.ts | 11 ++++++++- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/photo/db/query.ts b/src/photo/db/query.ts index 46a6c398..f4177276 100644 --- a/src/photo/db/query.ts +++ b/src/photo/db/query.ts @@ -14,7 +14,7 @@ import { import { Cameras, createCameraKey } from '@/camera'; import { Tags } from '@/tag'; import { FilmSimulation, FilmSimulations } from '@/simulation'; -import { ADMIN_DB_OPTIMIZE_ENABLED } from '@/site/config'; +import { ADMIN_SQL_DEBUG_ENABLED } from '@/site/config'; import { GetPhotosOptions, getLimitAndOffsetFromOptions, @@ -127,7 +127,7 @@ const safelyQueryPhotos = async ( } } - if (ADMIN_DB_OPTIMIZE_ENABLED && debugMessage) { + if (ADMIN_SQL_DEBUG_ENABLED && debugMessage) { const time = (((new Date()).getTime() - start.getTime()) / 1000).toFixed(2); console.log(`Executing sql query: ${debugMessage} (${time} seconds)`); diff --git a/src/site/SiteChecklistClient.tsx b/src/site/SiteChecklistClient.tsx index d0a27b78..1ab614e3 100644 --- a/src/site/SiteChecklistClient.tsx +++ b/src/site/SiteChecklistClient.tsx @@ -28,6 +28,7 @@ import SecretGenerator from './SecretGenerator'; import CopyButton from '@/components/CopyButton'; import { PiPaintBrushHousehold } from 'react-icons/pi'; import { IoMdGrid } from 'react-icons/io'; +import { CgDebug } from 'react-icons/cg'; export default function SiteChecklistClient({ // Storage @@ -86,6 +87,11 @@ export default function SiteChecklistClient({ isPublicApiEnabled, isPriorityOrderEnabled, isOgTextBottomAligned, + // Internal + areInternalToolsEnabled, + areAdminDebugToolsEnabled, + isAdminDbOptimizeEnabled, + isAdminSqlDebugEnabled, // Misc baseUrl, commitSha, @@ -657,6 +663,40 @@ export default function SiteChecklistClient({ {renderEnvVars(['NEXT_PUBLIC_OG_TEXT_ALIGNMENT'])} + {areInternalToolsEnabled && + } + optional + > + + Set environment variable to {'"1"'} to temporarily enable + features like photo matting, baseline grid, etc.: + {renderEnvVars(['ADMIN_DEBUG_TOOLS'])} + + + Set environment variable to {'"1"'} to prevent + homepages from seeding infinite scroll on load: + {renderEnvVars(['ADMIN_DB_OPTIMIZE'])} + + + Set environment variable to {'"1"'} to enable + console output for all sql queries: + {renderEnvVars(['ADMIN_SQL_DEBUG'])} + + } }
diff --git a/src/site/config.ts b/src/site/config.ts index a7121d59..43607ef7 100644 --- a/src/site/config.ts +++ b/src/site/config.ts @@ -4,7 +4,6 @@ import { makeUrlAbsolute, shortenUrl } from '@/utility/url'; // HARD-CODED GLOBAL CONFIGURATION export const SHOULD_PREFETCH_ALL_LINKS: boolean | undefined = undefined; -export const SHOULD_DEBUG_SQL = false; // META / SOURCE / DOMAINS export const SITE_TITLE = @@ -228,6 +227,7 @@ export const OG_TEXT_BOTTOM_ALIGNMENT = export const ADMIN_DEBUG_TOOLS_ENABLED = process.env.ADMIN_DEBUG_TOOLS === '1'; export const ADMIN_DB_OPTIMIZE_ENABLED = process.env.ADMIN_DB_OPTIMIZE === '1'; +export const ADMIN_SQL_DEBUG_ENABLED = process.env.ADMIN_SQL_DEBUG === '1'; export const CONFIG_CHECKLIST_STATUS = { // Storage @@ -307,6 +307,15 @@ export const CONFIG_CHECKLIST_STATUS = { isPublicApiEnabled: PUBLIC_API_ENABLED, isPriorityOrderEnabled: PRIORITY_ORDER_ENABLED, isOgTextBottomAligned: OG_TEXT_BOTTOM_ALIGNMENT, + // Internal + areInternalToolsEnabled: ( + ADMIN_DEBUG_TOOLS_ENABLED || + ADMIN_DB_OPTIMIZE_ENABLED || + ADMIN_SQL_DEBUG_ENABLED + ), + areAdminDebugToolsEnabled: ADMIN_DEBUG_TOOLS_ENABLED, + isAdminDbOptimizeEnabled: ADMIN_DB_OPTIMIZE_ENABLED, + isAdminSqlDebugEnabled: ADMIN_SQL_DEBUG_ENABLED, // Misc baseUrl: BASE_URL, commitSha: VERCEL_GIT_COMMIT_SHA_SHORT,