import { cookies } from 'next/headers'
import { getAllNotes } from '@/app/actions/notes'
import { getAISettings } from '@/app/actions/ai-settings'
import { HomeClient } from '@/components/home-client'
import { NOTES_LAYOUT_COOKIE, parseNotesLayoutMode } from '@/lib/notes-view-preference'

export default async function HomePage() {
  const [allNotes, settings, cookieStore] = await Promise.all([
    getAllNotes(),
    getAISettings(),
    cookies(),
  ])

  const initialLayoutMode = parseNotesLayoutMode(cookieStore.get(NOTES_LAYOUT_COOKIE)?.value)

  return (
    <HomeClient
      initialNotes={allNotes}
      initialLayoutMode={initialLayoutMode}
      initialSettings={{
        showRecentNotes: settings?.showRecentNotes !== false,
        noteHistory: settings?.noteHistory === true,
        noteHistoryMode: (settings?.noteHistoryMode ?? 'manual') as 'manual' | 'auto',
        aiAssistantEnabled: settings?.paragraphRefactor !== false,
      }}
    />
  )
}
