import {
  LayoutDashboard,
  PlusSquare,
  TrendingUp,
  Target,
  BarChart2,
  Settings,
  Shield
} from 'lucide-react'

/**
 * Eine Quelle für Hauptnavigation (Bottom-Nav + Desktop-Sidebar).
 * @typedef {{ to: string, label: string, shortLabel?: string, end?: boolean, Icon: import('react').ForwardRefExoticComponent }} AppNavItem
 */

/** @returns {Omit<AppNavItem, 'Icon'>[]} */
function baseItems() {
  return [
    { to: '/', label: 'Übersicht', end: true },
    { to: '/capture', label: 'Erfassen' },
    { to: '/history', label: 'Verlauf' },
    { to: '/goals', label: 'Ziele', shortLabel: 'Ziele', end: true },
    { to: '/analysis', label: 'Analyse' },
    { to: '/settings', label: 'Einstellungen', shortLabel: 'Einst.' }
  ]
}

/** @param {boolean} isAdmin */
export function getMainNavItems(isAdmin) {
  const icons = [
    LayoutDashboard,
    PlusSquare,
    TrendingUp,
    Target,
    BarChart2,
    Settings
  ]
  const raw = baseItems().map((item, i) => ({
    ...item,
    Icon: icons[i]
  }))
  if (isAdmin) {
    raw.push({ to: '/admin', label: 'Admin', end: false, Icon: Shield })
  }
  return raw
}
