import { IconBolt, IconHelp, IconMapRoute, IconPlus, IconSettings, IconWifiOff, } from '@tabler/icons-react' import { Head } from '@inertiajs/react' import BouncingLogo from '~/components/BouncingLogo' import AppLayout from '~/layouts/AppLayout' import { getServiceLink } from '~/lib/navigation' import { ServiceSlim } from '../../types/services' import DynamicIcon, { DynamicIconName } from '~/components/DynamicIcon' const STATIC_ITEMS = [ { label: 'Easy Setup', to: '/easy-setup', target: '', description: 'Not sure where to start? Use the setup wizard to quickly configure your N.O.M.A.D.!', icon: , installed: true, }, { label: 'Install Apps', to: '/settings/apps', target: '', description: 'Not seeing your favorite app? Install it here!', icon: , installed: true, }, { label: 'Docs', to: '/docs/home', target: '', description: 'Read Project N.O.M.A.D. manuals and guides', icon: , installed: true, }, { label: 'Maps', to: '/maps', target: '', description: 'View offline maps', icon: , installed: true, }, { label: 'Settings', to: '/settings/system', target: '', description: 'Configure your N.O.M.A.D. settings', icon: , installed: true, }, ] export default function Home(props: { system: { services: ServiceSlim[] } }) { const items = [] props.system.services.map((service) => { items.push({ label: service.friendly_name || service.service_name, to: service.ui_location ? getServiceLink(service.ui_location) : '#', target: '_blank', description: service.description || `Access the ${service.friendly_name || service.service_name} application`, icon: service.icon ? ( ) : ( ), installed: service.installed, }) }) items.push(...STATIC_ITEMS) return ( ) }