// @design-system: layout/DesktopTopBar
/**
 * useCustomerDesktopNavItems - returns standard customer DesktopTopBar items.
 *
 * Mirrors useCustomerNavItems (BottomNav) but uses md-sized icons and includes
 * the Club link that is accessible from desktop nav.
 */

import { useMemo } from 'react';
import { useT } from '@/lib/i18n/react';
import { Icon } from '@/components/ui/icons/Icon';
import {
  BASE_ALWAYS_ITEMS,
  BASE_LOGGED_IN_ITEMS,
  DESKTOP_EXTRA_ITEMS,
} from '@/lib/nav/customer-nav-items';
import type { DesktopTopBarItem } from './DesktopTopBar';

export function useCustomerDesktopNavItems(
  activePath: string,
  { isGuest = false }: { isGuest?: boolean } = {},
): DesktopTopBarItem[] {
  const tNav = useT('nav');
  return useMemo(
    () =>
      [...BASE_ALWAYS_ITEMS, ...(!isGuest ? BASE_LOGGED_IN_ITEMS : []), ...DESKTOP_EXTRA_ITEMS].map(
        (item) => ({
          href: item.href,
          icon: <Icon name={item.iconName} size="sm" />,
          label: tNav(item.labelKey as 'home'),
          active: item.activeMatch(activePath),
        }),
      ),
    [tNav, activePath, isGuest],
  );
}
