diff --git a/lib/blog.ts b/lib/blog.ts index f233ffb7..5d694ff3 100644 --- a/lib/blog.ts +++ b/lib/blog.ts @@ -59,15 +59,14 @@ export async function getPostBySlug(slug: string, locale: string): Promise { try { const payload = await getPayload({ config: configPromise }); - const isDev = process.env.NODE_ENV === 'development' || process.env.TARGET === 'staging'; const { docs } = await payload.find({ collection: 'posts', where: { - ...(!isDev ? { _status: { equals: 'published' } } : {}), + ...(!config.showDrafts ? { _status: { equals: 'published' } } : {}), }, locale: locale as any, sort: '-date', - draft: isDev, + draft: config.showDrafts, limit: 100, }); diff --git a/lib/config.ts b/lib/config.ts index f9d18f63..150b913a 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -29,6 +29,7 @@ function createConfig() { isStaging: target === 'staging', isTesting: target === 'testing', isDevelopment: target === 'development', + showDrafts: target === 'development' || target === 'testing' || target === 'staging', feedbackEnabled: env.NEXT_PUBLIC_FEEDBACK_ENABLED, gatekeeperUrl: env.GATEKEEPER_URL, @@ -116,6 +117,9 @@ export const config = { get isDevelopment() { return getConfig().isDevelopment; }, + get showDrafts() { + return getConfig().showDrafts; + }, get baseUrl() { return getConfig().baseUrl; }, diff --git a/lib/products.ts b/lib/products.ts index 22cc3a0a..5b53080e 100644 --- a/lib/products.ts +++ b/lib/products.ts @@ -1,6 +1,7 @@ import { getPayload } from 'payload'; import configPromise from '@payload-config'; import { mapSlugToFileSlug } from './slugs'; +import { config } from '@/lib/config'; export interface ProductFrontmatter { title: string; @@ -26,13 +27,12 @@ export async function getProductMetadata( const payload = await getPayload({ config: configPromise }); const fileSlug = await mapSlugToFileSlug(slug, locale); - const isDev = process.env.NODE_ENV === 'development' || process.env.TARGET === 'staging'; const result = await payload.find({ collection: 'products', where: { and: [ { slug: { equals: fileSlug } }, - ...(!isDev ? [{ _status: { equals: 'published' } }] : []), + ...(!config.showDrafts ? [{ _status: { equals: 'published' } }] : []), ], }, locale: locale as any, @@ -70,13 +70,12 @@ export async function getProductBySlug(slug: string, locale: string): Promise { try { const payload = await getPayload({ config: configPromise }); - const isDev = process.env.NODE_ENV === 'development' || process.env.TARGET === 'staging'; const result = await payload.find({ collection: 'products', where: { - ...(!isDev ? { _status: { equals: 'published' } } : {}), + ...(!config.showDrafts ? { _status: { equals: 'published' } } : {}), }, locale: locale as any, pagination: false, @@ -157,11 +155,10 @@ export async function getAllProducts(locale: string): Promise { images: true, } as const; - const isDev = process.env.NODE_ENV === 'development' || process.env.TARGET === 'staging'; const result = await payload.find({ collection: 'products', where: { - ...(!isDev ? { _status: { equals: 'published' } } : {}), + ...(!config.showDrafts ? { _status: { equals: 'published' } } : {}), }, locale: locale as any, depth: 1,