import { redirect } from 'next/navigation'
import { createClient } from '@/lib/supabase/server'
import { Sidebar } from '@/components/sidebar'
import { getSelectedBranchId } from '@/lib/branch'

export default async function DashboardLayout({ children }: { children: React.ReactNode }) {
  const supabase = await createClient()
  const { data: { user } } = await supabase.auth.getUser()

  if (!user) redirect('/auth/login')

  const { data: org } = await supabase
    .from('organizations')
    .select('id, name')
    .eq('owner_id', user.id)
    .single()

  const { data: branches } = await supabase
    .from('branches')
    .select('id, name')
    .eq('org_id', org?.id ?? '')
    .order('created_at')

  const branchList = branches ?? []
  const currentBranchId = await getSelectedBranchId(branchList)

  return (
    <div className="flex h-screen overflow-hidden">
      <Sidebar
        shopName={org?.name ?? 'Кофе Шоп'}
        branches={branchList}
        currentBranchId={currentBranchId}
      />
      <main className="flex-1 overflow-y-auto bg-gray-50 p-6">
        {children}
      </main>
    </div>
  )
}
