diff --git a/src/image-response/components/ImagePhotoGrid.tsx b/src/image-response/components/ImagePhotoGrid.tsx index 3722d562..c855efd8 100644 --- a/src/image-response/components/ImagePhotoGrid.tsx +++ b/src/image-response/components/ImagePhotoGrid.tsx @@ -5,6 +5,7 @@ import { NextImageSize, getNextImageUrlForRequest, } from '@/services/next-image'; +import { IS_PREVIEW } from '@/site/config'; export default function ImagePhotoGrid({ photos, @@ -64,7 +65,12 @@ export default function ImagePhotoGrid({ }} > { const url = new URL(`${baseUrl}/_next/image`); @@ -21,6 +26,10 @@ export const getNextImageUrlForRequest = ( url.searchParams.append('w', size.toString()); url.searchParams.append('q', quality.toString()); + if (addBypassSecret && VERCEL_BYPASS_SECRET) { + url.searchParams.append(VERCEL_BYPASS_KEY, VERCEL_BYPASS_SECRET); + } + return url.toString(); }; diff --git a/src/site/config.ts b/src/site/config.ts index 0f1ecce6..7a632de7 100644 --- a/src/site/config.ts +++ b/src/site/config.ts @@ -37,6 +37,7 @@ export const IS_PRODUCTION = process.env.NODE_ENV === 'production' && ( export const IS_PREVIEW = VERCEL_ENV === 'preview'; +export const VERCEL_BYPASS_KEY = 'x-vercel-protection-bypass'; export const VERCEL_BYPASS_SECRET = process.env.VERCEL_AUTOMATION_BYPASS_SECRET; // User-facing domain, potential site title diff --git a/src/utility/useOnVisible.ts b/src/utility/useOnVisible.ts index 97a35406..b3948420 100644 --- a/src/utility/useOnVisible.ts +++ b/src/utility/useOnVisible.ts @@ -1,7 +1,7 @@ import { useEffect } from 'react'; export default function useOnVisible( - ref: React.RefObject, + ref: React.RefObject, onVisible?: () => void ) { useEffect(() => { diff --git a/src/utility/vercel.ts b/src/utility/vercel.ts index 7ab10dcd..76fabb82 100644 --- a/src/utility/vercel.ts +++ b/src/utility/vercel.ts @@ -1,12 +1,16 @@ -import { IS_PREVIEW, VERCEL_BYPASS_SECRET } from "@/site/config"; +import { + IS_PREVIEW, + VERCEL_BYPASS_KEY, + VERCEL_BYPASS_SECRET, +} from '@/site/config'; export const fetchBypass: typeof fetch = (url, options) => IS_PREVIEW && VERCEL_BYPASS_SECRET - ? fetch(url, { - ...options, - headers: { - ...options?.headers, - 'x-vercel-protection-bypass': VERCEL_BYPASS_SECRET - }, - }) - : fetch(url, options); + ? fetch(url, { + ...options, + headers: { + ...options?.headers, + [VERCEL_BYPASS_KEY]: VERCEL_BYPASS_SECRET, + }, + }) + : fetch(url, options);