import { NextRequest, NextResponse } from 'next/server' import { mockDb } from '@/lib/mockDb' export async function GET(req: NextRequest) { const { searchParams } = new URL(req.url) const neighborhoodSlug = searchParams.get('neighborhood') if (!neighborhoodSlug) { return NextResponse.json({ error: 'Neighborhood is required' }, { status: 400 }) } // Get neighborhood const neighborhood = await mockDb.getNeighborhoodBySlug(neighborhoodSlug) if (!neighborhood) { return NextResponse.json({ listings: [] }, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, OPTIONS', } }) } // Get listings in that neighborhood const listings = await mockDb.getListings({ neighborhoodId: neighborhood.id }) // Format response matching widget needs const formattedListings = listings.map(l => ({ id: l.id, name: l.nameTr, nameEn: l.nameEn, nameRu: l.nameRu, slug: l.slug, categorySlug: l.category?.slug || 'isletme', categoryName: l.category?.nameTr || '', neighborhoodName: l.neighborhood?.nameTr || '', rating: l.rating, priceSymbols: '₺'.repeat(l.priceRange), coverImage: l.images && l.images.length > 0 ? l.images[0].url : 'https://images.unsplash.com/photo-1555396273-367ea4eb4db5?w=800&auto=format&fit=crop&q=80' })) return NextResponse.json({ listings: formattedListings }, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, OPTIONS', } }) } // Handle preflight OPTIONS request export async function OPTIONS() { return new NextResponse(null, { headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type', } }) }