diff --git a/src/site/SiteChecklistClient.tsx b/src/site/SiteChecklistClient.tsx index 9358a108..4b934054 100644 --- a/src/site/SiteChecklistClient.tsx +++ b/src/site/SiteChecklistClient.tsx @@ -40,8 +40,9 @@ export default function SiteChecklistClient({ currentStorage, hasAuthSecret, hasAdminUser, - hasTitle, hasDomain, + hasTitle, + hasDescription, showRepoLink, showSocial, showFilmSimulations, @@ -291,8 +292,14 @@ export default function SiteChecklistClient({ } - optional > + + Store in environment variable (displayed in top-right nav): + {renderEnvVars(['NEXT_PUBLIC_SITE_DOMAIN'])} + - Store in environment variable (displayed in top-right nav): - {renderEnvVars(['NEXT_PUBLIC_SITE_DOMAIN'])} + Store in environment variable (mainly used for OG meta): + {renderEnvVars(['NEXT_PUBLIC_SITE_DESCRIPTION'])} + {!simplifiedView && <> 0; + Boolean(process.env.POSTGRES_URL); export const POSTGRES_SSL_ENABLED = process.env.DISABLE_POSTGRES_SSL === '1' ? false : true; // STORAGE: VERCEL KV export const HAS_VERCEL_KV = - (process.env.KV_URL ?? '').length > 0; + Boolean(process.env.KV_URL); // STORAGE: VERCEL BLOB export const HAS_VERCEL_BLOB_STORAGE = - (process.env.BLOB_READ_WRITE_TOKEN ?? '').length > 0; + Boolean(process.env.BLOB_READ_WRITE_TOKEN); // STORAGE: Cloudflare R2 // Includes separate check for client-side usage, i.e., url construction export const HAS_CLOUDFLARE_R2_STORAGE_CLIENT = - (process.env.NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET ?? '').length > 0 && - (process.env.NEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID ?? '').length > 0 && - (process.env.NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN ?? '').length > 0; + Boolean(process.env.NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET) && + Boolean(process.env.NEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID) && + Boolean(process.env.NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN); export const HAS_CLOUDFLARE_R2_STORAGE = HAS_CLOUDFLARE_R2_STORAGE_CLIENT && - (process.env.CLOUDFLARE_R2_ACCESS_KEY ?? '').length > 0 && - (process.env.CLOUDFLARE_R2_SECRET_ACCESS_KEY ?? '').length > 0; + Boolean(process.env.CLOUDFLARE_R2_ACCESS_KEY) && + Boolean(process.env.CLOUDFLARE_R2_SECRET_ACCESS_KEY); // STORAGE: AWS S3 // Includes separate check for client-side usage, i.e., url construction export const HAS_AWS_S3_STORAGE_CLIENT = - (process.env.NEXT_PUBLIC_AWS_S3_BUCKET ?? '').length > 0 && - (process.env.NEXT_PUBLIC_AWS_S3_REGION ?? '').length > 0; + Boolean(process.env.NEXT_PUBLIC_AWS_S3_BUCKET) && + Boolean(process.env.NEXT_PUBLIC_AWS_S3_REGION); export const HAS_AWS_S3_STORAGE = HAS_AWS_S3_STORAGE_CLIENT && - (process.env.AWS_S3_ACCESS_KEY ?? '').length > 0 && - (process.env.AWS_S3_SECRET_ACCESS_KEY ?? '').length > 0; + Boolean(process.env.AWS_S3_ACCESS_KEY) && + Boolean(process.env.AWS_S3_SECRET_ACCESS_KEY); export const HAS_MULTIPLE_STORAGE_PROVIDERS = [ HAS_VERCEL_BLOB_STORAGE, @@ -164,13 +164,14 @@ export const CONFIG_CHECKLIST_STATUS = { ), hasMultipleStorageProviders: HAS_MULTIPLE_STORAGE_PROVIDERS, currentStorage: CURRENT_STORAGE, - hasAuthSecret: (process.env.AUTH_SECRET ?? '').length > 0, + hasAuthSecret: Boolean(process.env.AUTH_SECRET), hasAdminUser: ( - (process.env.ADMIN_EMAIL ?? '').length > 0 && - (process.env.ADMIN_PASSWORD ?? '').length > 0 + Boolean(process.env.ADMIN_EMAIL) && + Boolean(process.env.ADMIN_PASSWORD) ), - hasTitle: (process.env.NEXT_PUBLIC_SITE_TITLE ?? '').length > 0, - hasDomain: (process.env.NEXT_PUBLIC_SITE_DOMAIN ?? '').length > 0, + hasDomain: Boolean(process.env.NEXT_PUBLIC_SITE_DOMAIN), + hasTitle: Boolean(process.env.NEXT_PUBLIC_SITE_TITLE), + hasDescription: Boolean(process.env.NEXT_PUBLIC_SITE_DESCRIPTION), showRepoLink: SHOW_REPO_LINK, showSocial: SHOW_SOCIAL, showFilmSimulations: SHOW_FILM_SIMULATIONS,