Files
time_to_leave/apps/web/.next/server/app/calendar.html
T
fegger 5bcfafcbaf Add mobile services, web proxy, and Gemma4 agent loop
- Mobile: add push notification and calendar sync services with full test suite (calendar, eventStore, notifications,
  screens)
- Mobile: add EAS build config and Jest setup
- Web: add API proxy, update useDestinationStation/useJourneys hooks, add middleware tests
- Web: update next.config and rebuild
- Agent: add Gemma4-based agent loop (agent_base, ttl_agent, ts_agent)
- Docs: add privacy policy, post-MVP plan, and aider rules
2026-05-11 18:32:54 +02:00

156 lines
26 KiB
HTML

<!DOCTYPE html><html lang="en" class="h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/09kgf98j6rdse.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0bzupvr5gt3k9.js"/><script src="/_next/static/chunks/0bymg5d-lqs0o.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-151v-gauy0ska.js" async=""></script><script src="/_next/static/chunks/00hu_su7n8gvm.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><script src="/_next/static/chunks/14vq9o7udvkff.js" async=""></script><script src="/_next/static/chunks/14ve6ufh4xnra.js" async=""></script><title>TimeToLeave</title><meta name="description" content="Plan your train journeys and compare with bicycle routing"/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full flex flex-col bg-gray-50 dark:bg-gray-900"><div hidden=""><!--$--><!--/$--></div><header class="bg-white dark:bg-gray-800 shadow-sm "><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex items-center justify-between h-16"><div class="flex items-center"><h1 class="text-xl font-bold text-gray-900 dark:text-white"><span class="text-blue-600">ÖBB</span> Planner</h1></div><div class="flex items-center space-x-4"><div class="hidden md:flex items-center text-sm text-gray-600 dark:text-gray-300"><span><strong>0</strong></span><span class="ml-1">events</span></div><button class="font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 bg-gray-100 text-gray-900 hover:bg-gray-200 focus:ring-gray-500 dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-500 px-3 py-1.5 text-sm ">Add Event</button><button aria-label="Toggle dark mode" class="p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700">🌙</button><button aria-label="Settings" class="p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700">⚙️</button></div></div></div></header><div class="flex-1"><div class="max-w-6xl mx-auto p-4"><div class="mb-6"><h1 class="text-3xl font-bold text-gray-900 dark:text-white">Calendar</h1><p class="text-gray-600 dark:text-gray-400">View and manage your events</p></div><div class="mb-6"><div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm overflow-hidden "><div class="p-4 border-b border-gray-200 dark:border-gray-700"><div class="flex items-center justify-between"><h3 class="text-lg font-semibold text-gray-900 dark:text-white">Import Calendar</h3></div></div><div class="p-4"><div class="border-b border-gray-200 dark:border-gray-700 mb-4"><nav class="-mb-px flex space-x-8" aria-label="Tabs"><button class="pb-2 px-1 border-b-2 font-medium text-sm border-blue-500 text-blue-600">URL</button><button class="pb-2 px-1 border-b-2 font-medium text-sm border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300">File</button></nav></div><div class="p-4 "><form class="space-y-4"><div><label for="calendar-url" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Calendar URL</label><input id="calendar-url" type="url" placeholder="https://example.com/calendar.ics" class="w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white" required="" value=""/></div><button class="font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500 px-4 py-2 text-base " type="submit">Load Calendar</button></form></div></div></div></div><div class="grid grid-cols-1 lg:grid-cols-3 gap-6"><div class="lg:col-span-2"><div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm p-4 "><div class="flex items-center justify-between mb-4"><button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"></button><h2 class="text-xl font-semibold text-gray-900 dark:text-white">May 2026</h2><button class="p-2 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700"></button></div><div class="grid grid-cols-7 gap-1 mb-1"><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Sun</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Mon</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Tue</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Wed</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Thu</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Fri</div><div class="text-center font-medium text-gray-600 dark:text-gray-300 py-2">Sat</div></div><div><div class="grid grid-cols-7 gap-1 mb-1"><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">1</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">2</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">3</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">4</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">5</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">6</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">7</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div></div><div class="grid grid-cols-7 gap-1 mb-1"><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">8</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">9</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">10</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
ring-2 ring-blue-500
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm bg-blue-500 text-white">11</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">12</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">13</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">14</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div></div><div class="grid grid-cols-7 gap-1 mb-1"><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">15</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">16</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">17</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">18</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">19</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">20</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">21</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div></div><div class="grid grid-cols-7 gap-1 mb-1"><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">22</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">23</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">24</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">25</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">26</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">27</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">28</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div></div><div class="grid grid-cols-7 gap-1 mb-1"><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">29</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">30</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div><div role="button" tabindex="0" class="
min-h-24 p-2 border border-gray-200 dark:border-gray-700 rounded-lg cursor-pointer
bg-white dark:bg-gray-900
hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors
"><div class="text-right"><span class="inline-flex items-center justify-center w-6 h-6 rounded-full text-sm ">31</span></div><div class="mt-1 space-y-1 max-h-20 overflow-y-auto"></div></div></div></div></div></div><div><div class="text-center py-8 text-gray-500 dark:text-gray-400 "><p>No events scheduled for <!-- -->May 11, 2026</p></div></div></div></div><!--$--><!--/$--></div><nav class="bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 "><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex items-center justify-between h-16"><div class="flex space-x-8"><a class="text-sm font-medium text-gray-500 hover:text-gray-700 hover:border-gray-300" href="/">Home</a><a class="text-sm font-medium text-blue-600 border-b-2 border-blue-600" href="/calendar">Calendar</a></div></div></div></nav><script src="/_next/static/chunks/0bzupvr5gt3k9.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[49736,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ReminderSettingsProvider\"]\n3:I[49550,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"EventsProvider\"]\n4:I[99351,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[62837,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n6:I[39756,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n7:I[37457,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n8:I[4035,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n9:I[47257,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ClientPageRoot\"]\na:I[75505,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/14vq9o7udvkff.js\",\"/_next/static/chunks/14ve6ufh4xnra.js\"],\"default\"]\nd:I[97367,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\ne:\"$Sreact.suspense\"\n11:I[97367,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n13:I[97367,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n15:I[68027,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/09kgf98j6rdse.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"calendar\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"calendar\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/09kgf98j6rdse.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/00hu_su7n8gvm.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col bg-gray-50 dark:bg-gray-900\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"$L5\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex-1\",\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L8\",null,{}]]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L9\",null,{\"Component\":\"$a\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@b\",\"$@c\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/14vq9o7udvkff.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/14ve6ufh4xnra.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$e\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@f\"}]}]]}],{},null,false,null]},null,false,\"$@10\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L11\",null,{\"children\":\"$L12\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$e\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L14\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$15\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/09kgf98j6rdse.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MKsV9_ZtzPcZHC3V_SATf\"}\n"])</script><script>self.__next_f.push([1,"16:[]\n10:\"$W16\"\nb:{}\nc:\"$0:f:0:1:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"17:I[27201,[\"/_next/static/chunks/00hu_su7n8gvm.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\nf:null\n14:[[\"$\",\"title\",\"0\",{\"children\":\"TimeToLeave\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Plan your train journeys and compare with bicycle routing\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L17\",\"3\",{}]]\n"])</script></body></html>