import { NextResponse } from 'next/server';
import { getMegaItems } from '@/app/components/common/MegaMenuData';

// Enable caching for 1 hour - menu data rarely changes
export const revalidate = 3600;
export const dynamic = 'force-dynamic'; // getMegaItems uses serverApiClient with cookies

/**
 * API route to fetch mega menu items
 * Cached server-side to reduce costs on AWS Amplify
 */
export async function GET() {
  try {
    const megaItems = await getMegaItems();
    
    return NextResponse.json(
      { 
        success: true, 
        data: megaItems 
      },
      {
        headers: {
          'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=7200',
        },
      }
    );
  } catch (error: any) {
    console.error('Error fetching mega menu items:', error);
    return NextResponse.json(
      { 
        success: false, 
        message: error.message || 'Failed to fetch menu items',
        data: []
      },
      { status: 500 }
    );
  }
}
