import { NextRequest, NextResponse } from 'next/server' import { z } from 'zod' // Daily verses collection - you can expand this with more verses const DAILY_VERSES = [ { verse: "Căci Eu știu gândurile pe care le am cu privire la voi, zice Domnul, gânduri de pace și nu de rău, ca să vă dau un viitor și o speranță.", reference: "Ieremia 29:11", verseEn: "For I know the plans I have for you, declares the Lord, plans to prosper you and not to harm you, plans to give you hope and a future.", referenceEn: "Jeremiah 29:11" }, { verse: "Încrede-te în Domnul din toată inima ta și nu te bizui pe înțelepciunea ta.", reference: "Proverbe 3:5", verseEn: "Trust in the Lord with all your heart and lean not on your own understanding.", referenceEn: "Proverbs 3:5" }, { verse: "Pot totul în Hristos care mă întărește.", reference: "Filipeni 4:13", verseEn: "I can do all things through Christ who strengthens me.", referenceEn: "Philippians 4:13" }, { verse: "Și știm că toate lucrurile lucrează împreună pentru binele celor ce iubesc pe Dumnezeu.", reference: "Romani 8:28", verseEn: "And we know that in all things God works for the good of those who love him.", referenceEn: "Romans 8:28" }, { verse: "Nu te teme, căci Eu sunt cu tine; nu te uita cu îngrijorare, căci Eu sunt Dumnezeul tău!", reference: "Isaia 41:10", verseEn: "So do not fear, for I am with you; do not be dismayed, for I am your God.", referenceEn: "Isaiah 41:10" }, { verse: "Domnul este păstorul meu: nu voi duce lipsă de nimic.", reference: "Psalm 23:1", verseEn: "The Lord is my shepherd, I lack nothing.", referenceEn: "Psalm 23:1" }, { verse: "Bucurați-vă totdeauna în Domnul! Iarăși zic: Bucurați-vă!", reference: "Filipeni 4:4", verseEn: "Rejoice in the Lord always. I will say it again: Rejoice!", referenceEn: "Philippians 4:4" } ] function getDailyVerse(date: Date, locale: string = 'ro') { // Calculate day of year to ensure the same verse appears all day const start = new Date(date.getFullYear(), 0, 0) const diff = date.getTime() - start.getTime() const dayOfYear = Math.floor(diff / (1000 * 60 * 60 * 24)) // Use day of year to select verse consistently const verseIndex = dayOfYear % DAILY_VERSES.length const selectedVerse = DAILY_VERSES[verseIndex] const formatDate = (date: Date, locale: string) => { if (locale === 'ro') { return date.toLocaleDateString('ro-RO', { year: 'numeric', month: 'long', day: 'numeric' }) } else { return date.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) } } return { date: formatDate(date, locale), verse: locale === 'ro' ? selectedVerse.verse : selectedVerse.verseEn, reference: locale === 'ro' ? selectedVerse.reference : selectedVerse.referenceEn, dayOfYear, verseIndex } } export async function GET(request: NextRequest) { try { const { searchParams } = new URL(request.url) const locale = searchParams.get('locale') || 'ro' // Validate locale if (!['ro', 'en'].includes(locale)) { return NextResponse.json( { error: 'Invalid locale. Must be "ro" or "en".' }, { status: 400 } ) } const today = new Date() const dailyVerse = getDailyVerse(today, locale) return NextResponse.json({ success: true, data: dailyVerse }) } catch (error) { console.error('Daily verse API error:', error) return NextResponse.json( { error: 'Failed to get daily verse', message: error instanceof Error ? error.message : 'Unknown error' }, { status: 500 } ) } } // Optional: Add POST endpoint to add new verses (for admin use) export async function POST(request: NextRequest) { try { const body = await request.json() // This would typically save to database // For now, just return success return NextResponse.json({ success: true, message: 'Daily verse system is read-only for now' }) } catch (error) { console.error('Daily verse POST error:', error) return NextResponse.json( { error: 'Failed to process request' }, { status: 500 } ) } }