ocearo-ui 0.1.22 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/404.html +1 -1
- package/README.fr.md +141 -157
- package/README.md +137 -157
- package/__next.__PAGE__.txt +19 -5
- package/__next._full.txt +12 -12
- package/__next._tree.txt +2 -2
- package/_next/static/chunks/0-c2-u5p6bxzo.js +1 -0
- package/_next/static/chunks/0h2qsuyze9ds1.js +1 -0
- package/_next/static/chunks/0iqdztntvxh3c.js +119 -0
- package/_next/static/chunks/0iztd835j5p1n.js +700 -0
- package/_next/static/chunks/{2nxsyowmuwpjy.js → 0jfox92up1jvy.js} +1 -1
- package/_next/static/chunks/0jpa5m78l0ib0.js +1 -0
- package/_next/static/chunks/0kpstejrka-7k.js +1 -0
- package/_next/static/chunks/0m7wbuocx-b4_.js +9 -0
- package/_next/static/chunks/0n95joti2n2py.js +3 -0
- package/_next/static/chunks/0ohleay4roayh.js +353 -0
- package/_next/static/chunks/0on1skx9l54-9.js +1 -0
- package/_next/static/chunks/0voiofm58khqd.js +1 -0
- package/_next/static/chunks/0w_skktmh3e48.js +1 -0
- package/_next/static/chunks/0y-dctk-kmqss.js +1 -0
- package/_next/static/chunks/0zwc9m4qgtwle.js +1 -0
- package/_next/static/chunks/11awvgcou7v4r.js +1 -0
- package/_next/static/chunks/144mjqdrx42lq.js +1 -0
- package/_next/static/chunks/15imr2-f_8n-x.js +1 -0
- package/_next/static/chunks/18_i6mf6hb_c7.js +1 -0
- package/_next/static/chunks/1d81m3g9jqkob.js +1 -0
- package/_next/static/chunks/1ed7ayfg19cjb.js +1 -0
- package/_next/static/chunks/1epya-yh2wvj2.js +1 -0
- package/_next/static/chunks/1exvcc71cgr4t.js +446 -0
- package/_next/static/chunks/1g8fbzv0hu0i2.js +1 -0
- package/_next/static/chunks/1gq4t2dyr7rq3.js +1 -0
- package/_next/static/chunks/1gt2hhqk1821k.js +9 -0
- package/_next/static/chunks/1l-jew0-1-3eq.js +30 -0
- package/_next/static/chunks/1pa1cfmfts0i9.js +1 -0
- package/_next/static/chunks/1ptj3mv8b_tzs.js +1 -0
- package/_next/static/chunks/1w1xks0hp_tlr.js +346 -0
- package/_next/static/chunks/1xekc18cyi4sx.js +1 -0
- package/_next/static/chunks/1y35unwvy8p98.js +1 -0
- package/_next/static/chunks/1zm03hw2ylxw8.js +1 -0
- package/_next/static/chunks/2aq8orcir5h03.js +1 -0
- package/_next/static/chunks/2dvwb-mfasp68.js +1 -0
- package/_next/static/chunks/2fdpvhx4oo81h.js +1 -0
- package/_next/static/chunks/2g-xpe7xnropn.js +409 -0
- package/_next/static/chunks/2kmptoy43h0mx.js +1 -0
- package/_next/static/chunks/2kwn4iymxaom3.js +1 -0
- package/_next/static/chunks/2n86yq1wz1yx7.js +1 -0
- package/_next/static/chunks/2rebcvig176xk.js +564 -0
- package/_next/static/chunks/2ryo_bbmt6t74.css +3 -0
- package/_next/static/chunks/2s6w3x5jnc2tg.js +1 -0
- package/_next/static/chunks/2w44atvyp9o_w.js +1 -0
- package/_next/static/chunks/2w71oj1brox5z.js +1 -0
- package/_next/static/chunks/2wayx8t5r5fi9.js +1 -0
- package/_next/static/chunks/3--qzv1u6c7_7.js +1 -0
- package/_next/static/chunks/32yn_fc-es66m.js +22 -0
- package/_next/static/chunks/34wvn5zw0a69w.js +1 -0
- package/_next/static/chunks/37t6vg8fb1-z8.js +1 -0
- package/_next/static/chunks/3nm7o0eq5abhg.js +1 -0
- package/_next/static/chunks/3p9ziqn6r35qf.js +1 -0
- package/_next/static/chunks/3q8o52_juxmdp.js +1 -0
- package/_next/static/chunks/3s6nzrbk-8mnv.js +31 -0
- package/_next/static/chunks/3td9mnhvcj9cq.js +1 -0
- package/_next/static/chunks/3wwn1rti8oc_r.js +1 -0
- package/_next/static/chunks/3zqx8h9yg5-ch.js +1 -0
- package/_next/static/chunks/turbopack-1h111qg8l92rw.js +1 -0
- package/_not-found/__next._full.txt +13 -13
- package/_not-found/__next._not-found.__PAGE__.txt +19 -2
- package/_not-found/__next._tree.txt +2 -2
- package/_not-found.html +1 -1
- package/_not-found.txt +13 -13
- package/apple-touch-icon.png +0 -0
- package/boats/boats.json +40 -5
- package/favicon-96x96.png +0 -0
- package/favicon.ico +0 -0
- package/favicon.svg +1 -3
- package/icons/favicon-16x16.png +0 -0
- package/icons/favicon-32x32.png +0 -0
- package/icons/favicon-48x48.png +0 -0
- package/icons/icon-192x192.png +0 -0
- package/icons/icon-512x512.png +0 -0
- package/icons/ocearo.webp +0 -0
- package/index.html +1 -1
- package/index.txt +12 -12
- package/manifest.json +2 -3
- package/package.json +15 -14
- package/settings/__next._full.txt +15 -15
- package/settings/__next._tree.txt +2 -2
- package/settings/__next.settings.__PAGE__.txt +22 -5
- package/settings.html +1 -1
- package/settings.txt +15 -15
- package/__next._head.txt +0 -6
- package/__next._index.txt +0 -5
- package/_next/static/chunks/0-z15txb4-uhu.js +0 -409
- package/_next/static/chunks/009rlietvsaq2.js +0 -1
- package/_next/static/chunks/070stlm97b9a2.js +0 -1
- package/_next/static/chunks/0abo2oxxw3hpi.js +0 -1
- package/_next/static/chunks/0jzbiie0nzar2.js +0 -1
- package/_next/static/chunks/0kinaai2rvd43.js +0 -9
- package/_next/static/chunks/0l9s4rhr00adq.js +0 -1
- package/_next/static/chunks/0qj7yy4f6sk8y.js +0 -455
- package/_next/static/chunks/0ri_um14-5x7u.js +0 -1
- package/_next/static/chunks/0uvr7xkt_5uno.js +0 -1
- package/_next/static/chunks/0yf1ifg_o1bq6.js +0 -1
- package/_next/static/chunks/0zbzk2ob0li1n.js +0 -1
- package/_next/static/chunks/0zjxnzbxh76mt.js +0 -1
- package/_next/static/chunks/17ma1x64d-211.js +0 -1
- package/_next/static/chunks/19xb2y6sgfnza.js +0 -1
- package/_next/static/chunks/1bz0tcmhjmjgh.js +0 -1
- package/_next/static/chunks/1d4h-sglyo8ft.js +0 -1
- package/_next/static/chunks/1gizigk3w6q7j.js +0 -31
- package/_next/static/chunks/1ptwltjb3h6jf.js +0 -4
- package/_next/static/chunks/1q572rz5m8mb-.js +0 -1
- package/_next/static/chunks/1rkf8qtk5-48h.js +0 -1
- package/_next/static/chunks/1sq_733weprvs.js +0 -1
- package/_next/static/chunks/26e1o1as-77nq.js +0 -172
- package/_next/static/chunks/27hn45pv56pv7.js +0 -393
- package/_next/static/chunks/28y-j215vt42m.js +0 -1
- package/_next/static/chunks/2a0yjir_3mk1m.js +0 -1
- package/_next/static/chunks/2atijj_pkc4uc.js +0 -2
- package/_next/static/chunks/2ccpehidlaq88.js +0 -1
- package/_next/static/chunks/2fy4q1c5l3tpj.js +0 -1
- package/_next/static/chunks/2lvvt2f1l5sfu.js +0 -1
- package/_next/static/chunks/2lw7kypuhij1_.css +0 -3
- package/_next/static/chunks/2nd5amcst4lhp.js +0 -1
- package/_next/static/chunks/2pwmb4pkqygy_.js +0 -1
- package/_next/static/chunks/2q_83f24jeg0e.js +0 -1
- package/_next/static/chunks/2rsdqsatgq9ta.js +0 -1
- package/_next/static/chunks/2udirievybq_j.js +0 -1
- package/_next/static/chunks/2urimbxg5bqv3.js +0 -1
- package/_next/static/chunks/32cbrrsp-x35l.js +0 -1
- package/_next/static/chunks/36ra6xjie0dsv.js +0 -9
- package/_next/static/chunks/3iuz3f0429awx.js +0 -1
- package/_next/static/chunks/3jh1u-s3k0bkk.js +0 -1
- package/_next/static/chunks/3jupxlga7r_do.js +0 -1
- package/_next/static/chunks/3m57lnggu30tr.js +0 -243
- package/_next/static/chunks/3myql5zu0rstt.js +0 -425
- package/_next/static/chunks/3rhgquok36e79.js +0 -1
- package/_next/static/chunks/42dfiu6iby3fq.js +0 -1
- package/_next/static/chunks/43ps2cu5ahf8n.js +0 -3
- package/_next/static/chunks/turbopack-0pirmko-w-775.js +0 -1
- package/_not-found/__next._head.txt +0 -6
- package/_not-found/__next._index.txt +0 -5
- package/_not-found/__next._not-found.txt +0 -5
- package/boats/ais/ais-30.glb +0 -0
- package/boats/ais/ais-31.glb +0 -0
- package/boats/ais/ais-35.glb +0 -0
- package/boats/ais/ais-36.glb +0 -0
- package/boats/ais/ais-37.glb +0 -0
- package/boats/ais/ais-40.glb +0 -0
- package/boats/ais/ais-50.glb +0 -0
- package/boats/ais/ais-60.glb +0 -0
- package/boats/ais/ais-70.glb +0 -0
- package/boats/ais/ais-80.glb +0 -0
- package/settings/__next._head.txt +0 -6
- package/settings/__next._index.txt +0 -5
- package/settings/__next.settings.txt +0 -5
- /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_buildManifest.js +0 -0
- /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_clientMiddlewareManifest.js +0 -0
- /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50124,e=>{"use strict";var t=e.i(43476),a=e.i(71645),n=e.i(49721),r=e.i(68757),l=e.i(46991),i=e.i(85709);e.i(85269);var s=e.i(22831);let o={waterTemp:{key:"waterTemp",path:"environment.water.temperature",icon:r.faWater,labelKey:"temperature.waterTemperature",format:e=>`${e}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit},airTemp:{key:"airTemp",path:"environment.outside.temperature",icon:r.faThermometerHalf,labelKey:"temperature.airTemperature",format:e=>`${e}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit},engineRoomTemp:{key:"engineRoomTemp",path:"environment.inside.engineRoom.temperature",icon:r.faFire,labelKey:"temperature.engineRoomTemperature",format:e=>`${e}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit},lazaretteTemp:{key:"lazaretteTemp",path:"environment.inside.lazarette.temperature",icon:r.faThermometerHalf,labelKey:"temperature.lazaretteTemperature",format:e=>`${e}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit},fridgeTemp:{key:"fridgeTemp",path:"environment.inside.fridge.temperature",icon:r.faSnowflake,labelKey:"temperature.fridgeTemperature",format:e=>`${e}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit}},c=({mode:e,value:a,icon:r})=>{let{t:l}=(0,s.useTranslation)();if(!a&&0!==a)return null;let i=l(o[e].labelKey);return(0,t.jsxs)("div",{className:"flex items-center flex-shrink-0 space-x-2 sm:space-x-3 px-2 sm:px-3 py-1.5 transition-all duration-300 text-hud-main",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:r,className:"text-base sm:text-lg opacity-80"}),(0,t.jsxs)("div",{className:"flex flex-col flex-shrink-0",children:[(0,t.jsx)("span",{className:"ocearo-large-label text-caption font-semibold uppercase tracking-widest text-hud-muted leading-none mb-1",children:i.split(" ")[0]}),(0,t.jsx)("span",{className:"text-label sm:text-value font-bold tracking-tight leading-none whitespace-nowrap",children:o[e].format(a)})]})]})},u=()=>{let{t:e}=(0,s.useTranslation)(),[n,r]=(0,a.useState)([]),[l,u]=(0,a.useState)(null),m=(0,a.useMemo)(()=>Object.values(o).map(e=>e.path),[]),d=(0,i.useSignalKPaths)(m),p=(0,a.useMemo)(()=>Object.entries(o).reduce((e,[t,a])=>{let n=d[a.path];return e[t]=null!==n?a.transform(n):null,e},{}),[d]);(0,a.useEffect)(()=>{let e=Object.entries(p).filter(([e,t])=>null!==t).map(([e])=>e);r(e),e.length>0&&!e.includes(l)&&u(e[0])},[p,l]);let f=(0,a.useCallback)(()=>{if(n.length<=1)return;let e=(n.indexOf(l)+1)%n.length;u(n[e])},[n,l]);return 0===n.length?(0,t.jsx)("div",{className:"px-3 py-1.5 text-hud-muted",children:(0,t.jsx)("span",{className:"text-label font-semibold uppercase tracking-widest",children:"N/A"})}):(0,t.jsx)("div",{className:"cursor-pointer flex items-center group",onClick:f,title:`Toggle Temperature Display (${n.length} sensors available)`,role:"button",tabIndex:0,onKeyPress:e=>"Enter"===e.key&&f(),"aria-label":e(l?o[l].labelKey:"common.na"),children:l&&(0,t.jsx)(c,{mode:l,value:p[l],icon:o[l].icon})})};e.i(67561);let m={pressure:{key:"pressure",path:"environment.outside.pressure",icon:r.faCloud,labelKey:"environmental.pressure",format:e=>`${e} hPa`,transform:l.convertPressure},humidity:{key:"humidity",path:"environment.inside.relativeHumidity",icon:r.faDroplet,labelKey:"environmental.humidity",format:e=>`${e.toFixed(1)}%`,transform:e=>100*e},voc:{key:"voc",path:"environment.inside.voc",icon:r.faWind,labelKey:"environmental.voc",format:e=>`${Math.round(e)} kΩ`,transform:e=>e/1e3},co2:{key:"co2",path:"environment.inside.co2",icon:r.faLungs,labelKey:"environmental.co2",format:e=>`${Math.round(e)} ppm`,transform:e=>e},pm25:{key:"pm25",path:"environment.inside.pm25",icon:r.faSmog,labelKey:"environmental.pm25",format:e=>`${Math.round(e)} \xb5g/m\xb3`,transform:e=>e},dewPoint:{key:"dewPoint",path:"environment.inside.dewPoint",icon:r.faTemperatureLow,labelKey:"environmental.dewPoint",format:e=>`${e.toFixed(1)}${(0,l.getTemperatureUnitLabel)()}`,transform:l.convertTemperatureUnit},outsideHumidity:{key:"outsideHumidity",path:"environment.outside.relativeHumidity",icon:r.faDroplet,labelKey:"environmental.outsideHumidity",format:e=>`${Math.round(e)}%`,transform:e=>100*e},uvIndex:{key:"uvIndex",path:"environment.outside.uvIndex",icon:r.faSun,labelKey:"environmental.uvIndex",format:e=>e.toFixed(1),transform:e=>e},visibility:{key:"visibility",path:"environment.outside.visibility",icon:r.faEye,labelKey:"environmental.visibility",format:e=>`${e>=10?Math.round(e):e.toFixed(1)} NM`,transform:e=>e/1852}},d=({mode:e,value:a,icon:r})=>{let{t:l}=(0,s.useTranslation)();return a||0===a?(0,t.jsxs)("div",{className:"flex items-center flex-shrink-0 space-x-2 sm:space-x-3 px-2 sm:px-3 py-1.5 transition-all duration-300 text-hud-main",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:r,className:"text-base sm:text-lg opacity-80"}),(0,t.jsxs)("div",{className:"flex flex-col flex-shrink-0",children:[(0,t.jsx)("span",{className:"ocearo-large-label text-caption font-semibold uppercase tracking-widest text-hud-muted leading-none mb-1",children:l(m[e].labelKey)}),(0,t.jsx)("span",{className:"text-label sm:text-value font-bold tracking-tight leading-none whitespace-nowrap",children:m[e].format(a)})]})]}):null},p=()=>{let[e,n]=(0,a.useState)([]),[r,l]=(0,a.useState)(null),s=(0,a.useMemo)(()=>Object.values(m).map(e=>e.path),[]),o=(0,i.useSignalKPaths)(s),c=(0,a.useMemo)(()=>Object.entries(m).reduce((e,[t,a])=>{let n=o[a.path];return e[t]=null!=n?a.transform(n):null,e},{}),[o]);(0,a.useEffect)(()=>{let e=Object.entries(c).filter(([e,t])=>null!==t).map(([e])=>e);n(e),e.length>0&&!e.includes(r)&&l(e[0])},[c,r]);let u=(0,a.useCallback)(()=>{if(e.length<=1)return;let t=(e.indexOf(r)+1)%e.length;l(e[t])},[e,r]);return 0===e.length?(0,t.jsx)("div",{className:"px-3 py-1.5 text-hud-muted",children:(0,t.jsx)("span",{className:"text-label font-semibold uppercase tracking-widest",children:"N/A"})}):(0,t.jsx)("div",{className:"cursor-pointer flex items-center group",onClick:u,title:`Toggle Environmental Display (${e.length} modes available)`,role:"button",tabIndex:0,onKeyPress:e=>"Enter"===e.key&&u(),children:r&&(0,t.jsx)(d,{mode:r,value:c[r],icon:m[r].icon})})};var f=e.i(74080),h=e.i(66799),x=e.i(71029);let b=()=>{let{t:e}=(0,s.useTranslation)(),l=(0,x.useMobSupport)(),i=(0,x.useActiveMobs)(),[o,c]=(0,a.useState)(!1),[u,m]=(0,a.useState)(!1),[d,p]=(0,a.useState)(null),b=(0,a.useRef)(null),g=(0,a.useRef)(null);if((0,a.useEffect)(()=>()=>{clearTimeout(b.current),clearTimeout(g.current)},[]),!l.raise)return null;let v=(e,t=!1)=>{clearTimeout(g.current),p({text:e,isError:t}),g.current=setTimeout(()=>p(null),4e3)},y=async()=>{m(!0);try{await h.default.raiseMob(),p(null)}catch(t){v(e("mob.raiseFailed",{error:t?.message||t}),!0)}finally{m(!1)}},k=()=>{u||b.current||(c(!0),b.current=setTimeout(()=>{b.current=null,c(!1),y()},1e3))},j=()=>{b.current&&(clearTimeout(b.current),b.current=null,c(!1),v(e("mob.holdHint")))},T=i.length>0;return(0,t.jsxs)("div",{className:"flex-shrink-0",children:[(0,t.jsxs)("button",{type:"button",onPointerDown:k,onPointerUp:j,onPointerLeave:j,onPointerCancel:j,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||e.repeat||(e.preventDefault(),k())},onKeyUp:e=>{("Enter"===e.key||" "===e.key)&&j()},onContextMenu:e=>e.preventDefault(),disabled:u,className:"text-oRed flex flex-col items-center justify-center p-1 sm:p-2 rounded-xl tesla-hover transition-all duration-300 group select-none touch-none disabled:opacity-60","aria-label":e("mob.buttonLabel"),title:e("mob.holdHint"),children:[(0,t.jsxs)("div",{className:`relative w-7 h-7 sm:w-10 sm:h-10 flex items-center justify-center rounded-full overflow-hidden border-2 border-oRed ${T?"animate-pulse bg-oRed/30":""}`,children:[(0,t.jsx)("span",{className:`absolute inset-0 rounded-full bg-oRed origin-center ${o?"scale-100 duration-1000 ease-linear":"scale-0 duration-150"} transition-transform`,"aria-hidden":"true"}),(0,t.jsx)(n.FontAwesomeIcon,{icon:r.faLifeRing,className:`relative text-base sm:text-xl ${o?"text-white":""}`})]}),(0,t.jsx)("span",{className:"ocearo-large-label text-caption font-semibold uppercase tracking-[0.2em] mt-1",children:e("mob.short")})]}),d&&(0,f.createPortal)((0,t.jsx)("div",{role:"status",className:`fixed bottom-20 left-4 max-w-[20rem] px-3 py-2 rounded-lg border text-label z-50 shadow-lg ${d.isError?"bg-oRed text-white border-oRed":"bg-hud-elevated text-hud-main border-hud"}`,children:d.text}),document.body)]})};var g=e.i(83402),v=e.i(48390);let y=["off","safety","all"],k={off:{icon:r.faVolumeHigh,badgeColor:null},safety:{icon:r.faShieldHalved,badgeColor:"bg-oYellow"},all:{icon:r.faVolumeXmark,badgeColor:"bg-oRed"}},j=({icon:e,onClick:a,label:r,textColor:l,badgeColor:i})=>(0,t.jsxs)("button",{onClick:a,className:`${l} flex-shrink-0 flex flex-col items-center justify-center p-1 sm:p-2 rounded-xl tesla-hover transition-all duration-300 group relative`,"aria-label":r,children:[(0,t.jsxs)("div",{className:"w-7 h-7 sm:w-10 sm:h-10 flex items-center justify-center rounded-lg group-hover:bg-hud-elevated transition-colors relative",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:e,className:"text-base sm:text-xl group-hover:scale-110 transition-transform"}),i&&(0,t.jsx)("span",{className:`absolute top-0 right-0 w-2.5 h-2.5 rounded-full border-2 border-leftPaneBg ${i} animate-pulse`})]}),(0,t.jsx)("span",{className:"ocearo-large-label text-caption font-semibold uppercase tracking-[0.2em] mt-1 opacity-60 group-hover:opacity-100 transition-opacity",children:r})]});e.s(["default",0,({setRightView:e,toggleSettings:n,toggleAppMenu:l})=>{let{t:i}=(0,s.useTranslation)(),[o,c]=(0,a.useState)("off");(0,a.useEffect)(()=>{if(!(0,v.isOcearoCoreEnabled)())return;let e=!1,t=async()=>{try{let t=await (0,v.getOcearoCoreDnd)();!e&&t?.mode&&c(t.mode)}catch(e){}};t();let a=setInterval(t,3e4);return()=>{e=!0,clearInterval(a)}},[]);let m=async()=>{let e=y[(y.indexOf(o)+1)%y.length];c(e);try{await (0,v.setOcearoCoreDnd)(e)}catch(e){console.warn("Failed to set DND mode:",e),c(o)}},d=g.default.getAll(),f=d.debugMode?"bg-oYellow":d.signalKUrlSet?null:"bg-oBlue",h=[{section:"left",items:[{icon:r.faShip,onClick:()=>n(),label:i("nav.system"),badgeColor:f},...(0,v.isOcearoCoreEnabled)()?[{icon:k[o].icon,onClick:m,label:i(`nav.dnd.${o}`),badgeColor:k[o].badgeColor}]:[]]},{section:"center",items:[{icon:r.faMapMarkedAlt,onClick:()=>e("navigation"),label:i("nav.nav")},{icon:r.faCloudSun,onClick:()=>e("weather"),label:i("nav.weather")},{icon:r.faTh,onClick:l,label:i("nav.apps")},{icon:r.faTachometerAlt,onClick:()=>e("dashboard"),label:i("nav.dashboard")},{icon:r.faHandsHelping,onClick:()=>e("manual"),label:i("nav.help")}]}],x=e=>{let a=h.find(t=>t.section===e);return a?a.items.map((a,n)=>(0,t.jsx)(j,{icon:a.icon,onClick:a.onClick,label:a.label,textColor:"text-hud-main",badgeColor:a.badgeColor},`${e}-${n}`)):null};return(0,t.jsxs)("div",{className:"flex items-center justify-between w-full h-full bg-leftPaneBg px-1 sm:px-6 overflow-x-auto overflow-y-hidden scrollbar-hide",children:[(0,t.jsxs)("div",{className:"flex items-center space-x-0.5 sm:space-x-6 flex-shrink-0 sm:flex-1 min-w-0",children:[x("left"),(0,t.jsx)(b,{}),(0,t.jsx)("div",{className:"hidden sm:block h-8 w-[1px] bg-hud-muted opacity-20 mx-1 sm:mx-2"}),(0,t.jsx)("div",{className:"hidden sm:flex",children:(0,t.jsx)(u,{})})]}),(0,t.jsx)("div",{className:"flex flex-shrink-0 items-center justify-center space-x-0.5 sm:space-x-8 px-1 sm:px-0",children:x("center")}),(0,t.jsx)("div",{className:"hidden sm:flex items-center justify-end space-x-0.5 sm:space-x-6 flex-shrink-0 sm:flex-1 min-w-0",children:(0,t.jsx)(p,{})})]})}],50124)},61891,function(e){e.n(e.i(50124))},71029,e=>{"use strict";var t=e.i(71645),a=e.i(85709),n=e.i(66799),r=e.i(46991);let l="notifications.mob",i=e=>e*Math.PI/180;e.s(["distanceAndBearing",0,(e,t)=>{if(!Number.isFinite(e?.latitude)||!Number.isFinite(e?.longitude)||!Number.isFinite(t?.latitude)||!Number.isFinite(t?.longitude))return null;let a=i(e.latitude),n=i(t.latitude),l=i(t.longitude-e.longitude),s=Math.sin((n-a)/2)**2+Math.cos(a)*Math.cos(n)*Math.sin(l/2)**2;return{distance:2*r.EARTH_RADIUS_METERS*Math.asin(Math.min(1,Math.sqrt(s))),bearing:(180*Math.atan2(Math.sin(l)*Math.cos(n),Math.cos(a)*Math.sin(n)-Math.sin(a)*Math.cos(n)*Math.cos(l))/Math.PI+360)%360}},"useActiveMobs",0,()=>{let e=(0,a.useSignalKPrefix)(l);return(0,t.useMemo)(()=>Object.entries(e).filter(([e,t])=>(e===l||e.startsWith(`${l}.`))&&t?.state&&"normal"!==t.state).map(([e,t])=>({...t,path:e})).sort((e,t)=>String(e.createdAt??"").localeCompare(String(t.createdAt??""))),[e])},"useMobSupport",0,()=>{let e=(()=>{let[e,a]=(0,t.useState)(null);return(0,t.useEffect)(()=>{let e=!1,t=null,r=async()=>{let l=await n.default.getFeatures();e||(l?a(l):t=setTimeout(r,3e4))};return r(),()=>{e=!0,clearTimeout(t)}},[]),e})();return(0,t.useMemo)(()=>({raise:!!e?.apis.includes("notifications"),navigate:!!e?.apis.includes("course")}),[e])}],71029)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13181,e=>{e.v(t=>Promise.all(["static/chunks/1epya-yh2wvj2.js","static/chunks/2w44atvyp9o_w.js","static/chunks/0ohleay4roayh.js","static/chunks/0jfox92up1jvy.js"].map(t=>e.l(t))).then(()=>t(23595)))},62588,90669,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(83402),r=e.i(66799),a=e.i(67561),l=e.i(85709);let s=()=>({cpaMeters:1852*(Number(i.default.get("cpaAlarmNM"))||.5),tcpaSeconds:60*(Number(i.default.get("tcpaAlarmMinutes"))||20)}),o=(e,t)=>({x:e*Math.sin(t),y:e*Math.cos(t)}),u=({rx:e,ry:t,ownSog:n,ownCog:i,targetSog:r,targetCog:a})=>{if(![e,t,n,i,r,a].every(Number.isFinite))return null;let l=o(n,i),s=o(r,a),u=s.x-l.x,c=s.y-l.y,d=u*u+c*c,g=d<1e-9?0:-(e*u+t*c)/d,f=Math.max(0,g);return{cpa:Math.hypot(e+u*f,t+c*f),tcpa:g,own:{x:l.x*f,y:l.y*f},target:{x:e+s.x*f,y:t+s.y*f}}},c=(e,t,n=s())=>{let i=!e||e.tcpa>0;return e&&e.tcpa>0&&e.tcpa<=n.tcpaSeconds&&e.cpa<n.cpaMeters||Number.isFinite(t)&&t<100&&i?"danger":Number.isFinite(t)&&t<Math.max(200,.3*n.cpaMeters)?"close":"none"};e.s(["closestApproach",0,u,"collisionRisk",0,c,"getCollisionThresholds",0,s],90669);let d=(0,n.createContext)(null),g=[],f=[...["navigation.position","navigation.speedOverGround","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"].map(e=>({path:e,policy:"instant"})),...["name","design.aisShipType","design.length","design.beam","communication.callsignVhf","navigation.state"].map(e=>({path:e}))],h=(e,t)=>t.split(".").reduce((e,t)=>e?.[t],e),p=e=>(e||"").replace(/^vessels\./,""),m=e=>({mmsi:e,name:"unknown",latitude:null,longitude:null,sog:null,cog:null,cogMagnetic:null,heading:null,headingMagnetic:null,length:null,beam:null,shipType:null,callsign:null,navState:null,distanceMeters:null,sceneX:null,sceneZ:null,cpaMeters:null,tcpaSeconds:null,risk:"none",cpaScene:null,rotationAngleY:0,visible:!1,lastUpdate:0,positionAt:0}),v=(e,t,n)=>{switch(t){case"name":return e.name=n,!1;case"navigation.position":if(!n)return!1;return e.latitude=n.latitude,e.longitude=n.longitude,e.positionAt=Date.now(),!0;case"navigation.speedOverGround":return e.sog=n,!0;case"navigation.courseOverGroundTrue":return e.cog=n,!0;case"navigation.courseOverGroundMagnetic":return e.cogMagnetic=n,!0;case"navigation.headingTrue":return e.heading=n,!0;case"navigation.headingMagnetic":return e.headingMagnetic=n,!0;case"design.aisShipType":return e.shipType=n?.id??n,!1;case"design.length":return e.length=n?.overall??n,!1;case"design.beam":return e.beam=n,!1;case"communication.callsignVhf":return e.callsign=n,!1;case"navigation.state":return e.navState=n,!1;default:return!1}};e.s(["AISProvider",0,({children:e})=>{let{convertLatLonToXY:o}=(0,a.useOcearoContext)(),b=(0,l.useSignalKPath)("navigation.position"),y=(0,l.useSignalKPath)("navigation.speedOverGround"),w=(0,l.useSignalKPath)("navigation.courseOverGroundTrue"),S=(0,l.useSignalKPath)("navigation.headingTrue"),M=(0,n.useRef)({sog:null,cog:null}),x=(0,n.useRef)({vx:0,vy:0,fixAt:0,scale:.7}),[j]=(0,n.useState)(s),P=(0,n.useRef)({}),C=(0,n.useRef)(null),T=(0,n.useRef)(b),O=(0,n.useRef)(!1),k=(0,n.useRef)(""),[A,R]=(0,n.useState)(0),[F,N]=(0,n.useState)({aisData:{},vesselIds:g,targets:g}),_=(0,n.useCallback)(()=>(R(e=>e+1),()=>R(e=>e-1)),[]),D=(0,n.useCallback)(e=>{let t=T.current;if(!Number.isFinite(e.latitude)||!Number.isFinite(e.longitude)||!Number.isFinite(t?.latitude)||!Number.isFinite(t?.longitude)){e.visible=!1,e.distanceMeters=null;return}let n=i.default.get("aisLengthScalingFactor")||.7,{x:r,y:a}=o({lat:e.latitude,lon:e.longitude},{lat:t.latitude,lon:t.longitude});e.sceneX=r*n,e.sceneZ=-a*n,e.rotationAngleY=e.heading??e.headingMagnetic??e.cog??e.cogMagnetic??0,e.distanceMeters=Math.hypot(r,a),e.visible=e.distanceMeters>10&&e.distanceMeters<=5e3;let l=M.current,s=u({rx:r,ry:a,ownSog:l.sog,ownCog:l.cog,targetSog:e.sog,targetCog:e.cog??e.cogMagnetic});e.cpaMeters=s?s.cpa:null,e.tcpaSeconds=s?s.tcpa:null,e.risk=c(s,e.distanceMeters,j),e.cpaScene=s&&s.tcpa>0?{targetX:s.target.x*n,targetZ:-s.target.y*n,ownX:s.own.x*n,ownZ:-s.own.y*n}:null},[o,j]);(0,n.useEffect)(()=>{T.current=b,M.current={sog:y,cog:w??S};let e=w??S;x.current={vx:Number.isFinite(y)&&Number.isFinite(e)?y*Math.sin(e):0,vy:Number.isFinite(y)&&Number.isFinite(e)?y*Math.cos(e):0,fixAt:Date.now(),scale:i.default.get("aisLengthScalingFactor")||.7},Object.values(P.current).forEach(D),O.current=!0},[b,y,w,S,D]),(0,n.useEffect)(()=>{if(0===A)return;let e=()=>{let e=Date.now(),t=P.current;for(let[n,i]of Object.entries(t))e-i.lastUpdate>6e5&&(delete t[n],O.current=!0);if(!O.current)return;O.current=!1;let n=Object.values(t).filter(e=>null!==e.distanceMeters).sort((e,t)=>e.distanceMeters-t.distanceMeters),i=n.filter(e=>e.visible),r=i.map(e=>`${e.mmsi}|${e.shipType}|${e.length}|${e.beam}`).join(","),a=r!==k.current;k.current=r,N(e=>({aisData:{...t},targets:n,vesselIds:a?i:e.vesselIds}))};e();let t=setInterval(e,250);return()=>clearInterval(t)},[A]),(0,n.useEffect)(()=>{if(0===A)return;let e=!1,t=null,n=e=>"self"===e||C.current&&e===C.current,i=e=>{let t=p(e?.context);if(!t||n(t)||!e.updates)return;let i=P.current,r=i[t]||(i[t]=m(t));r.lastUpdate=Date.now();let a=!1;for(let t of e.updates)if(t.values)for(let{path:e,value:n}of t.values)v(r,e,n)&&(a=!0);a&&D(r),O.current=!0},a=async()=>{let i=await t.API().then(e=>e.vessels());if(e||!i)return;let r=P.current,a=Date.now();for(let[e,t]of Object.entries(i)){if(n(e))continue;let i=r[e]||(r[e]=m(e)),l=(e,n)=>{let r=h(t,n);void 0!==r&&(i[e]=r)};l("name","name"),l("latitude","navigation.position.value.latitude"),l("longitude","navigation.position.value.longitude"),l("sog","navigation.speedOverGround.value"),l("cog","navigation.courseOverGroundTrue.value"),l("cogMagnetic","navigation.courseOverGroundMagnetic.value"),l("heading","navigation.headingTrue.value"),l("headingMagnetic","navigation.headingMagnetic.value"),l("length","design.length.value.overall"),l("beam","design.beam.value"),l("callsign","communication.callsignVhf"),l("navState","navigation.state.value"),l("shipType","design.aisShipType.value.id"),i.lastUpdate=a,D(i)}O.current=!0};return(async()=>{try{if((t=r.default.createClient({deltaStreamBehaviour:"none",sendMeta:null,subscriptions:[{context:"vessels.*",subscribe:f}]})).on("self",e=>{C.current=p(e)}),t.on("delta",i),await t.connect(),e)return;C.current=p(t.self)||C.current,await a()}catch(t){e||console.warn("AIS: SignalK connection failed:",t?.message||t)}})(),()=>{e=!0,t?.removeAllListeners?.("delta"),t?.disconnect()}},[A>0,D]);let I=(0,n.useMemo)(()=>({...F,targetsRef:P,motionRef:x,register:_}),[F,_]);return(0,t.jsx)(d.Provider,{value:I,children:e})},"predictScenePosition",0,(e,t,n)=>{let i=e.cog??e.cogMagnetic??e.heading,r=Number.isFinite(e.sog)?e.sog:0,a=Math.min(180,Math.max(0,(n-(e.positionAt||n))/1e3)),l=Math.min(180,Math.max(0,(n-t.fixAt)/1e3)),s=-(t.vx*l),o=-(t.vy*l);return Number.isFinite(i)&&r>.05&&(s+=r*Math.sin(i)*a,o+=r*Math.cos(i)*a),{x:e.sceneX+s*t.scale,z:e.sceneZ-o*t.scale}},"useAIS",0,({passive:e=!1}={})=>{let t=(0,n.useContext)(d),i=e?null:t?.register;return(0,n.useEffect)(()=>i?.(),[i]),t||{aisData:{},vesselIds:g,targets:g,targetsRef:{current:{}},motionRef:{current:{vx:0,vy:0,fixAt:0,scale:.7}}}}],62588)},49063,e=>{e.v(t=>Promise.all(["static/chunks/0m7wbuocx-b4_.js","static/chunks/0jfox92up1jvy.js","static/chunks/11awvgcou7v4r.js"].map(t=>e.l(t))).then(()=>t(85626)))},10520,e=>{e.v(t=>Promise.all(["static/chunks/3p9ziqn6r35qf.js","static/chunks/0jfox92up1jvy.js"].map(t=>e.l(t))).then(()=>t(61891)))},45344,e=>{e.v(t=>Promise.all(["static/chunks/1gt2hhqk1821k.js","static/chunks/11awvgcou7v4r.js"].map(t=>e.l(t))).then(()=>t(42602)))},83934,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(66799),r=e.i(85709),a=e.i(46991);let l=(0,n.createContext)();e.s(["WeatherContextProvider",0,({children:e})=>{let s=(0,r.useSignalKPath)("navigation.position"),o=(0,n.useMemo)(()=>["environment.outside.temperature","environment.outside.relativeHumidity","environment.outside.pressure","environment.wind.speedTrue","environment.wind.directionTrue","environment.wind.gust"],[]),u=(0,r.useSignalKPaths)(o),[c,d]=(0,n.useState)(u),g=(0,n.useRef)(u);g.current=u;let f=(0,n.useRef)(null);(0,n.useEffect)(()=>{f.current||(f.current=setTimeout(()=>{f.current=null,d(g.current)},2e3))},[u]),(0,n.useEffect)(()=>()=>clearTimeout(f.current),[]);let[h,p]=(0,n.useState)([]),[m,v]=(0,n.useState)(!1),[b,y]=(0,n.useState)(null),[w,S]=(0,n.useState)(null),[M,x]=(0,n.useState)(null),j=(0,n.useRef)(null),P=(0,n.useRef)(null),C=(0,n.useRef)(s);C.current=s;let T=(0,n.useRef)(!1),O=Number.isFinite(s?.latitude)&&Number.isFinite(s?.longitude),k=(0,n.useCallback)(async()=>{let e=C.current;if(Number.isFinite(e?.latitude)&&Number.isFinite(e?.longitude)){T.current=!0,v(!0),y(null);try{let t=i.default.isWeatherApiAvailable();if(null===t&&(t=await i.default.checkWeatherApiAvailability()),S(t),!t)return void y("Weather API not available on SignalK server");let n=await i.default.getWeatherForecast(e.latitude,e.longitude),r=i.default.parseWeatherForecast(n);p(r),x(new Date)}catch(e){e.message&&e.message.includes("400")?(console.warn("WeatherContext: Weather forecast not supported by this server"),S(!1)):console.warn("WeatherContext: Failed to fetch forecast:",e.message),y(e.message)}finally{v(!1)}}},[]),A=(0,n.useCallback)(e=>{if(!h||0===h.length)return null;let t=Math.min(Math.floor(e),h.length-1);return h[t]||null},[h]),R=(0,n.useCallback)(()=>{let e=h.length>0?h[0]:null,t=c["environment.outside.temperature"]??(e?.temperature!=null?e.temperature+273.15:null),n=c["environment.outside.relativeHumidity"]??e?.humidity??null,i=c["environment.outside.pressure"]??e?.pressure??null,r=(0,a.finite)(c["environment.wind.speedTrue"])??(0,a.finite)((0,a.knotsToMs)(e?.wind?.speed)),l=(0,a.finite)(c["environment.wind.directionTrue"])??(0,a.finite)((0,a.degToRad)(e?.wind?.direction)),s=Object.values(c).some(e=>null!==(0,a.finite)(e)),o=e?.clouds;return{source:null!==t||null!==n||null!==i||null!==r?s?"sensors":"forecast":null,temperature:t,humidity:n,pressure:i,windSpeed:r,windDirection:l,cloudCover:null!=o?o>1?o/100:o:null,rain:e?.rain??null,description:e?.description||null}},[c,h]),F=(0,n.useCallback)(()=>{let e=h.length>0?h[0]:null,t=(0,a.finite)(c["environment.wind.speedTrue"])??(0,a.finite)((0,a.knotsToMs)(e?.wind?.speed)),n=(0,a.finite)(c["environment.wind.directionTrue"])??(0,a.finite)((0,a.degToRad)(e?.wind?.direction)),i=(0,a.finite)(c["environment.wind.gust"])??(0,a.finite)((0,a.knotsToMs)(e?.wind?.gust)),r=null!==(0,a.finite)(c["environment.wind.speedTrue"])||null!==(0,a.finite)(c["environment.wind.directionTrue"]);return{source:null!==t||null!==n?r?"sensors":"forecast":null,speed:t,direction:n,gust:i}},[c,h]);(0,n.useEffect)(()=>(j.current=setTimeout(()=>{k()},5e3),P.current=setInterval(()=>{k()},18e5),()=>{j.current&&clearTimeout(j.current),P.current&&clearInterval(P.current)}),[k]),(0,n.useEffect)(()=>{O&&!T.current&&k()},[O,k]);let N=(0,n.useMemo)(()=>({forecasts:h,isLoading:m,error:b,weatherApiAvailable:w,lastFetchTime:M,fetchWeatherForecast:k,getForecastForTime:A,getCurrentWeather:R,getWindData:F}),[h,m,b,w,M,k,A,R,F]);return(0,t.jsx)(l.Provider,{value:N,children:e})},"useWeather",0,()=>{let e=(0,n.useContext)(l);if(!e)throw Error("useWeather must be used within a WeatherContextProvider");return e}])},23e3,e=>{e.v(t=>Promise.all(["static/chunks/15imr2-f_8n-x.js","static/chunks/0jfox92up1jvy.js"].map(t=>e.l(t))).then(()=>t(50637)))},30206,e=>{"use strict";let t=new Set,n={active:!1,playing:!1,speed:30,time:0,start:0,end:0,voyage:null},i=[],r=null,a=0,l=null,s=()=>t.forEach(e=>e(n)),o=e=>{n={...n,...e},s()},u=(e,t,n)=>e+(t-e)*n,c=(e,t,n)=>{let i=Math.atan2(Math.sin(t-e),Math.cos(t-e));return e+i*n},d=new Set(["hdg","cog","twa","twd","awa","rud","roll"]),g=e=>{if(!i.length)return null;let t=0,n=i.length-1;if(e<=i[0].t)return i[0];if(e>=i[n].t)return i[n];for(;n-t>1;){let r=t+n>>1;i[r].t<=e?t=r:n=r}let r=i[t],a=i[n],l=(e-r.t)/Math.max(1,a.t-r.t),s={t:e};for(let e of Object.keys(r)){if("t"===e)continue;let t=r[e],n=a[e];if(!Number.isFinite(t)||!Number.isFinite(n)){s[e]=t??n;continue}s[e]=d.has(e)?c(t,n,l):u(t,n,l)}return s},f=e=>{let t={},n=(e,n)=>{null!=n&&("number"!=typeof n||Number.isFinite(n))&&(t[e]=n)};return Number.isFinite(e.lat)&&Number.isFinite(e.lon)&&(t["navigation.position"]={latitude:e.lat,longitude:e.lon}),n("navigation.headingTrue",e.hdg),n("navigation.courseOverGroundTrue",e.cog??e.hdg),n("navigation.speedOverGround",e.sog),n("navigation.speedThroughWater",e.stw??e.sog),n("environment.wind.speedTrue",e.tws),n("environment.wind.angleTrueWater",e.twa),n("environment.wind.directionTrue",e.twd),n("environment.wind.speedApparent",e.aws),n("environment.wind.angleApparent",e.awa),n("steering.rudderAngle",e.rud),n("environment.depth.belowKeel",e.depth),Number.isFinite(e.roll)&&(t["navigation.attitude"]={roll:e.roll,pitch:0,yaw:e.hdg??0}),t},h=()=>{let e=Date.now(),t=e-a;if(a=e,!n.playing)return;let i=n.time+t*n.speed;i>=n.end&&(i=n.end,o({playing:!1})),n={...n,time:i};let r=g(i);r&&l&&l(f(r)),s()},p=()=>{r&&clearInterval(r),r=null,i=[],o({active:!1,playing:!1,voyage:null})};e.s(["getReplayState",0,()=>n,"isReplaying",0,()=>n.active,"seekReplay",0,e=>{if(!n.active)return;let t=Math.max(n.start,Math.min(n.end,e));o({time:t});let i=g(t);i&&l&&l(f(i))},"setReplaySink",0,e=>{l=e},"setReplaySpeed",0,e=>o({speed:e}),"startReplay",0,(e,t)=>{p(),i=t,o({active:!0,playing:!0,time:e.start,start:e.start,end:e.end,voyage:e});let n=g(e.start);n&&l&&l(f(n)),a=Date.now(),r=setInterval(h,100)},"stopReplay",0,p,"subscribeReplay",0,e=>(t.add(e),()=>t.delete(e)),"togglePlay",0,()=>{n.active&&(a=Date.now(),o({playing:!n.playing,time:n.time>=n.end?n.start:n.time}))}])},44485,e=>{"use strict";let t="samples",n=null,i=async(e,i)=>{let r=await ("u"<typeof indexedDB?Promise.reject(Error("IndexedDB unavailable")):(!n&&(n=new Promise((e,i)=>{let r=indexedDB.open("ocearo-voyages",1);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(t)||e.createObjectStore(t,{keyPath:"t"})},r.onsuccess=()=>e(r.result),r.onerror=()=>{n=null,i(r.error)}})),n));return new Promise((n,a)=>{let l,s=r.transaction(t,e);Promise.resolve(i(s.objectStore(t))).then(e=>{l=e}),s.oncomplete=()=>n(l),s.onerror=()=>a(s.error),s.onabort=()=>a(s.error)})},r=e=>new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)}),a=e=>e*Math.PI/180,l=(e,t)=>6371e3*Math.hypot(a(t.lat-e.lat),a(t.lon-e.lon)*Math.cos(a((e.lat+t.lat)/2))),s=async()=>{let e=await i("readonly",e=>r(e.getAll())),t=[],n=null;for(let i of e)!n||i.t-n.end>18e5?(n={id:i.t,start:i.t,end:i.t,distanceM:0,maxSog:0,samples:0,last:i},t.push(n)):n.distanceM+=l(n.last,i),n.end=i.t,n.samples+=1,n.maxSog=Math.max(n.maxSog,i.sog||0),n.last=i;return t.filter(e=>e.end-e.start>=3e5&&e.distanceM>100).map(({last:e,...t})=>t).reverse()};e.s(["addSample",0,e=>i("readwrite",t=>{t.put(e)}),"getSamples",0,(e,t)=>i("readonly",n=>r(n.getAll(IDBKeyRange.bound(e,t)))),"listVoyages",0,s,"trimSamples",0,()=>i("readwrite",async e=>{let t=await r(e.count());t<=4e5||(await r(e.getAllKeys(null,t-4e5))).forEach(t=>e.delete(t))})])},90317,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var i={bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return o},createSnapshot:function(){return c}};for(var r in i)Object.defineProperty(n,r,{enumerable:!0,get:i[r]});let a=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class l{disable(){throw a}getStore(){}run(){throw a}exit(){throw a}enterWith(){throw a}static bind(e){return e}}let s="u">typeof globalThis&&globalThis.AsyncLocalStorage;function o(){return s?new s:new l}function u(e){return s?s.bind(e):l.bind(e)}function c(){return s?s.snapshot():function(e,...t){return e(...t)}}},42344,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorageInstance",{enumerable:!0,get:function(){return i}});let i=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"workAsyncStorage",{enumerable:!0,get:function(){return i.workAsyncStorageInstance}});let i=e.r(42344)},9885,(e,t,n)=>{"use strict";function i(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return i}})},67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let i=e.r(32061);function r({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new i.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return o}});let i=e.r(43476),r=e.r(74080),a=e.r(63599),l=e.r(9885),s=e.r(43369);function o({moduleIds:e}){if("u">typeof window)return null;let t=a.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let i=t.reactLoadableManifest;for(let t of e){if(!i[t])continue;let e=i[t].files;n.push(...e)}}if(0===n.length)return null;let u=(0,s.getAssetTokenQuery)();return(0,i.jsx)(i.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,l.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,i.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,r.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return u}});let i=e.r(43476),r=e.r(71645),a=e.r(67585),l=e.r(52157);function s(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},u=function(e){let t={...o,...e},n=(0,r.lazy)(()=>t.loader().then(s)),u=t.loading;function c(e){let s=u?(0,i.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,c=o?r.Suspense:r.Fragment,d=t.ssr?(0,i.jsxs)(i.Fragment,{children:["u"<typeof window?(0,i.jsx)(l.PreloadChunks,{moduleIds:t.modules}):null,(0,i.jsx)(n,{...e})]}):(0,i.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,i.jsx)(n,{...e})});return(0,i.jsx)(c,{...o?{fallback:s}:{},children:d})}return c.displayName="LoadableComponent",c}},70703,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return r}});let i=e.r(55682)._(e.r(69093));function r(e,t){let n={};"function"==typeof e&&(n.loader=e);let r={...n,...t};return(0,i.default)({...r,modules:r.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},79866,(e,t,n)=>{t.exports={boats:[{name:"Default",modelPath:"default",capabilities:["navigation","rudder","sail","color"]},{name:"Racer 10.8",modelPath:"racer",capabilities:["navigation","sail","color"]},{name:"Catamaran 14",modelPath:"catamaran",capabilities:["navigation","sail","color"]},{name:"Optimist",modelPath:"optimist",capabilities:["navigation","ais"]},{name:"Sailboat",modelPath:"sailboat",capabilities:["navigation","ais"]},{name:"Ship",modelPath:"ship",capabilities:["navigation","ais"]},{name:"Windsurf",modelPath:"windsurf",capabilities:["navigation","ais"]}]}},83402,e=>{"use strict";var t=e.i(79866);let n=new class{constructor(){this.defaultConfig={signalkUrl:"http://localhost:3000",username:"",password:"",useAuthentication:!1,signalKUrlSet:!1,debugMode:!1,selectedBoat:"Racer 10.8",primaryColor:null,metallicEffect:!1,aisLengthScalingFactor:.7,compassNorthUp:!1,hide3DCompass:!1,hideTrueWind:!1,showCustomUrls:!1,customExternalUrls:{},currentView:"default",theme:"dark",language:"en",distanceUnits:"nm",depthUnits:"m",speedUnits:"kn",temperatureUnits:"C",positionFormat:"DD",preferTrueValues:!0,preferredWindSpeedPath:"speedTrue",preferredWindDirectionPath:"directionTrue",preferredHeadingPath:"courseOverGroundTrue",debugWindOverride:!1,debugWindSpeed:10,debugWindDirection:0,debugShowAxes:!1,showSailTrimSliders:!0,showRigging:!0},this.configKey="ocearoConfig",this.inMemoryConfig={...this.defaultConfig},this.config=this.loadConfig()}isLocalStorageAvailable(){try{return"u">typeof localStorage}catch{return!1}}loadConfig(){if(this.isLocalStorageAvailable()){let e=localStorage.getItem(this.configKey);if(!e)return this.saveConfig(this.defaultConfig),{...this.defaultConfig};try{let t={...this.defaultConfig,...JSON.parse(e)};return(t.boatChosen||"Default"!==t.selectedBoat)&&"RM1080"!==t.selectedBoat||(t.selectedBoat="Racer 10.8"),t}catch(e){return console.error("Failed to parse stored configuration:",e),{...this.defaultConfig}}}return{...this.inMemoryConfig}}saveConfig(e){this.config={...this.config,...e},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.config}}get(e){return this.config[e]}set(e,t){this.config[e]=t,this.saveConfig(this.config)}resetConfig(){this.config={...this.defaultConfig},this.isLocalStorageAvailable()?localStorage.setItem(this.configKey,JSON.stringify(this.config)):this.inMemoryConfig={...this.defaultConfig}}getAll(){return{...this.config}}getDefaultConfig(){return{...this.defaultConfig}}getSelectedBoat(){let e=this.config.selectedBoat;return e?this.getBoatsData().find(t=>t.name===e):null}getBoatsData(){return t.default.boats}getSignalKUrl(){return this.config.signalKUrlSet&&this.config.signalkUrl?this.config.signalkUrl:this.getComputedSignalKUrl()}getComputedSignalKUrl(){return this.config.debugMode?"https://demo.signalk.org:443":`${window.location.protocol}//${window.location.hostname}${window.location.port?":"+window.location.port:""}`}getCurrentView(){return this.config.currentView||this.defaultConfig.currentView}setCurrentView(e){this.set("currentView",e)}};e.s(["default",0,n])}]);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18576,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={WarningIcon:function(){return d},errorStyles:function(){return l},errorThemeCss:function(){return a}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});e.r(55682);let i=e.r(43476);e.r(71645);let l={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},a=`
|
|
2
|
+
:root {
|
|
3
|
+
--next-error-bg: #fff;
|
|
4
|
+
--next-error-text: #171717;
|
|
5
|
+
--next-error-title: #171717;
|
|
6
|
+
--next-error-message: #171717;
|
|
7
|
+
--next-error-digest: #666666;
|
|
8
|
+
--next-error-btn-text: #fff;
|
|
9
|
+
--next-error-btn-bg: #171717;
|
|
10
|
+
--next-error-btn-border: none;
|
|
11
|
+
--next-error-btn-secondary-text: #171717;
|
|
12
|
+
--next-error-btn-secondary-bg: transparent;
|
|
13
|
+
--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);
|
|
14
|
+
}
|
|
15
|
+
@media (prefers-color-scheme: dark) {
|
|
16
|
+
:root {
|
|
17
|
+
--next-error-bg: #0a0a0a;
|
|
18
|
+
--next-error-text: #ededed;
|
|
19
|
+
--next-error-title: #ededed;
|
|
20
|
+
--next-error-message: #ededed;
|
|
21
|
+
--next-error-digest: #a0a0a0;
|
|
22
|
+
--next-error-btn-text: #0a0a0a;
|
|
23
|
+
--next-error-btn-bg: #ededed;
|
|
24
|
+
--next-error-btn-border: none;
|
|
25
|
+
--next-error-btn-secondary-text: #ededed;
|
|
26
|
+
--next-error-btn-secondary-bg: transparent;
|
|
27
|
+
--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }
|
|
31
|
+
`.replace(/\n\s*/g,"");function d(){return(0,i.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:l.icon,children:(0,i.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},68027,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}}),e.r(55682);let n=e.r(43476);e.r(71645);let o=e.r(12354),i=e.r(18576),l=function({error:e}){let r=e?.digest,t=!!r;return(0,o.handleISRError)({error:e}),(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{children:(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:i.errorThemeCss}})}),(0,n.jsxs)("body",{children:[(0,n.jsx)("div",{style:i.errorStyles.container,children:(0,n.jsxs)("div",{style:i.errorStyles.card,children:[(0,n.jsx)(i.WarningIcon,{}),(0,n.jsx)("h1",{style:i.errorStyles.title,children:"This page couldn’t load"}),(0,n.jsx)("p",{style:i.errorStyles.message,children:t?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,n.jsxs)("div",{style:i.errorStyles.buttonGroup,children:[(0,n.jsx)("form",{style:i.errorStyles.form,children:(0,n.jsx)("button",{type:"submit",style:i.errorStyles.button,children:"Reload"})}),!t&&(0,n.jsx)("button",{type:"button",style:i.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),r&&(0,n.jsxs)("p",{style:i.errorStyles.digestFooter,children:["ERROR ",r]})]})]})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},42732,(e,r,t)=>{"use strict";e.i(47167),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71311,e=>{"use strict";var n=e.i(43476),t=e.i(71645);e.i(85269);var i=e.i(22831),r=e.i(67561),a=e.i(85709),l=e.i(61969),u=e.i(46991);let o=["navigation.headingTrue","navigation.courseOverGroundTrue","navigation.speedThroughWater","environment.wind.speedTrue","environment.wind.angleTrueWater","environment.wind.speedApparent","environment.wind.angleApparent","environment.depth.belowKeel","environment.depth.belowTransducer","environment.depth.belowSurface","navigation.courseGreatCircle.nextPoint.distance","navigation.courseGreatCircle.nextPoint.timeToGo","performance.velocityMadeGood","performance.polarSpeedRatio","environment.current","navigation.anchor.currentRadius","navigation.anchor.maxRadius"],s=(e,n=1)=>Number.isFinite(e)?e.toFixed(n):"--",d=e=>Number.isFinite(e)?`${String((0,u.toDegrees)(e)).padStart(3,"0")}\xb0`:"--",m=(e,n)=>{if(!Number.isFinite(e))return"--";let t=Math.round(Math.abs((0,u.radToDeg)(e)));return`${t}\xb0${n(e>=0?"hud.starboardShort":"hud.portShort")}`},p=e=>e.anchorWatch?"anchor":e.parkingMode?"harbour":e.racing?"racing":"route";e.s(["default",0,({omitDepth:e=!1,maxItems:c=4})=>{let{t:h}=(0,i.useTranslation)(),{states:v}=(0,r.useOcearoContext)(),b=(0,a.useSignalKPaths)(o),g=(0,l.default)(),w=p(v),f=(0,t.useMemo)(()=>{let e=b["environment.depth.belowKeel"]??b["environment.depth.belowTransducer"]??b["environment.depth.belowSurface"],n={id:"depth",label:h("hud.depth"),value:s((0,u.convertDepthUnit)(e)),unit:(0,u.getDepthUnitLabel)(),warn:Number.isFinite(e)&&e<3},t={label:h("hud.tws"),value:s((0,u.convertSpeedUnit)(b["environment.wind.speedTrue"])),unit:(0,u.getSpeedUnitLabel)()},i=b["navigation.headingTrue"]??b["navigation.courseOverGroundTrue"];switch(w){case"racing":return[{label:h("hud.polar"),value:Number.isFinite(g.ratio)?Math.round(100*g.ratio):"--",unit:"%",sub:Number.isFinite(g.deltaKn)?`${g.deltaKn>=0?"+":"−"}${Math.abs(g.deltaKn).toFixed(1)} kn`:null,warn:Number.isFinite(g.ratio)&&g.ratio<.8},{label:h("hud.vmg"),value:s((0,u.convertSpeedUnit)(b["performance.velocityMadeGood"])),unit:(0,u.getSpeedUnitLabel)()},{label:h("hud.twa"),value:m(b["environment.wind.angleTrueWater"],h)},t];case"harbour":return[n,{label:h("hud.heading"),value:d(i)},{label:h("hud.stw"),value:s((0,u.convertSpeedUnit)(b["navigation.speedThroughWater"])),unit:(0,u.getSpeedUnitLabel)()},{label:h("hud.aws"),value:s((0,u.convertSpeedUnit)(b["environment.wind.speedApparent"])),unit:(0,u.getSpeedUnitLabel)()},{label:h("hud.awa"),value:m(b["environment.wind.angleApparent"],h)}];case"anchor":return[n,t,{label:h("hud.swing"),value:s(b["navigation.anchor.currentRadius"],0),unit:"m"},{label:h("hud.alarmRadius"),value:s(b["navigation.anchor.maxRadius"],0),unit:"m"}];default:{let e=b["navigation.courseGreatCircle.nextPoint.distance"];return[{label:h("hud.heading"),value:d(i)},t,{label:h("hud.awa"),value:m(b["environment.wind.angleApparent"],h)},n,Number.isFinite(e)&&{label:h("hud.waypoint"),value:s((0,u.convertDistanceUnit)(e)),unit:(0,u.getDistanceUnitLabel)(),sub:(e=>{if(!Number.isFinite(e)||e<0)return"--";let n=Math.floor(e/3600),t=Math.round(e%3600/60);return n>0?`${n}h${String(t).padStart(2,"0")}`:`${t} min`})(b["navigation.courseGreatCircle.nextPoint.timeToGo"])}].filter(Boolean)}}},[b,g,w,h]),N=(e?f.filter(e=>"depth"!==e.id):f).slice(0,c);return(0,n.jsx)("div",{className:"ml-3 mt-4 flex flex-col gap-3 select-none",children:N.map(e=>(0,n.jsxs)("div",{className:"leading-none",children:[(0,n.jsx)("div",{className:"text-caption font-semibold uppercase tracking-widest text-hud-muted",children:e.label}),(0,n.jsxs)("div",{className:"flex items-baseline gap-1 mt-1",children:[(0,n.jsx)("span",{className:`text-value font-semibold ${e.warn?"text-oRed":"text-hud-main"}`,children:e.value}),e.unit&&(0,n.jsx)("span",{className:"text-caption font-semibold text-hud-secondary",children:e.unit}),e.sub&&"--"!==e.sub&&(0,n.jsx)("span",{className:"text-caption text-hud-muted ml-1",children:e.sub})]})]},e.label))})},"hudMode",0,p])},85003,function(e){e.n(e.i(71311))},61969,e=>{"use strict";var n=e.i(71645),t=e.i(85709),i=e.i(539);let r=180/Math.PI,a=["navigation.speedThroughWater","navigation.speedOverGround","navigation.headingTrue","navigation.courseOverGroundTrue","environment.wind.speedTrue","environment.wind.angleTrueWater","environment.wind.directionTrue","performance.polarSpeed","performance.polarSpeedRatio","navigation.courseGreatCircle.nextPoint.bearingTrue"];e.s(["default",0,()=>{let e=(0,t.useSignalKPaths)(a);return(0,n.useMemo)(()=>{let n=e["navigation.speedThroughWater"]??e["navigation.speedOverGround"]??null,t=e["navigation.headingTrue"]??e["navigation.courseOverGroundTrue"]??null,a=e["environment.wind.speedTrue"]??null,l=e["environment.wind.angleTrueWater"]??null,u=e["environment.wind.directionTrue"]??null;null===u&&Number.isFinite(l)&&Number.isFinite(t)&&(u=(0,i.wrapPi)(t+l));let o=e["performance.polarSpeed"]??(Number.isFinite(a)&&Number.isFinite(l)?(0,i.polarSpeedSi)(a,l):null),s=e["performance.polarSpeedRatio"]??null;null===s&&Number.isFinite(n)&&Number.isFinite(o)&&o>.2&&(s=n/o);let d=Number.isFinite(n)&&Number.isFinite(o)?(n-o)*1.943844:null,m=null,p=null,c=!Number.isFinite(l)||Math.abs(l)<Math.PI/2;if(Number.isFinite(a)){let e=c?(0,i.optimalUpwind)(1.943844*a):(0,i.optimalDownwind)(1.943844*a);e&&(m=e.twa/r,Number.isFinite(u)&&Number.isFinite(l)&&(p=(0,i.wrapPi)(u-Math.sign(l||1)*m)))}let h=e["navigation.courseGreatCircle.nextPoint.bearingTrue"],v=null;if(Number.isFinite(h)&&Number.isFinite(u)&&Number.isFinite(a)){let e=(0,i.bestVmcHeading)({twd:u,tws:a,bearing:h}),n=Number.isFinite(t)?(0,i.vmcForHeading)({twd:u,tws:a,bearing:h,heading:t}):null;v=e?{bearing:h,best:e,current:n}:null}return{ratio:s,polarSpeed:o,boatSpeed:n,deltaKn:d,heading:t,twd:u,tws:a,twa:l,targetTwa:m,targetHeading:p,upwind:c,vmc:v}},[e])}])},74452,(e,n,t)=>{n.exports={vpp:{angles:[52,60,75,90,110,120,135,150],speeds:[6,8,10,12,14,16,20],52:[4.98,5.86,6.31,6.45,6.51,6.52,6.41],60:[5.25,6.11,6.56,6.73,6.79,6.82,6.79],75:[5.45,6.33,6.77,7.01,7.13,7.2,7.24],90:[5.66,6.55,7,7.25,7.38,7.53,7.7],110:[5.49,6.49,7.04,7.4,7.69,7.97,8.38],120:[5.32,6.36,6.97,7.39,7.77,8.1,8.6],135:[4.81,5.92,6.68,7.15,7.55,7.95,8.85],150:[4.09,5.17,6.04,6.61,6.99,7.31,7.93],beat_angle:[43.6,42,41.2,41.2,41.7,42.1,44.2],beat_vmg:[3.26,3.91,4.24,4.34,4.36,4.34,4.16],run_angle:[144.8,147.8,148.5,149.6,171.8,175.4,177.2],run_vmg:[3.54,4.48,5.23,5.73,6.17,6.67,7.36]}}},539,e=>{"use strict";var n=e.i(74452);let t=180/Math.PI,i=n.default.vpp,r=(e,n,t)=>e+(n-e)*t,a=(e,n)=>{if(n<=e[0])return[0,0];let t=e.length-1;if(n>=e[t])return[t-1,1];let i=0;for(;n>e[i+1];)i++;return[i,(n-e[i])/(e[i+1]-e[i])]},l=i.speeds.map((e,n)=>(e=>{let n=i.beat_angle[e],r=i.run_angle[e],a=i.beat_vmg[e]/Math.cos(n/t),l=i.run_vmg[e]/Math.abs(Math.cos(r/t)),u=[[0,0],[.7*n,.55*a],[n,a]];for(let t of i.angles)t>n&&t<r&&u.push([t,i[String(t)][e]]);return u.push([r,l]),r<180&&u.push([180,i.run_vmg[e]]),u})(n)),u=(e,n)=>{let[t,i]=a(e.map(e=>e[0]),n);return r(e[t][1],e[t+1][1],i)},o=(e,n)=>{if(!Number.isFinite(e)||!Number.isFinite(n)||e<=0)return null;let t=Math.min(180,Math.abs((n+540)%360-180)),o=i.speeds;if(e<o[0])return u(l[0],t)*(e/o[0]);let[s,d]=a(o,e);return r(u(l[s],t),u(l[s+1],t),d)},s=(e,n)=>{let[t,l]=a(i.speeds,n);return r(e[t],e[t+1],l)},d=(e,n)=>{let i=o(1.943844*e,n*t);return null===i?null:i/1.943844},m=e=>{let n=(e+Math.PI)%(2*Math.PI);return n<0&&(n+=2*Math.PI),n-Math.PI};e.s(["bestVmcHeading",0,({twd:e,tws:n,bearing:i})=>{if(![e,n,i].every(Number.isFinite)||n<=0)return null;let r=null;for(let a=-100;a<=100;a++){let l=i+a/t,u=d(n,m(e-l));if(null===u)continue;let o=u*Math.cos(l-i);(!r||o>r.vmc)&&(r={heading:m(l),speed:u,vmc:o})}return r},"optimalDownwind",0,e=>{if(!Number.isFinite(e)||e<=0)return null;let n=s(i.run_angle,e),r=o(e,n);return{twa:n,speed:r,vmg:-r*Math.cos(n/t)}},"optimalUpwind",0,e=>{if(!Number.isFinite(e)||e<=0)return null;let n=s(i.beat_angle,e),r=o(e,n);return{twa:n,speed:r,vmg:r*Math.cos(n/t)}},"polarSpeed",0,o,"polarSpeedSi",0,d,"vmcForHeading",0,({twd:e,tws:n,bearing:t,heading:i})=>{if(![e,n,t,i].every(Number.isFinite))return null;let r=d(n,m(e-i));return null===r?null:r*Math.cos(i-t)},"wrapPi",0,m])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,76103,e=>{"use strict";var t=e.i(43476),o=e.i(71645),a=e.i(67561),s=e.i(85709),n=e.i(49721),l=e.i(68757),i=e.i(83402),r=e.i(46991),d=e.i(48390),c=e.i(46932),u=e.i(88653);e.i(85269);var m=e.i(22831),x=e.i(44485),b=e.i(30206);let h=()=>{let{t:e,i18n:a}=(0,m.useTranslation)(),[s,i]=(0,o.useState)(null),[r,d]=(0,o.useState)(null),[c,u]=(0,o.useState)(null);(0,o.useEffect)(()=>{let e=!1;return(0,x.listVoyages)().then(t=>{e||i(t)}).catch(t=>{e||(d(t.message),i([]))}),()=>{e=!0}},[]);let h=(0,o.useCallback)(async e=>{u(e.id);try{let t=await (0,x.getSamples)(e.start,e.end);(0,b.startReplay)(e,t)}finally{u(null)}},[]),p=new Intl.DateTimeFormat(a.language,{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit"});return(0,t.jsxs)("div",{className:"p-4 flex flex-col gap-4",children:[(0,t.jsxs)("h3",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRoute,className:"mr-2 text-oBlue text-xs"}),e("replay.voyages")]}),(0,t.jsx)("p",{className:"text-caption text-hud-muted max-w-prose",children:e("replay.explain")}),r&&(0,t.jsx)("div",{className:"text-caption text-oRed",children:r}),s&&0===s.length&&(0,t.jsx)("div",{className:"tesla-card p-4 text-label text-hud-secondary",children:e("replay.none")}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:s?.map(o=>{let a;return(0,t.jsxs)("li",{className:"tesla-card px-4 py-3 flex items-center gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-label font-semibold text-hud-main",children:p.format(new Date(o.start))}),(0,t.jsxs)("div",{className:"text-caption text-hud-muted tabular-nums",children:[(a=Math.round((o.end-o.start)/6e4))<60?`${a} min`:`${Math.floor(a/60)} h ${String(a%60).padStart(2,"0")}`," · ",(o.distanceM/1852).toFixed(1)," NM · ",e("replay.max")," ",(1.943844*o.maxSog).toFixed(1)," kn"]})]}),(0,t.jsxs)("button",{type:"button",onClick:()=>h(o),disabled:c===o.id,className:"bg-oBlue hover:bg-oBlue/80 text-white px-3 py-1.5 rounded text-caption font-semibold uppercase flex items-center gap-2 disabled:opacity-50",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faPlay}),e("replay.replay")]})]},o.id)})})]})};e.s(["default",0,()=>{let e,x,b,p,g,f,y,v,N,j,{t:w}=(0,m.useTranslation)(),{states:k,toggleState:S}=(0,a.useOcearoContext)(),C=k?.racing??!1,[F,A]=(0,o.useState)("logbook"),T=(0,o.useMemo)(()=>["navigation.position","navigation.courseOverGroundTrue","navigation.headingTrue","navigation.speedOverGround","environment.wind.speedTrue","environment.wind.angleTrueWater","environment.wind.speedApparent","environment.wind.angleApparent","environment.outside.pressure","environment.outside.temperature","environment.depth.belowKeel","environment.depth.belowTransducer","navigation.log","propulsion.main.runTime"],[]),B=(0,s.useSignalKPaths)(T),[R,G]=(0,o.useState)([]),[O,$]=(0,o.useState)(!1),[I,E]=(0,o.useState)(null),[L,D]=(0,o.useState)("UTC"),[P,Y]=(0,o.useState)(null),[M,K]=(0,o.useState)(!1),[W,z]=(0,o.useState)({text:"",author:"manual"}),[J,U]=(0,o.useState)(!1),[V,Z]=(0,o.useState)(null),[_,H]=(0,o.useState)(null),[q,Q]=(0,o.useState)(!1);i.default.getAll();let X=(0,d.isOcearoCoreEnabled)(),ee=(0,o.useCallback)(async()=>{$(!0),E(null);try{let e=(await (0,d.fetchLogbookEntries)()).map(e=>{let t=e.point||("number"==typeof e.position?.latitude?e.position:null);return{...e,date:new Date(e.datetime||e.date),point:t?{...t,toString:()=>"number"==typeof t.latitude&&"number"==typeof t.longitude?`${t.latitude.toFixed(6)}, ${t.longitude.toFixed(6)}`:"Invalid coordinates"}:null}});G(e)}catch(e){"NetworkError"!==e.name&&"TimeoutError"!==e.name&&console.warn("Error fetching logbook entries:",e),E((0,d.handleOcearoCoreError)(e,"Logbook fetch")),i.default.get("debugMode")?G(et()):G([])}finally{$(!1)}},[]),et=()=>[{datetime:new Date().toISOString(),date:new Date,course:45,speed:{sog:6.5},wind:{speed:12,direction:180},observations:{seaState:2,cloudCoverage:3,visibility:7},barometer:1013.2,point:{latitude:46.1591,longitude:-1.1522,toString:()=>"46.159100, -1.152200"},position:{source:"GPS",latitude:46.1591,longitude:-1.1522},log:125.5,engine:{hours:245.2},author:"Captain",text:"Departing La Rochelle, good conditions"},{datetime:new Date(Date.now()-36e5).toISOString(),date:new Date(Date.now()-36e5),heading:42,speed:{sog:7.2},wind:{speed:15,direction:200},observations:{seaState:3,cloudCoverage:2,visibility:8},barometer:1012.8,point:{latitude:46.2591,longitude:-1.2522,toString:()=>"46.259100, -1.252200"},position:{source:"GPS",latitude:46.2591,longitude:-1.2522},log:132.1,engine:{hours:245.8},author:"auto",text:"Wind picking up, adjusting course"}],eo=(0,o.useCallback)(()=>{Y(null),z({text:"",author:"manual"}),K(!0)},[]),ea=(0,o.useCallback)(async()=>{try{let e;if(P)e={...P,author:W.author||P.author||"manual",text:W.text||P.text||"Manual entry"},delete e.date,delete e.point;else{let t=B["navigation.position"]||{},o=B["navigation.headingTrue"],a=B["environment.wind.speedTrue"],s=B["environment.wind.speedApparent"],n=null==a,l=n?B["environment.wind.angleApparent"]:B["environment.wind.angleTrueWater"],i={},d=(0,r.msToKnots)(n?s:a);if(null!==d&&(i.speed=d),null!=o&&null!=l){let e=(0,r.toDegrees)(o+l);null!==e&&(i.direction=e)}n&&Object.keys(i).length&&(i.apparent=!0);let c=B["environment.depth.belowKeel"]??B["environment.depth.belowTransducer"],u=B["navigation.log"],m=B["propulsion.main.runTime"];e={datetime:new Date().toISOString(),position:{latitude:t.latitude||46.1591,longitude:t.longitude||-1.1522,source:"GPS"},course:(0,r.toDegrees)(B["navigation.courseOverGroundTrue"]??o),speed:{sog:(0,r.msToKnots)(B["navigation.speedOverGround"])},wind:i,barometer:(0,r.convertPressure)(B["environment.outside.pressure"]),log:Number.isFinite(u)?parseFloat((u/1852).toFixed(1)):null,depth:Number.isFinite(c)?parseFloat(c.toFixed(1)):null,engine:{hours:Number.isFinite(m)?parseFloat((m/3600).toFixed(1)):null},author:W.author||"manual",text:W.text||"Manual entry"}}await (0,d.addLogbookEntry)(e),K(!1),Y(null),ee()}catch(e){console.warn("Error saving entry:",e),E((0,d.handleOcearoCoreError)(e,"Save logbook entry"))}},[B,ee,W,P]),es=(0,o.useCallback)(async()=>{if(!X)return void E(w("logbook.ocearoCoreNotEnabled"));try{Q(!0),E(null);let e={position:B["navigation.position"],course:B["navigation.courseOverGroundTrue"]||B["navigation.headingTrue"],speed:B["navigation.speedOverGround"],wind:{speed:B["environment.wind.speedTrue"],direction:B["environment.wind.angleTrueWater"]},weather:{pressure:B["environment.outside.pressure"],temperature:B["environment.outside.temperature"]},engine:{hours:B["propulsion.main.runTime"]},log:B["navigation.log"]},t=await (0,d.generateOcearoCoreLogbookEntry)(e);await ee(),t&&t.analysis&&(Z(t.analysis),H("auto-entry"),A("analysis"))}catch(e){E((0,d.handleOcearoCoreError)(e,"OcearoCore entry generation"))}finally{Q(!1)}},[X,B,ee,w]),en=(0,o.useCallback)(async e=>{if(!X)return void E(w("logbook.ocearoCoreNotEnabled"));try{U(!0),Z(null),H(e),E(null),A("analysis");let t=await (0,d.requestAnalysis)(e);Z(t),console.log("OcearoCore Analysis:",t)}catch(e){E((0,d.handleOcearoCoreError)(e,"OcearoCore analysis"))}finally{U(!1)}},[X,w]),el=(0,o.useCallback)(async()=>{if(!X)return void E(w("logbook.ocearoCoreNotEnabled"));try{U(!0),Z(null),H("logbook"),E(null),A("analysis");let e=await (0,d.analyzeLogbookWithOcearoCore)();Z(e),console.log("Logbook Analysis:",e)}catch(e){E((0,d.handleOcearoCoreError)(e,"Logbook analysis"))}finally{U(!1)}},[X,w]),ei=(0,o.useCallback)(e=>{Y(e),z({text:e.text||"",author:e.author||"manual"}),K(!0)},[]),er=(e,t="")=>Number.isFinite(e)?`${e}${t}`:"",ed=e=>Number.isFinite(e.course)?`${e.course}\xb0`:Number.isFinite(e.heading)?`HDT ${e.heading}\xb0`:"";(0,o.useEffect)(()=>{ee()},[ee]);let ec={safety:{color:"text-oRed",border:"border-oRed/40",bg:"bg-oRed/10"},alert:{color:"text-oRed",border:"border-oRed/40",bg:"bg-oRed/10"},weather:{color:"text-oYellow",border:"border-oYellow/40",bg:"bg-oYellow/10"},startup_analysis:{color:"text-oGreen",border:"border-oGreen/40",bg:"bg-oGreen/10"},briefing:{color:"text-oGreen",border:"border-oGreen/40",bg:"bg-oGreen/10"},racing:{color:"text-oYellow",border:"border-oYellow/40",bg:"bg-oYellow/10"},maintenance:{color:"text-oYellow",border:"border-oYellow/40",bg:"bg-oYellow/10"},hourly_entry:{color:"text-oBlue",border:"border-oBlue/40",bg:"bg-oBlue/10"},navigation:{color:"text-oBlue",border:"border-oBlue/40",bg:"bg-oBlue/10"},default:{color:"text-hud-secondary",border:"border-hud",bg:"bg-hud-elevated"}};return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-rightPaneBg overflow-hidden",children:[X&&(0,t.jsxs)("div",{className:`flex items-center justify-between px-4 py-2 border-b transition-all duration-500 ${C?"bg-oYellow/10 border-oYellow/30":"bg-hud-bg border-hud"}`,children:[(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faTrophy,className:`text-xs transition-colors duration-300 ${C?"text-oYellow animate-soft-pulse":"text-hud-muted"}`}),(0,t.jsx)("span",{className:"text-caption font-semibold uppercase tracking-widest text-hud-main",children:C?w("logbook.racingModeActive"):w("logbook.racingMode")}),C&&(0,t.jsxs)("span",{className:"text-caption font-semibold uppercase tracking-widest text-oYellow opacity-70",children:["— ",w("logbook.racingModeAISInfo")]})]}),(0,t.jsx)("button",{onClick:()=>S("racing"),className:`relative inline-flex h-5 w-10 items-center rounded-full transition-colors duration-300 focus:outline-none ${C?"bg-oYellow":"bg-hud-elevated border border-hud"}`,"aria-label":w("logbook.racingMode"),children:(0,t.jsx)("span",{className:`inline-block h-3.5 w-3.5 transform rounded-full bg-hud-main shadow transition-transform duration-300 ${C?"translate-x-5":"translate-x-1"}`})})]}),(0,t.jsx)("div",{className:"flex border-b border-hud bg-hud-bg overflow-x-auto scrollbar-hide",children:[{id:"timeline",label:w("logbook.missionTimeline"),icon:l.faTimeline},{id:"logbook",label:w("logbook.tacticalLog"),icon:l.faBook},{id:"analysis",label:w("logbook.fleetIntelligence"),icon:l.faChartLine},{id:"voyages",label:w("replay.voyages"),icon:l.faRoute}].map(e=>(0,t.jsxs)("button",{onClick:()=>A(e.id),className:`flex-1 py-3 px-3 whitespace-nowrap text-caption font-semibold uppercase flex items-center justify-center transition-all duration-500 ${F===e.id?"text-oGreen border-b-2 border-oGreen bg-hud-bg":"text-hud-secondary hover:text-hud-main tesla-hover"}`,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:e.icon,className:"mr-2"}),e.label]},e.id))}),(0,t.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:(0,t.jsx)(u.AnimatePresence,{mode:"wait",children:(0,t.jsxs)(c.motion.div,{initial:{opacity:0,x:10},animate:{opacity:1,x:0},exit:{opacity:0,x:-10},transition:{duration:.4,ease:"easeOut"},className:"h-full overflow-auto scrollbar-hide",children:["logbook"===F&&(0,t.jsxs)("div",{className:"p-4 flex flex-col h-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,t.jsxs)("h3",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faBook,className:"mr-2 text-oBlue text-xs"}),w("logbook.logbookEntries")]}),(0,t.jsxs)("div",{className:"flex space-x-3",children:[X&&(0,t.jsxs)("button",{className:"bg-oGreen/10 text-oGreen hover:bg-oGreen/20 px-3 py-1.5 rounded text-caption font-semibold uppercase transition-all duration-300 flex items-center shadow-soft border border-oGreen/20 disabled:opacity-50",onClick:es,disabled:q||O,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,className:`mr-2 ${q?"animate-spin":""}`}),q?w("logbook.aiEntryGenerating"):w("logbook.aiEntry")]}),(0,t.jsxs)("button",{className:"bg-oBlue hover:bg-oBlue/80 text-hud-main px-3 py-1.5 rounded text-caption font-semibold uppercase transition-all duration-300 flex items-center shadow-soft",onClick:eo,disabled:O,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faPlus,className:"mr-2"}),w("logbook.add")]})]})]}),I&&(0,t.jsx)("div",{className:"bg-oRed/10 text-oRed p-3 rounded text-caption font-semibold uppercase mb-4 animate-soft-pulse border border-oRed/20",children:I}),(0,t.jsx)("div",{className:"tesla-card flex-1 overflow-auto ",children:(0,t.jsxs)("table",{className:"w-full text-caption font-semibold uppercase tracking-tight",children:[(0,t.jsx)("thead",{className:"sticky top-0 bg-hud-bg backdrop-blur-md z-10",children:(0,t.jsxs)("tr",{className:"text-hud-secondary border-b border-hud",children:[(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.time")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.courseCol")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.sog")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.weatherCol")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.baro")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.depth")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.position")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.log")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.eng")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.by")}),(0,t.jsx)("th",{className:"p-3 text-left",children:w("logbook.noteCol")})]})}),(0,t.jsx)("tbody",{className:"divide-y divide-hud",children:R.map((e,o)=>(0,t.jsxs)("tr",{onClick:()=>ei(e),className:"tesla-hover cursor-pointer text-hud-main",children:[(0,t.jsx)("td",{className:"p-3 whitespace-nowrap opacity-60",children:e.date.toLocaleString("en-GB",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",timeZone:L})}),(0,t.jsx)("td",{className:"p-3 gliding-value",children:ed(e)}),(0,t.jsx)("td",{className:"p-3 gliding-value",children:er(e.speed?.sog,"kt")}),(0,t.jsx)("td",{className:"p-3 text-hud-secondary font-bold normal-case whitespace-nowrap",children:(e=>{let t=[];if(e.wind){let o=[];Number.isFinite(e.wind.speed)&&o.push(`${e.wind.speed}kt`),Number.isFinite(e.wind.direction)&&o.push(`${e.wind.direction}\xb0`),o.length&&t.push(`${e.wind.apparent?w("logbook.windApparentShort"):""}${o.join(" ")}`.trim())}return e.observations&&(Number.isFinite(e.observations.seaState)&&t.push(w("logbook.seaStateShort",{value:e.observations.seaState})),Number.isFinite(e.observations.cloudCoverage)&&t.push(`☁ ${e.observations.cloudCoverage}/8`),Number.isFinite(e.observations.visibility)&&t.push(w("logbook.visibilityShort",{value:e.observations.visibility+1}))),t.join(" · ")})(e)}),(0,t.jsx)("td",{className:"p-3 gliding-value opacity-60",children:er(e.barometer)}),(0,t.jsx)("td",{className:"p-3 gliding-value",children:er(e.depth,"m")}),(0,t.jsx)("td",{className:"p-3 text-caption text-hud-muted font-mono tracking-tighter",children:e.point?e.point.toString():"n/a"}),(0,t.jsx)("td",{className:"p-3 gliding-value",children:er(e.log,"NM")}),(0,t.jsx)("td",{className:"p-3 gliding-value",children:er(e.engine?.hours,"h")}),(0,t.jsx)("td",{className:"p-3 text-oBlue opacity-80",children:e.author||"auto"}),(0,t.jsx)("td",{className:"p-3 normal-case font-bold text-hud-secondary truncate max-w-xs",children:e.text})]},e.datetime||o))})]})})]}),"voyages"===F&&(0,t.jsx)(h,{}),"timeline"===F&&(()=>{let e=[...R].reverse(),o=[];for(let t of e){let e=t.date.toLocaleDateString("fr-FR",{weekday:"long",day:"numeric",month:"long",year:"numeric",timeZone:L}),a=o[o.length-1];a&&a.day===e?a.items.push(t):o.push({day:e,items:[t]})}return o.reverse(),(0,t.jsxs)("div",{className:"p-4 space-y-6",children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,t.jsxs)("h3",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faTimeline,className:"mr-2 text-oGreen text-xs"}),w("logbook.cruiseTimeline")]}),(0,t.jsxs)("div",{className:"flex space-x-3",children:[X&&(0,t.jsxs)("button",{className:"bg-oGreen/10 text-oGreen hover:bg-oGreen/20 px-3 py-1.5 rounded text-caption font-semibold uppercase transition-all duration-300 flex items-center shadow-soft border border-oGreen/20 disabled:opacity-50",onClick:es,disabled:q||O,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,className:`mr-2 ${q?"animate-spin":""}`}),q?w("logbook.aiEntryGenerating"):w("logbook.aiAuto")]}),(0,t.jsxs)("button",{className:"bg-oBlue hover:bg-oBlue/80 text-hud-main px-3 py-1.5 rounded text-caption font-semibold uppercase transition-all duration-300 flex items-center shadow-soft",onClick:eo,disabled:O,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faPlus,className:"mr-2"}),w("logbook.add")]})]})]}),I&&(0,t.jsx)("div",{className:"bg-oRed/10 text-oRed p-3 rounded text-caption font-semibold uppercase mb-4 animate-soft-pulse border border-oRed/20",children:I}),(0,t.jsx)("div",{className:"space-y-6",children:o.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center mb-3",children:[(0,t.jsx)("div",{className:"w-2 h-2 rounded-full bg-oBlue mr-3"}),(0,t.jsx)("span",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest",children:e.day}),(0,t.jsx)("div",{className:"flex-1 h-px bg-hud-border ml-4 opacity-40"}),(0,t.jsx)("span",{className:"text-caption font-semibold text-hud-muted ml-3",children:e.items.length})]}),(0,t.jsx)("div",{className:"space-y-2 ml-1 pl-4 border-l border-hud",children:e.items.map((e,o)=>{let a=e.entryType||e.analysis?.type||"default",s=ec[a]||ec.default,n=(e=>{let t=[],o=ed(e);if(o&&t.push({label:w("logbook.courseCol"),value:o}),Number.isFinite(e.speed?.sog)&&t.push({label:w("logbook.speed"),value:`${e.speed.sog}kt`}),Number.isFinite(e.wind?.speed)){let o=Number.isFinite(e.wind.direction)?` ${e.wind.direction}\xb0`:"";t.push({label:w("logbook.weatherCol"),value:`${e.wind.speed}kt${o}`})}return Number.isFinite(e.barometer)&&t.push({label:w("logbook.baro"),value:`${e.barometer}`}),Number.isFinite(e.depth)&&t.push({label:w("logbook.depth"),value:`${e.depth}m`}),Number.isFinite(e.log)&&t.push({label:w("logbook.log"),value:`${e.log}NM`}),Number.isFinite(e.engine?.hours)&&t.push({label:w("logbook.eng"),value:`${e.engine.hours}h`}),e.point&&"number"==typeof e.point.latitude&&t.push({label:w("logbook.coord"),value:e.point.toString(),mono:!0}),t})(e);return(0,t.jsxs)("div",{onClick:()=>ei(e),className:"tesla-card tesla-hover cursor-pointer group",children:[(0,t.jsxs)("div",{className:"px-4 py-2 flex justify-between items-center border-b border-hud",children:[(0,t.jsxs)("div",{className:"flex items-center min-w-0 gap-3",children:[(0,t.jsx)("span",{className:"text-label font-semibold text-hud-main tracking-tight",children:e.date.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",timeZone:L})}),(0,t.jsx)("span",{className:`px-2 py-0.5 rounded-sm text-caption font-semibold uppercase tracking-widest border ${s.color} ${s.border} ${s.bg}`,children:w(`logbook.types.${a}`,{defaultValue:a.replace(/_/g," ")})})]}),(0,t.jsx)("div",{className:"text-caption font-semibold text-hud-muted uppercase tracking-tighter truncate ml-3",children:e.author||"system"})]}),(0,t.jsxs)("div",{className:"p-4",children:[e.text&&(0,t.jsx)("div",{className:"text-caption font-bold text-hud-secondary normal-case leading-relaxed mb-3",children:e.text}),n.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-x-6 gap-y-2 text-caption font-semibold uppercase tracking-tight text-hud-secondary",children:n.map(e=>(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"text-hud-dim",children:e.label}),(0,t.jsx)("span",{className:`text-hud-main ${e.mono?"font-mono text-caption":"gliding-value"}`,children:e.value})]},e.label))})]})]},e.datetime||o)})})]},e.day))})]})})(),"analysis"===F&&(0,t.jsxs)("div",{className:"p-4 space-y-6",children:[(0,t.jsxs)("div",{className:"mb-6",children:[(0,t.jsxs)("h3",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest flex items-center mb-2",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faChartLine,className:"mr-2 text-oBlue text-xs"}),w("logbook.fleetIntelligence")]}),(0,t.jsx)("p",{className:"text-hud-secondary text-caption font-semibold uppercase tracking-tighter",children:w("logbook.aiPoweredAnalysis")})]}),X&&(0,t.jsxs)("div",{className:"tesla-card mb-6 ",children:[(0,t.jsx)("h4",{className:"text-caption font-semibold text-hud-secondary mb-4 uppercase tracking-widest",children:w("logbook.selectOperation")}),(0,t.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-3",children:[{id:"logbook",label:"LOGBOOK",icon:l.faBook,color:"bg-oBlue",action:el},{id:"weather",label:"WEATHER",icon:l.faCloudSun,color:"bg-oBlue",action:()=>en("weather")},{id:"sail",label:"SAIL",icon:l.faCompass,color:"bg-oGreen",action:()=>en("sail")},{id:"alerts",label:"ALERTS",icon:l.faRobot,color:"bg-oRed",action:()=>en("alerts")},{id:"status",label:"STATUS",icon:l.faTachometerAlt,color:"bg-hud-muted",action:()=>en("status")},{id:"racing",label:w("logbook.racingAdvice"),icon:l.faTrophy,color:C?"bg-oYellow":"bg-oYellow/40",action:()=>en("racing")}].map(e=>(0,t.jsxs)("button",{className:"tesla-card tesla-hover flex flex-col items-center justify-center space-y-3 group ",onClick:e.action,disabled:J,children:[(0,t.jsx)("div",{className:`${e.color} w-10 h-10 rounded-full flex items-center justify-center shadow-lg group-hover:scale-110 transition-transform duration-500`,children:(0,t.jsx)(n.FontAwesomeIcon,{icon:e.icon,className:"text-hud-main text-sm"})}),(0,t.jsx)("span",{className:"text-caption font-semibold text-hud-main tracking-widest",children:e.label})]},e.id))})]}),I&&(0,t.jsx)("div",{className:"bg-oRed/10 text-oRed p-3 rounded text-caption font-semibold uppercase mb-4 animate-soft-pulse border border-oRed/20",children:I}),J&&(0,t.jsxs)("div",{className:"tesla-card text-center ",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,className:"text-4xl text-oGreen mb-6 animate-soft-pulse"}),(0,t.jsx)("h4",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest mb-4",children:w("logbook.neuralProcessing")}),(0,t.jsx)("div",{className:"w-48 mx-auto bg-hud-elevated h-1 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"bg-oGreen h-full animate-progress-indefinite rounded-full",style:{width:"40%"}})}),(0,t.jsxs)("p",{className:"text-hud-muted text-caption font-semibold uppercase mt-4 tracking-tighter italic",children:[w("logbook.processNode")," ",_]})]}),V&&!J&&(e=V.analysis&&"object"==typeof V.analysis?V.analysis:null,x="string"==typeof V.analysis?V.analysis:null,b=void 0!==V.settings&&!V.analysis,p=x||e?.text||e?.summary||V.aiAnalysis||("string"==typeof V.summary?V.summary:null)||b&&(V.settings?.analysis?.speech||V.course?.analysis?.speech)||null,g=V.speechText||("string"==typeof V.speech?V.speech:null)||e?.speech||(b?V.settings?.analysis?.speech||V.course?.analysis?.speech:null),y=Array.isArray(f=V.recommendations||e?.recommendations||(b&&V.settings?.adjustments?.length>0?V.settings.adjustments.map(e=>e.action||e.message||JSON.stringify(e)):null))?f:null,N=Array.isArray(v=V.insights||e?.expertAdvice)?v:null,j=V.data||V.weatherData||V.assessment||(b?{course:V.course,settings:V.settings}:null),(0,t.jsxs)("div",{className:"tesla-card animate-fade-in",children:[(0,t.jsxs)("div",{className:"flex items-center mb-6 border-b border-hud pb-4",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faChartLine,className:"text-oGreen mr-3 text-sm"}),(0,t.jsxs)("h4",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest",children:[w("logbook.operationReport")," ",_]})]}),(0,t.jsxs)("div",{className:"space-y-6",children:[p&&(0,t.jsxs)("div",{className:"tesla-card border-l-2 border-oBlue/30 ",children:[(0,t.jsx)("h5",{className:"text-caption font-semibold text-oBlue mb-3 uppercase tracking-widest",children:w("logbook.executiveSummary")}),(0,t.jsx)("p",{className:"text-hud-secondary text-caption font-bold leading-relaxed italic normal-case",children:p})]}),(N||y)&&(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[N&&(0,t.jsxs)("div",{className:"tesla-card ",children:[(0,t.jsxs)("h5",{className:"text-caption font-semibold text-oBlue mb-3 uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,className:"mr-2 text-xs"}),w("logbook.strategicInsights")]}),(0,t.jsx)("ul",{className:"space-y-2",children:N.map((e,o)=>{let a="string"==typeof e?e:e&&"object"==typeof e?e.text||e.message||e.insight||JSON.stringify(e):String(e);return(0,t.jsxs)("li",{className:"text-caption font-bold text-hud-secondary normal-case flex items-start",children:[(0,t.jsx)("span",{className:"text-oBlue mr-2 opacity-50",children:"›"}),a]},o)})})]}),y&&(0,t.jsxs)("div",{className:"tesla-card ",children:[(0,t.jsxs)("h5",{className:"text-caption font-semibold text-oGreen mb-3 uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faChartLine,className:"mr-2 text-xs"}),w("logbook.operationalAdvice")]}),(0,t.jsx)("ul",{className:"space-y-2",children:y.map((e,o)=>{let a;return a="string"==typeof e?e:e&&"object"==typeof e?"string"==typeof e.message?e.message:e.message&&"object"==typeof e.message?e.message.message||e.text||e.action||JSON.stringify(e.message):e.text||e.action||JSON.stringify(e):String(e),(0,t.jsxs)("li",{className:"text-caption font-bold text-hud-secondary normal-case flex items-start",children:[(0,t.jsx)("span",{className:"text-oGreen mr-2 opacity-50",children:"✓"}),a]},o)})})]})]}),g&&(0,t.jsxs)("div",{className:"bg-oBlue/5 p-4 rounded-sm border border-oBlue/10 shadow-soft",children:[(0,t.jsxs)("h5",{className:"text-caption font-semibold text-oBlue mb-2 uppercase tracking-widest flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,className:"mr-2 animate-soft-pulse"}),w("logbook.voiceTelemetry")]}),(0,t.jsx)("p",{className:"text-hud-secondary text-caption font-bold leading-relaxed italic normal-case",children:g})]}),j&&(0,t.jsxs)("div",{className:"tesla-card ",children:[(0,t.jsx)("h5",{className:"text-caption font-semibold text-hud-secondary mb-3 uppercase tracking-widest",children:w("logbook.rawTelemetryData")}),(0,t.jsx)("pre",{className:"text-oGreen/70 text-caption font-mono overflow-auto max-h-40 font-bold scrollbar-thin",children:JSON.stringify(j,null,2)})]}),V.timestamp&&(0,t.jsxs)("div",{className:"text-hud-dim text-caption font-semibold text-right uppercase tracking-tighter",children:[w("logbook.generated")," ",new Date(V.timestamp).toLocaleString()," ","// OCEAROCORE V2.4"]})]})]})),!V&&!J&&(0,t.jsx)("div",{className:"tesla-card text-center ",children:(0,t.jsxs)("div",{className:"text-hud-muted",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faRobot,size:"3x",className:"mb-6 opacity-20"}),(0,t.jsx)("h4",{className:"text-caption font-semibold text-hud-main uppercase tracking-widest mb-3",children:w("logbook.diagnosticReady")}),(0,t.jsx)("p",{className:"text-caption font-semibold uppercase tracking-tight max-w-xs mx-auto leading-relaxed",children:w("logbook.diagnosticReadyDesc")})]})})]})]},F)})}),M&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50",onClick:()=>K(!1),children:(0,t.jsxs)("div",{className:"bg-hud-bg backdrop-blur-xl rounded-3xl p-6 sm:p-8 max-w-md w-full mx-4 shadow-2xl border border-hud max-h-[90vh] overflow-y-auto",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex justify-between items-center mb-8",children:[(0,t.jsxs)("h3",{className:"text-value font-semibold text-hud-main flex items-center tracking-tight",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faBook,className:"mr-3 text-oBlue"}),P?w("logbook.editEntry"):w("logbook.manualEntry")]}),(0,t.jsx)("button",{onClick:()=>K(!1),className:"w-10 h-10 rounded-full flex items-center justify-center text-hud-secondary hover:text-hud-main hover:bg-hud-elevated transition-all duration-300",children:(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faTimes,size:"lg"})})]}),(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-caption font-semibold uppercase tracking-widest text-hud-secondary mb-2 flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faUser,className:"mr-2 text-oBlue"}),w("logbook.author")]}),(0,t.jsx)("input",{type:"text",value:W.author,onChange:e=>z({...W,author:e.target.value}),className:"w-full bg-hud-elevated text-hud-main px-4 py-3 rounded-xl border border-hud focus:border-oBlue focus:outline-none transition-all duration-300 font-bold",placeholder:w("logbook.authorPlaceholder")})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-caption font-semibold uppercase tracking-widest text-hud-secondary mb-2 flex items-center",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faStickyNote,className:"mr-2 text-oYellow"}),w("logbook.note")]}),(0,t.jsx)("textarea",{value:W.text,onChange:e=>z({...W,text:e.target.value}),className:"w-full bg-hud-elevated text-hud-main px-4 py-3 rounded-xl border border-hud focus:border-oBlue focus:outline-none transition-all duration-300 font-bold min-h-[120px]",placeholder:w("logbook.notePlaceholder")})]}),(0,t.jsxs)("div",{className:"flex justify-end space-x-4 pt-6 border-t border-hud",children:[(0,t.jsx)("button",{onClick:()=>K(!1),className:"px-6 py-3 bg-hud-elevated hover:bg-hud-bg text-hud-main font-bold rounded-xl transition-all duration-300",children:w("logbook.cancel")}),(0,t.jsxs)("button",{onClick:ea,className:"px-8 py-3 bg-oBlue hover:bg-oBlue/80 text-hud-main font-bold rounded-xl transition-all duration-300 flex items-center shadow-lg shadow-oBlue/20",children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l.faPlus,className:"mr-2"}),w("logbook.saveEntry")]})]})]})]})})]})}],76103)},70127,function(e){e.n(e.i(76103))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98922,e=>{"use strict";var t=e.i(43476),i=e.i(71645),a=e.i(85709),s=e.i(95430);e.s(["default",0,()=>{let e=(0,a.useSignalKPath)("navigation.position"),[n,l]=(0,i.useState)(()=>(0,s.vesselNow)());(0,i.useEffect)(()=>{let e=setInterval(()=>{l((0,s.vesselNow)())},1e4);return()=>clearInterval(e)},[]);let r=(e,t)=>{if(null==e)return"--";let i=Math.abs(e),a=Math.floor(i),s=((i-a)*60).toFixed(3);return`${a}\xb0${s}'${t?e>=0?"N":"S":e>=0?"E":"W"}`},c=()=>{try{let e=navigator.language||"en-US";return n.toLocaleString(e,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})}catch(e){return console.warn("Error formatting date with user locale, falling back to en-US",e),n.toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0})}},o="text-hud-main";return e?(0,t.jsxs)("div",{className:"mt-6 ml-2 group p-4 transition-all duration-300 select-none",children:[(0,t.jsxs)("div",{className:`text-value font-semibold flex gap-4 ${o} tracking-tight drop-shadow-lg mb-3`,children:[(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-caption font-semibold uppercase tracking-[0.2em] mb-1 text-hud-dim",children:"LAT"}),(0,t.jsx)("span",{children:r(e.latitude,!0)})]}),(0,t.jsx)("div",{className:"w-[1px] bg-hud-border self-stretch my-1"}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-caption font-semibold uppercase tracking-[0.2em] mb-1 text-hud-dim",children:"LON"}),(0,t.jsx)("span",{children:r(e.longitude,!1)})]})]}),(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsx)("div",{className:"h-[2px] w-4 bg-oBlue/40 rounded-full"}),(0,t.jsx)("div",{className:"text-caption font-semibold uppercase tracking-[0.3em] text-hud-secondary",children:c()})]})]}):(0,t.jsxs)("div",{className:"mt-6 ml-2 p-3 transition-all duration-300",children:[(0,t.jsxs)("div",{className:`text-value font-semibold flex gap-4 ${o} opacity-10 tracking-tight mb-2`,children:[(0,t.jsx)("span",{children:"--°--'--"}),(0,t.jsx)("span",{children:"--°--'--"})]}),(0,t.jsx)("div",{className:"text-caption font-semibold uppercase tracking-[0.2em] opacity-40 text-hud-main",children:c()})]})}])},39554,function(e){e.n(e.i(98922))}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/3s6nzrbk-8mnv.js","static/chunks/0on1skx9l54-9.js","static/chunks/32yn_fc-es66m.js","static/chunks/34wvn5zw0a69w.js","static/chunks/0y-dctk-kmqss.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;var t,r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=((t=n||{})[t.Runtime=0]="Runtime",t[t.Parent=1]="Parent",t[t.Update=2]="Update",t);let o=new WeakMap;function l(e,t){this.m=e,this.e=t}let i=l.prototype,u=Object.prototype.hasOwnProperty,s="u">typeof Symbol&&Symbol.toStringTag;function c(e,t,r){u.call(e,t)||Object.defineProperty(e,t,r)}function a(e,t){let r=e[t];return r||(r=f(t),e[t]=r),r}function f(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function p(e,t,r){c(e,"__esModule",{value:!0}),s&&c(e,s,{value:"Module"});let n=0;for(;n<t.length;){let r=t[n++],o=t[n++];if("number"==typeof o)if(0===o)c(e,r,{value:t[n++],enumerable:!0,writable:!1});else throw Error(`unexpected tag: ${o}`);else"function"==typeof t[n]?c(e,r,{get:o,set:t[n++],enumerable:!0}):c(e,r,{get:o,enumerable:!0})}r||Object.seal(e)}function h(e,t){(null!=t?a(this.c,t):this.m).exports=e}i.s=function(e,t,r){let n,o;null!=t?o=(n=a(this.c,t)).exports:(n=this.m,o=this.e),n.namespaceObject=o,p(o,e,r)},i.j=function(e,t){let r,n;null!=t?n=(r=a(this.c,t)).exports:(r=this.m,n=this.e);let l=function(e,t){let r=o.get(e);if(!r){o.set(e,r=[]);let n=e=>{if("default"!==e){for(let t of r)if(u.call(t,e))return t}};e.exports=e.namespaceObject=new Proxy(t,{get(e,t){if(u.call(e,t)||"default"===t||"__esModule"===t)return Reflect.get(e,t);let r=n(t);return r&&Reflect.get(r,t)},set:()=>!1,defineProperty:()=>!1,deleteProperty:()=>!1,has:(e,t)=>!!Reflect.has(e,t)||"default"!==t&&"__esModule"!==t&&void 0!==n(t),ownKeys(e){let t=Reflect.ownKeys(e);for(let e of r)for(let r of Reflect.ownKeys(e))"default"===r||t.includes(r)||t.push(r);return t},getOwnPropertyDescriptor(e,t){let r=Reflect.getOwnPropertyDescriptor(e,t);if(r||"default"===t||"__esModule"===t)return r;let o=n(t);if(o)return{enumerable:!0,configurable:!0,get:()=>Reflect.get(o,t)}}})}return r}(r,n);"object"==typeof e&&null!==e&&l.push(e)},i.v=h,i.n=function(e,t){let r;(r=null!=t?a(this.c,t):this.m).exports=r.namespaceObject=e};let d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,m=[null,d({}),d([]),d(d)];function y(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!m.includes(t);t=d(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),p(t,n),t}function g(e){let t=K(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=y(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function b(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}i.i=g,i.A=function(e){return this.r(e)(g.bind(this))},i.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},i.r=function(e){return K(e,this.m).exports},i.f=function(e){function t(t){if(t=b(t),u.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=b(t),u.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let O=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function w(e,t){throw Error(`Invariant: ${t(e)}`)}O.prototype=URL.prototype,i.U=O,i.z=function(e){throw Error("dynamic usage of require is not supported")},i.g=globalThis;let k=l.prototype,R="string"==typeof TURBOPACK_CHUNK_BASE_PATH?TURBOPACK_CHUNK_BASE_PATH:"/ocearo-ui/_next/",U=new Map;i.M=U;let v=new Map,_=new Map,P=new Map;async function C(e,t,r){let n;if("string"==typeof r)return function(e,t,r){return A(e,t,r)}(e,t,E(r));let o=r.included||[],l=o.map(e=>!!U.has(e)||v.get(e));if(l.length>0&&l.every(e=>e))return void await Promise.all(l);for(let l of(n=A(e,t,E(r.path)),o))v.has(l)||v.set(l,n);await n}k.l=function(e){return C(n.Parent,this.m.id,e)};let j=Promise.resolve(void 0),$=new WeakMap;function A(t,r,o){let l=e.loadChunkCached(t,o),i=$.get(l);if(void 0===i){let e=$.set.bind($,l,j);i=l.then(e).catch(e=>{let l;switch(t){case n.Runtime:l=`as a runtime dependency of chunk ${r}`;break;case n.Parent:l=`from module ${r}`;break;case n.Update:l="from an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}let i=Error(`Failed to load chunk ${o} ${l}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw i.name="ChunkLoadError",i}),$.set(l,i)}return i}k.L=function(e){var t,r;return t=n.Parent,r=this.m.id,A(t,r,e)};k.R=function(e){let t=this.r(e);return t?.default??t},k.P=function(e){return`/ROOT/${e??""}`},k.F=function(e){return e?`file:///ROOT/${e.split("/").map(encodeURIComponent).join("/")}`:"file:///ROOT/"},k.q=function(e,t){h.call(this,`${e}${r}`,t)};let T=/[^A-Za-z0-9\-_.!~*'()/]/;function E(e,t=R){let n=T.test(e)?e.split("/").map(encodeURIComponent).join("/"):e;return`${t}${n}${r}`}function S(e,t){let r,n=e.indexOf("?");if(-1!==n)r=n;else{let t=e.indexOf("#");r=-1!==t?t:e.length}return r>=t.length&&e.startsWith(t,r-t.length)}k.b=R,k.X=r,k.h=E;function M(e){return S(e,".css")}let x={};i.c=x;let K=(e,t)=>{let r=x[e];if(r){if(r.error)throw r.error;return r}return N(e,n.Parent,t.id)};function N(e,t,r){let n=U.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:w(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=f(e),i=o.exports;x[e]=o;let u=new l(o,i);try{n(u,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&y(o.exports,o.namespaceObject),o}function B(t){let r;if(!Array.isArray(t))return e.registerChunk(void 0,t);let n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r<e.length;){let n,o=r+1;for(;o<e.length&&"function"!=typeof e[o];)o++;if(o===e.length)throw Error("malformed chunk format, expected a factory function");let l=e[o];for(let l=r;l<o;l++){let r=e[l],o=t.get(r);if(o){n=o;break}}let i=n??l,u=!1;for(let n=r;n<o;n++){let r=e[n];t.has(r)||(u||(i===l&&Object.defineProperty(l,"name",{value:"module evaluation"}),u=!0),t.set(r,i))}r=o+1}}(t,U)),e.registerChunk(n,r)}let L=new Map;function I(e){let t=L.get(e);if(!t){let r,n;t={resolved:!1,loadingStarted:!1,retryAttempts:0,promise:new Promise((e,t)=>{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},L.set(e,t)}return t}function q(e,t,r,n,o){!(null==n||n instanceof DOMException&&"NetworkError"===n.name)||r.retryAttempts>=1||L.get(t)!==r?(L.get(t)===r&&L.delete(t),r.reject(n)):(r.retryAttempts++,setTimeout(()=>{r.resolved||L.get(t)!==r||(o?o():(r.loadingStarted=!1,H(e,t)))},200+Math.floor(401*Math.random())))}function H(e,t){let r=I(t);if(r.loadingStarted)return r.promise;if(e===n.Runtime)return r.loadingStarted=!0,M(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(M(t));else if(S(t,".js")){self.TURBOPACK_NEXT_CHUNK_URLS.push(t);try{importScripts(t)}catch(n){q(e,t,r,n)}}else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let n=decodeURI(t);if(M(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${n}"],link[rel=stylesheet][href^="${n}?"]`).length>0)r.resolve();else{let n=()=>{let o=document.createElement("link");return o.rel="stylesheet",o.crossOrigin=null,o.href=t,o.onerror=()=>{let l=document.createComment("");o.replaceWith(l),q(e,t,r,void 0,()=>l.replaceWith(n()))},o.onload=()=>{r.resolve()},o};document.head.appendChild(n())}else if(S(t,".js")){let o=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${n}"],script[src^="${n}?"]`);if(o.length>0)for(let n of Array.from(o))n.addEventListener("error",()=>{n.remove(),q(e,t,r)},{once:!0});else{let n=document.createElement("script");n.crossOrigin=null,n.src=t,n.onerror=()=>{n.remove(),q(e,t,r)},document.head.appendChild(n)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise}e={async registerChunk(e,t){let r;if(null!=e&&(r=function(e){if("string"==typeof e)return e;let t=decodeURIComponent(e.src.replace(/[?#].*$/,""));return t.startsWith(R)?t.slice(R.length):t}(e),I("string"==typeof e?E(e):e.src).resolve()),null!=t){for(let e of t.otherChunks)I(E("string"==typeof e?e:e.path));if(await Promise.all(t.otherChunks.map(e=>{var t;return t=r,C(n.Runtime,t,e)})),t.runtimeModuleIds.length>0)for(let e of t.runtimeModuleIds)!function(e,t){let r=x[t];if(r){if(r.error)throw r.error;return}N(t,n.Runtime,e)}(r,e)}},loadChunkCached:(e,t)=>H(e,t)};var F=globalThis.TURBOPACK;globalThis.TURBOPACK={push:B},F.forEach(B)})();
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[39756,["/ocearo-ui/_next/static/chunks/
|
|
3
|
-
3:I[37457,["/ocearo-ui/_next/static/chunks/
|
|
4
|
-
4:I[97367,["/ocearo-ui/_next/static/chunks/
|
|
2
|
+
2:I[39756,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
3
|
+
3:I[37457,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
4
|
+
4:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"OutletBoundary"]
|
|
5
5
|
5:"$Sreact.suspense"
|
|
6
|
-
8:I[97367,["/ocearo-ui/_next/static/chunks/
|
|
7
|
-
a:I[97367,["/ocearo-ui/_next/static/chunks/
|
|
8
|
-
c:I[68027,["/ocearo-ui/_next/static/chunks/
|
|
9
|
-
:HL["/ocearo-ui/_next/static/chunks/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
7:
|
|
13
|
-
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],["$","meta","2",{"name":"theme-color","content":"#
|
|
14
|
-
|
|
6
|
+
8:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ViewportBoundary"]
|
|
7
|
+
a:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"MetadataBoundary"]
|
|
8
|
+
c:I[68027,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default",1]
|
|
9
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
10
|
+
7:X
|
|
11
|
+
0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","meta",null,{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta",null,{"name":"description","content":"Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation."}]]}],["$","body",null,{"className":"geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",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"}]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style","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":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$","$5",null,{"name":"Next.MetadataOutlet","children":"$@6"}]}]]}],{},null,false,null]},null,false,"$7"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$5",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$c",[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"01VWnAYjs9QwBnnMyWbQF"}
|
|
12
|
+
7:C
|
|
13
|
+
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#f7f8f9","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#101216","media":"(prefers-color-scheme: dark)"}]]
|
|
14
|
+
d:I[27201,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"IconMark"]
|
|
15
15
|
6:null
|
|
16
|
-
b:[["$","title","0",{"children":"Ocearo"}],["$","meta","1",{"name":"description","content":"Sailing made smarter"}],["$","link","2",{"rel":"manifest","href":"./manifest.json","crossOrigin":"$undefined"}],["$","meta","3",{"name":"format-detection","content":"telephone=no"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Ocearo"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","7",{"rel":"shortcut icon","href":"./favicon.ico"}],["$","link","8",{"rel":"icon","href":"./favicon.ico","type":"image/x-icon"}],["$","link","9",{"rel":"icon","href":"./favicon.svg","type":"image/svg+xml","sizes":"any"}],["$","link","10",{"rel":"icon","href":"./favicon-96x96.png","type":"image/png","sizes":"96x96"}],["$","link","11",{"rel":"apple-touch-icon","href":"./apple-touch-icon.png"}],["$","$
|
|
16
|
+
b:[["$","title","0",{"children":"Ocearo"}],["$","meta","1",{"name":"description","content":"Sailing made smarter"}],["$","link","2",{"rel":"manifest","href":"./manifest.json","crossOrigin":"$undefined"}],["$","meta","3",{"name":"format-detection","content":"telephone=no"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Ocearo"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","7",{"rel":"shortcut icon","href":"./favicon.ico"}],["$","link","8",{"rel":"icon","href":"./favicon.ico","type":"image/x-icon"}],["$","link","9",{"rel":"icon","href":"./favicon.svg","type":"image/svg+xml","sizes":"any"}],["$","link","10",{"rel":"icon","href":"./favicon-96x96.png","type":"image/png","sizes":"96x96"}],["$","link","11",{"rel":"apple-touch-icon","href":"./apple-touch-icon.png"}],["$","$Ld","12",{}]]
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[97367,["/ocearo-ui/_next/static/chunks/
|
|
2
|
+
2:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"OutletBoundary"]
|
|
3
3
|
3:"$Sreact.suspense"
|
|
4
|
-
|
|
4
|
+
7:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ViewportBoundary"]
|
|
5
|
+
8:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"MetadataBoundary"]
|
|
6
|
+
9:I[27201,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"IconMark"]
|
|
7
|
+
b:I[39756,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
8
|
+
c:I[37457,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
9
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
10
|
+
6:X
|
|
11
|
+
e:X
|
|
12
|
+
e:C
|
|
13
|
+
0:{"buildId":"01VWnAYjs9QwBnnMyWbQF","data":[{"rsc":["$","$1","c",{"children":[[["$","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."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":"$@5","staleTime":"$6","varyParams":null},{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L7",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"}],["$","meta","2",{"name":"theme-color","content":"#f7f8f9","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#101216","media":"(prefers-color-scheme: dark)"}]]}],["$","div",null,{"hidden":true,"children":["$","$L8",null,{"children":["$","$3",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Ocearo"}],["$","meta","1",{"name":"description","content":"Sailing made smarter"}],["$","link","2",{"rel":"manifest","href":"./manifest.json"}],["$","meta","3",{"name":"format-detection","content":"telephone=no"}],["$","meta","4",{"name":"mobile-web-app-capable","content":"yes"}],["$","meta","5",{"name":"apple-mobile-web-app-title","content":"Ocearo"}],["$","meta","6",{"name":"apple-mobile-web-app-status-bar-style","content":"black-translucent"}],["$","link","7",{"rel":"shortcut icon","href":"./favicon.ico"}],["$","link","8",{"rel":"icon","href":"./favicon.ico","type":"image/x-icon"}],["$","link","9",{"rel":"icon","href":"./favicon.svg","type":"image/svg+xml","sizes":"any"}],["$","link","10",{"rel":"icon","href":"./favicon-96x96.png","type":"image/png","sizes":"96x96"}],["$","link","11",{"rel":"apple-touch-icon","href":"./apple-touch-icon.png"}],["$","$L9","12",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@a","staleTime":"$6","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}]}]]}],"isPartial":"$@d","staleTime":"$6","varyParams":"$e"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","precedence":"next"}],["$","script","script-0",{"src":"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","async":true}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","meta",null,{"name":"apple-mobile-web-app-capable","content":"yes"}],["$","meta",null,{"name":"description","content":"Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation."}]]}],["$","body",null,{"className":"geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased","children":["$","$Lb",null,{"parallelRouterKey":"children","template":["$","$Lc",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:data:0:rsc:props:children:0:1:props:style","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":"$0:data:0:rsc:props:children:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:data:0:rsc:props:children:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:data:0:rsc:props:children:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}]]}]]}],"isPartial":"$@f","staleTime":"$6","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@10","rootVaryParams":null,"needsRuntimeRequest":"$@11"}
|
|
5
14
|
4:null
|
|
15
|
+
6:300
|
|
16
|
+
11:true
|
|
17
|
+
6:C
|
|
18
|
+
10:0
|
|
19
|
+
a:"$undefined"
|
|
20
|
+
d:"$undefined"
|
|
21
|
+
f:"$undefined"
|
|
22
|
+
5:"$undefined"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:HL["/ocearo-ui/_next/static/chunks/
|
|
2
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":
|
|
1
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
2
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}},"staleTime":300,"buildId":"01VWnAYjs9QwBnnMyWbQF"}
|
package/_not-found.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><link rel="stylesheet" href="/ocearo-ui/_next/static/chunks/2lw7kypuhij1_.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/1gizigk3w6q7j.js"/><script src="/ocearo-ui/_next/static/chunks/2lvvt2f1l5sfu.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/3jh1u-s3k0bkk.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/2atijj_pkc4uc.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/1ptwltjb3h6jf.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/turbopack-0pirmko-w-775.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><meta name="description" content="Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation."/><title>404: This page could not be found.</title><meta name="theme-color" content="#4bbcd8" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0a2e3d" media="(prefers-color-scheme: dark)"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><script src="/ocearo-ui/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ocearo-ui/_next/static/chunks/1gizigk3w6q7j.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[39756,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"default\"]\n3:I[37457,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"default\"]\n4:I[97367,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"default\",1]\n:HL[\"/ocearo-ui/_next/static/chunks/2lw7kypuhij1_.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/chunks/2lw7kypuhij1_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"meta\",null,{\"name\":\"description\",\"content\":\"Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation.\"}]}],[\"$\",\"body\",null,{\"className\":\"geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",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\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/chunks/2lw7kypuhij1_.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"sct9rcMTcCyBLHTxQQ75-\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#4bbcd8\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0a2e3d\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/ocearo-ui/_next/static/chunks/1d4h-sglyo8ft.js\",\"/ocearo-ui/_next/static/chunks/3jupxlga7r_do.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"7\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"11\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"$Le\",\"12\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"/><link rel="stylesheet" href="/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/ocearo-ui/_next/static/chunks/3s6nzrbk-8mnv.js"/><script src="/ocearo-ui/_next/static/chunks/0on1skx9l54-9.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/32yn_fc-es66m.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/34wvn5zw0a69w.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/0y-dctk-kmqss.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/turbopack-1h111qg8l92rw.js" async=""></script><script src="/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#f7f8f9" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#101216" media="(prefers-color-scheme: dark)"/><title>Ocearo</title><meta name="description" content="Sailing made smarter"/><link rel="manifest" href="./manifest.json"/><meta name="format-detection" content="telephone=no"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ocearo"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="icon" href="./favicon.ico" type="image/x-icon"/><link rel="icon" href="./favicon.svg" type="image/svg+xml" sizes="any"/><link rel="icon" href="./favicon-96x96.png" type="image/png" sizes="96x96"/><link rel="apple-touch-icon" href="./apple-touch-icon.png"/><meta name="next-size-adjust" content=""/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="description" content="Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation."/><title>404: This page could not be found.</title><script src="/ocearo-ui/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body class="geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>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)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/ocearo-ui/_next/static/chunks/3s6nzrbk-8mnv.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[39756,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"default\"]\n3:I[37457,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"default\"]\n4:I[97367,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"default\",1]\n:HL[\"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css\",\"style\"]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"apple-mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",null,{\"name\":\"description\",\"content\":\"Sailing made smarter with Ocearo: touchscreen-first sailing dashboard with navigation, weather, and instrumentation.\"}]]}],[\"$\",\"body\",null,{\"className\":\"geistsans_fce11f57-module__b_bU6G__variable geistmono_ed61a5f9-module__6fgesq__variable antialiased\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",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\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"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\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"01VWnAYjs9QwBnnMyWbQF\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f7f8f9\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#101216\",\"media\":\"(prefers-color-scheme: dark)\"}]]\nd:I[27201,[\"/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Ocearo\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Sailing made smarter\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"./manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Ocearo\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"7\",{\"rel\":\"shortcut icon\",\"href\":\"./favicon.ico\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"./favicon.ico\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"./favicon.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"./favicon-96x96.png\",\"type\":\"image/png\",\"sizes\":\"96x96\"}],[\"$\",\"link\",\"11\",{\"rel\":\"apple-touch-icon\",\"href\":\"./apple-touch-icon.png\"}],[\"$\",\"$Ld\",\"12\",{}]]\n"])</script></body></html>
|