Fix Amplify environment variable access

- Simplified amplify.yml to export env var during build
- Updated both gallery and dadvocate pages to check multiple env var names
- Added debugging to show available env vars
- Added publicRuntimeConfig and serverRuntimeConfig to next.config.ts
- Created config helper in lib/config.ts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Derek Slenk 2025-06-27 15:33:58 -04:00
parent 2de4fb5f69
commit 06a0051c51
5 changed files with 29 additions and 30 deletions

View file

@ -33,10 +33,14 @@ const fallbackData: Video[] = [
];
async function getYouTubeVideos(ids: string[]): Promise<Video[]> {
const apiKey = process.env.YOUTUBE_API_KEY;
// Try multiple ways to get the API key
const apiKey = process.env.YOUTUBE_API_KEY ||
process.env.NEXT_PUBLIC_YOUTUBE_API_KEY ||
process.env.AMPLIFY_YOUTUBE_API_KEY || '';
if (!apiKey) {
console.warn("YOUTUBE_API_KEY environment variable not set. Using hardcoded video titles as fallback.");
console.log("Available env vars:", Object.keys(process.env).filter(k => k.includes('YOUTUBE') || k.includes('AMPLIFY')).join(', ') || 'none');
return fallbackData;
}

View file

@ -32,10 +32,14 @@ const fallbackData: Video[] = [
];
async function getYouTubeVideos(ids: string[]): Promise<Video[]> {
const apiKey = process.env.YOUTUBE_API_KEY;
// Try multiple ways to get the API key
const apiKey = process.env.YOUTUBE_API_KEY ||
process.env.NEXT_PUBLIC_YOUTUBE_API_KEY ||
process.env.AMPLIFY_YOUTUBE_API_KEY || '';
if (!apiKey) {
console.warn("YOUTUBE_API_KEY environment variable not set. Using hardcoded video titles as fallback.");
console.log("Available env vars:", Object.keys(process.env).filter(k => k.includes('YOUTUBE') || k.includes('AMPLIFY')).join(', ') || 'none');
return fallbackData;
}

7
src/lib/config.ts Normal file
View file

@ -0,0 +1,7 @@
// Configuration helper for environment variables
export const config = {
youtubeApiKey: process.env.YOUTUBE_API_KEY || process.env.NEXT_PUBLIC_YOUTUBE_API_KEY || '',
};
// Helper to check if we're in a server environment
export const isServer = typeof window === 'undefined';