import type { IconName } from '@/components/ui/icons/Icon';

export interface CustomerNavItemDef {
  href: string;
  labelKey: string;
  iconName: IconName;
  activeMatch: (path: string) => boolean;
}

export const BASE_ALWAYS_ITEMS: CustomerNavItemDef[] = [
  { href: '/', labelKey: 'home', iconName: 'Check', activeMatch: (p) => p === '/' },
  { href: '/search', labelKey: 'search', iconName: 'Search', activeMatch: (p) => p === '/search' },
  {
    href: '/stores',
    labelKey: 'stores',
    iconName: 'Store',
    activeMatch: (p) => p.startsWith('/stores'),
  },
];

export const BASE_LOGGED_IN_ITEMS: CustomerNavItemDef[] = [
  {
    href: '/purchases',
    labelKey: 'purchases',
    iconName: 'ShoppingBag',
    activeMatch: (p) => p.startsWith('/purchases'),
  },
  {
    href: '/profile',
    labelKey: 'profile',
    iconName: 'User',
    activeMatch: (p) => p.startsWith('/profile'),
  },
];

export const DESKTOP_EXTRA_ITEMS: CustomerNavItemDef[] = [
  {
    href: '/club',
    labelKey: 'club',
    iconName: 'Star',
    activeMatch: (p) => p.startsWith('/club'),
  },
];

export const BASE_CUSTOMER_NAV_ITEMS: CustomerNavItemDef[] = [
  ...BASE_ALWAYS_ITEMS,
  ...BASE_LOGGED_IN_ITEMS,
];
