import { AppShell } from '@/components/app/app-shell'
import { ViewSwitcher } from '@/components/app/view-switcher'
import { isRoleSwitchEnabled } from '@/lib/auth/env-users'
import { requireRoleRoute } from '@/lib/role-route'
import { loadBrokerPage, loadCompanyStatus, loadDashboardBase } from '@/lib/data/dashboard'
import { BrokerDashboard } from './broker-dashboard'

/** Freight Broker Dashboard (FB) — brokers and broker agents only. */
export default async function BrokerDashboardPage() {
  const { user, profile } = await requireRoleRoute('broker')
  const [base, brokerPage, companyStatus] = await Promise.all([
    loadDashboardBase(user),
    loadBrokerPage(user),
    loadCompanyStatus(user),
  ])
  return (
    <AppShell profile={profile}>
      {user.internal && !isRoleSwitchEnabled() && <ViewSwitcher current="broker" />}
      <BrokerDashboard
        trips={base.trips}
        warnings={base.warnings}
        brokerPage={brokerPage}
        permits={base.permits}
        drivers={base.drivers}
        userId={user.id}
        completions={base.completions}
        companyStatus={companyStatus}
      />
    </AppShell>
  )
}
