(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return s},urlQueryToSearchParams:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function s(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return v},NormalizeError:function(){return x},PageNotFoundError:function(){return y},SP:function(){return g},ST:function(){return p},WEB_VITALS:function(){return s},execOnce:function(){return i},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return k}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>o.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function m(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,p=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class x extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class v extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function k(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},49550,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n="ttl_events";function a(){try{let e=localStorage.getItem(n);if(!e)return[];return JSON.parse(e).map(e=>({...e,eventTime:new Date(e.eventTime)}))}catch{return[]}}let s=(0,r.createContext)(void 0);e.s(["EventsProvider",0,function({children:e}){let[i,o]=(0,r.useState)(a);(0,r.useEffect)(()=>{localStorage.setItem(n,JSON.stringify(i))},[i]);let l=(0,r.useCallback)(e=>{o(t=>t.some(t=>t.id===e.id)?t:[...t,e])},[]),u=(0,r.useCallback)((e,t)=>{o(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),c=(0,r.useCallback)(e=>{o(t=>t.filter(t=>t.id!==e))},[]),d=(0,r.useCallback)(()=>{o([])},[]),f=(0,r.useCallback)(e=>{o(e)},[]),m=(0,r.useCallback)(e=>{let t=e.map(e=>({id:e.id,title:e.title,destination:e.destination,eventTime:new Date(e.eventTime),source:e.source}));o(e=>{let r=new Map;return e.forEach(e=>r.set(e.id,e)),t.forEach(e=>r.set(e.id,e)),Array.from(r.values())})},[]);return(0,t.jsx)(s.Provider,{value:{events:i,addEvent:l,updateEvent:u,removeEvent:c,clearEvents:d,setEvents:f,mergeEvents:m},children:e})},"useEventsStore",0,function(){let e=(0,r.useContext)(s);if(void 0===e)throw Error("useEventsStore must be used within an EventsProvider");return e}])},8639,e=>{"use strict";var t=e.i(43476);e.s(["default",0,({children:e,className:r="",variant:n="primary",size:a="md",...s})=>(0,t.jsx)("button",{className:`font-medium rounded-lg transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 ${{primary:"bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500",secondary:"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",danger:"bg-red-600 text-white hover:bg-red-700 focus:ring-red-500"}[n]} ${{sm:"px-3 py-1.5 text-sm",md:"px-4 py-2 text-base",lg:"px-6 py-3 text-lg"}[a]} ${r}`,...s,children:e})])},63261,e=>{"use strict";function t(e,r,n={}){let a=Object.entries(n).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&"),s=`${e}${r}`;return a?`${s}?${a}`:s}e.s(["ApiClient",0,class{baseUrl;constructor(e){this.baseUrl=e??""}async getHealth(){let e=await fetch(`${this.baseUrl}/api/health`);if(!e.ok)throw Error(`Health check failed: ${e.status}`);return e.json()}async geocode(e,r){let n={name:e};r&&(n.countrycodes=r);let a=t(this.baseUrl,"/api/geocode",n),s=await fetch(a);if(!s.ok)throw Error(`Geocode failed: ${s.status}`);return s.json()}async getBikeRoute(e,r,n,a){let s=t(this.baseUrl,"/api/bike-route",{fromLat:String(e),fromLng:String(r),toLat:String(n),toLng:String(a)}),i=await fetch(s);if(!i.ok)throw Error(`Bike route failed: ${i.status}`);return i.json()}async fetchCalendar(e,r){let n={url:e};r&&(n.days=String(r));let a=t(this.baseUrl,"/api/calendar",n),s=await fetch(a);if(!s.ok)throw Error(`Calendar fetch failed: ${s.status}`);return s.json()}async parseCalendarIcs(e){let t=await fetch(`${this.baseUrl}/api/calendar/parse`,{method:"POST",headers:{"Content-Type":"text/calendar"},body:e});if(!t.ok)throw Error(`Calendar parse failed: ${t.status}`);return t.json()}async searchJourneys(e,r,n){let a=t(this.baseUrl,"/api/hafas",{from:e,to:r,date:n.toISOString()}),s=await fetch(a);if(!s.ok)throw Error(`Journey search failed: ${s.status}`);return s.json()}async searchStation(e){let r=t(this.baseUrl,"/api/station",{q:e}),n=await fetch(r);if(!n.ok)throw Error(`Station search failed: ${n.status}`);return n.json()}}])},49736,e=>{"use strict";var t=e.i(43476),r=e.i(71645);let n="ttl_reminder_settings",a={bufferMinutes:15,enabled:!0};function s(){try{let e=localStorage.getItem(n);if(!e)return a;return{...a,...JSON.parse(e)}}catch{return a}}let i=(0,r.createContext)(void 0);e.s(["ReminderSettingsProvider",0,function({children:e}){let[a,o]=(0,r.useState)(s);(0,r.useEffect)(()=>{localStorage.setItem(n,JSON.stringify(a))},[a]);let l=(0,r.useCallback)(e=>{o(t=>({...t,bufferMinutes:Math.max(1,Math.min(120,e))}))},[]),u=(0,r.useCallback)(e=>{o(t=>({...t,enabled:e}))},[]);return(0,t.jsx)(i.Provider,{value:{...a,setBufferMinutes:l,setEnabled:u},children:e})},"useReminderSettings",0,function(){let e=(0,r.useContext)(i);if(void 0===e)throw Error("useReminderSettings must be used within a ReminderSettingsProvider");return e}])},62837,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(8639),a=e.i(49550);let s=({isOpen:e,onClose:s,className:i=""})=>{let[o,l]=(0,r.useState)(""),[u,c]=(0,r.useState)(""),[d,f]=(0,r.useState)(""),[m,h]=(0,r.useState)(""),[g,p]=(0,r.useState)(!1),{addEvent:b}=(0,a.useEventsStore)(),x=async e=>{if(e.preventDefault(),o.trim()&&u.trim()&&d.trim()&&m.trim()){p(!0);try{let e=new Date(`${m} ${d}`);await b({id:`manual-${Date.now()}`,title:o.trim(),destination:u.trim(),eventTime:e,source:"manual"}),l(""),c(""),f(""),h(""),s()}catch(e){console.error("Error adding event:",e)}finally{p(!1)}}};return((0,r.useEffect)(()=>{let t=e=>{"Escape"===e.key&&s()};return e&&document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[e,s]),e)?(0,t.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",onClick:e=>{e.target===e.currentTarget&&s()},children:(0,t.jsx)("div",{className:`bg-white dark:bg-gray-800 rounded-lg shadow-xl max-w-md w-full ${i}`,children:(0,t.jsxs)("div",{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white mb-6",children:"Add Manual Event"}),(0,t.jsxs)("form",{onSubmit:x,className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"event-title",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Event Title"}),(0,t.jsx)("input",{id:"event-title",type:"text",value:o,onChange:e=>l(e.target.value),placeholder:"Team Meeting",className:"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:!0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"event-destination",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Destination"}),(0,t.jsx)("input",{id:"event-destination",type:"text",value:u,onChange:e=>c(e.target.value),placeholder:"Vienna Main Station",className:"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:!0})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"event-date",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Date"}),(0,t.jsx)("input",{id:"event-date",type:"date",value:m,onChange:e=>h(e.target.value),className:"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:!0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"event-time",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Time"}),(0,t.jsx)("input",{id:"event-time",type:"time",value:d,onChange:e=>f(e.target.value),className:"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:!0})]})]}),(0,t.jsxs)("div",{className:"flex justify-end space-x-3 mt-6",children:[(0,t.jsx)(n.default,{type:"button",variant:"secondary",onClick:s,children:"Cancel"}),(0,t.jsx)(n.default,{type:"submit",disabled:g,children:(0,t.jsx)(t.Fragment,{children:"Add Event"})})]})]})]})})}):null};var i=e.i(49736);function o({className:e=""}){let{bufferMinutes:r,enabled:n,setBufferMinutes:a,setEnabled:s}=(0,i.useReminderSettings)(),l="Notification"in window?Notification.permission:"unavailable";return(0,t.jsxs)("div",{className:`space-y-4 ${e}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-200",children:"Leave reminders"}),(0,t.jsx)("button",{role:"switch","aria-checked":n,onClick:()=>s(!n),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${n?"bg-blue-600":"bg-gray-300 dark:bg-gray-600"}`,children:(0,t.jsx)("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${n?"translate-x-6":"translate-x-1"}`})})]}),n&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("label",{htmlFor:"buffer-minutes",className:"text-sm font-medium text-gray-700 dark:text-gray-200",children:["Remind me"," ",(0,t.jsx)("span",{className:"text-gray-500 dark:text-gray-400",children:"(minutes before event)"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("input",{id:"buffer-minutes",type:"range",min:1,max:120,step:1,value:r,onChange:e=>a(Number(e.target.value)),className:"flex-1 accent-blue-600"}),(0,t.jsx)("output",{htmlFor:"buffer-minutes",className:"text-sm font-semibold tabular-nums min-w-[3ch] text-center text-gray-700 dark:text-gray-200",children:r})]})]}),(0,t.jsxs)("div",{className:"pt-2 border-t border-gray-200 dark:border-gray-700",children:[(0,t.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"granted"===l?"Notifications enabled":"denied"===l?"Notifications blocked — check browser settings":"Notifications not yet requested"}),"granted"!==l&&"denied"!==l&&(0,t.jsx)("button",{onClick:()=>Notification.requestPermission(),className:"mt-2 text-xs text-blue-600 hover:underline",children:"Request permission now"})]})]})}let l=new(e.i(63261)).ApiClient,u="ttl_theme";e.s(["default",0,({className:e=""})=>{let[i,c]=(0,r.useState)(!1),[d,f]=(0,r.useState)(!1),{status:m}=function(){let[e,t]=(0,r.useState)(null),[n,a]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let e=!0,r=async()=>{try{await l.getHealth(),e&&(t(!0),a(new Date))}catch{e&&(t(!1),a(new Date))}};r();let n=setInterval(r,3e4);return()=>{e=!1,clearInterval(n)}},[]),{status:e,lastChecked:n}}(),{events:h}=(0,a.useEventsStore)(),{dark:g,toggle:p}=function(){let[e,t]=(0,r.useState)(()=>{let e;return"dark"===((e=localStorage.getItem(u))||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"))});return(0,r.useEffect)(()=>{document.documentElement.classList.toggle("dark",e)},[e]),{dark:e,toggle:(0,r.useCallback)(()=>{t(e=>{let t=!e;return localStorage.setItem(u,t?"dark":"light"),t})},[])}}();return(0,t.jsxs)("header",{className:`bg-white dark:bg-gray-800 shadow-sm ${e}`,children:[(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,t.jsx)("div",{className:"flex items-center",children:(0,t.jsxs)("h1",{className:"text-xl font-bold text-gray-900 dark:text-white",children:[(0,t.jsx)("span",{className:"text-blue-600",children:"ÖBB"})," Planner"]})}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,t.jsxs)("div",{className:"hidden md:flex items-center text-sm text-gray-600 dark:text-gray-300",children:[(0,t.jsx)("span",{children:(0,t.jsx)("strong",{children:h.length})}),(0,t.jsx)("span",{className:"ml-1",children:"events"}),!0===m?(0,t.jsx)("span",{className:"ml-2 text-green-600",children:"Online"}):!1===m?(0,t.jsx)("span",{className:"ml-2 text-red-600",children:"Offline"}):null]}),(0,t.jsx)(n.default,{variant:"secondary",size:"sm",onClick:()=>c(!0),children:"Add Event"}),(0,t.jsx)("button",{onClick:p,"aria-label":"Toggle dark mode",className:"p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700",children:g?"☀️":"🌙"}),(0,t.jsx)("button",{onClick:()=>f(!0),"aria-label":"Settings",className:"p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700",children:"⚙️"})]})]})}),(0,t.jsx)(s,{isOpen:i,onClose:()=>c(!1)}),d&&(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40",children:(0,t.jsxs)("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-lg p-6 w-full max-w-sm relative",children:[(0,t.jsx)("button",{onClick:()=>f(!1),className:"absolute top-3 right-3 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 text-lg","aria-label":"Close settings",children:"✕"}),(0,t.jsx)("h2",{className:"text-lg font-semibold mb-4 text-gray-900 dark:text-white",children:"Settings"}),(0,t.jsx)(o,{})]})})]})}],62837)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809)._(e.r(98183)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${a}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return o(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(18967),a=e.r(52817);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return b},useLinkStatus:function(){return y}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(90809),i=e.r(43476),o=s._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let m=e.r(88540),h=e.r(91949),g=e.r(73668),p=e.r(9396);function b(t){var r,n;let a,s,b,[y,v]=(0,o.useOptimistic)(h.IDLE_LINK_STATUS),j=(0,o.useRef)(null),{href:k,as:w,children:N,prefetch:S=null,passHref:E,replace:C,shallow:P,scroll:$,onClick:T,onMouseEnter:O,onTouchStart:_,legacyBehavior:R=!1,onNavigate:I,transitionTypes:U,ref:L,unstable_dynamicOnHover:M,...A}=t;a=N,R&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let D=o.default.useContext(u.AppRouterContext),F=!1!==S,B=!1!==S?null===(n=S)||"auto"===n?p.FetchStrategy.PPR:p.FetchStrategy.Full:p.FetchStrategy.PPR,q="string"==typeof(r=w||k)?r:(0,l.formatUrl)(r);if(R){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=o.default.Children.only(a)}let z=R?s&&"object"==typeof s&&s.ref:L,K=o.default.useCallback(e=>(null!==D&&(j.current=(0,h.mountLinkInstance)(e,q,D,B,F,v)),()=>{j.current&&((0,h.unmountLinkForCurrentNavigation)(j.current),j.current=null),(0,h.unmountPrefetchableInstance)(e)}),[F,q,D,B,v]),J={ref:(0,c.useMergedRef)(K,z),onClick(t){R||"function"!=typeof T||T(t),R&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,a,s,i,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);o.default.startTransition(()=>{d(r,a?"replace":"push",!1===s?m.ScrollBehavior.NoScroll:m.ScrollBehavior.Default,n.current,l)})}}(t,q,j,C,$,I,U)},onMouseEnter(e){R||"function"!=typeof O||O(e),R&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),D&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){R||"function"!=typeof _||_(e),R&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),D&&F&&(0,h.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,d.isAbsoluteUrl)(q)?J.href=q:R&&!E&&("a"!==s.type||"href"in s.props)||(J.href=(0,f.addBasePath)(q)),b=R?o.default.cloneElement(s,J):(0,i.jsx)("a",{...A,...J,children:a}),(0,i.jsx)(x.Provider,{value:y,children:b})}e.r(84508);let x=(0,o.createContext)(h.IDLE_LINK_STATUS),y=()=>(0,o.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18566,(e,t,r)=>{t.exports=e.r(76562)},4035,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(18566);e.s(["default",0,({className:e=""})=>{let a=(0,n.usePathname)();return(0,t.jsx)("nav",{className:`bg-white dark:bg-gray-800 border-t border-gray-200 dark:border-gray-700 ${e}`,children:(0,t.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,t.jsx)("div",{className:"flex items-center justify-between h-16",children:(0,t.jsx)("div",{className:"flex space-x-8",children:[{name:"Home",href:"/"},{name:"Calendar",href:"/calendar"}].map(e=>(0,t.jsx)(r.default,{href:e.href,className:`text-sm font-medium ${a===e.href?"text-blue-600 border-b-2 border-blue-600":"text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:e.name},e.href))})})})})}])},99351,e=>{"use strict";var t=e.i(71645),r=e.i(49550),n=e.i(49736);e.s(["default",0,function(){return!function(){let{events:e}=(0,r.useEventsStore)(),{bufferMinutes:a,enabled:s}=(0,n.useReminderSettings)(),i=(0,t.useRef)(new Set),o=(0,t.useCallback)(()=>{if(!s||"u"e.eventTime>t).sort((e,t)=>e.eventTime.getTime()-t.eventTime.getTime());for(let e of r)t>=new Date(e.eventTime.getTime()-6e4*a)&&!i.current.has(e.id)&&(i.current.add(e.id),"granted"===Notification.permission?new Notification("Time to leave!",{body:`${e.title} starts in ${a} minutes`,tag:`reminder-${e.id}`}):"denied"!==Notification.permission&&Notification.requestPermission().then(t=>{"granted"===t&&new Notification("Time to leave!",{body:`${e.title} starts in ${a} minutes`,tag:`reminder-${e.id}`})}));let n=new Set(r.map(e=>e.id));for(let e of i.current)n.has(e)||i.current.delete(e)},[e,a,s]);(0,t.useEffect)(()=>{o();let e=setInterval(o,3e4);return()=>clearInterval(e)},[o])}(),null}],99351)}]);