import { orNull } from '@/lib/api/client';
import { getCities } from '@/lib/api/services/events';
import { getPublicSiteSettings } from '@/lib/public/site-settings';
import { listHeaderMenuTree } from '@/lib/menus/header';
import HeaderNav from './HeaderNav';

export default async function Header() {
  // Read menus from MySQL directly (not Redis-backed public API) so Appearance
  // saves show up as soon as the root layout is revalidated.
  const [cities, items, settings] = await Promise.all([
    getCities(),
    orNull(listHeaderMenuTree({ visibleOnly: true })),
    orNull(getPublicSiteSettings()),
  ]);
  return (
    <HeaderNav
      cities={cities}
      items={items ?? []}
      logoUrl={settings?.logoUrl ?? ''}
      siteName={settings?.siteName ?? 'CMORoom'}
    />
  );
}
