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.
Files changed (158) hide show
  1. package/404.html +1 -1
  2. package/README.fr.md +141 -157
  3. package/README.md +137 -157
  4. package/__next.__PAGE__.txt +19 -5
  5. package/__next._full.txt +12 -12
  6. package/__next._tree.txt +2 -2
  7. package/_next/static/chunks/0-c2-u5p6bxzo.js +1 -0
  8. package/_next/static/chunks/0h2qsuyze9ds1.js +1 -0
  9. package/_next/static/chunks/0iqdztntvxh3c.js +119 -0
  10. package/_next/static/chunks/0iztd835j5p1n.js +700 -0
  11. package/_next/static/chunks/{2nxsyowmuwpjy.js → 0jfox92up1jvy.js} +1 -1
  12. package/_next/static/chunks/0jpa5m78l0ib0.js +1 -0
  13. package/_next/static/chunks/0kpstejrka-7k.js +1 -0
  14. package/_next/static/chunks/0m7wbuocx-b4_.js +9 -0
  15. package/_next/static/chunks/0n95joti2n2py.js +3 -0
  16. package/_next/static/chunks/0ohleay4roayh.js +353 -0
  17. package/_next/static/chunks/0on1skx9l54-9.js +1 -0
  18. package/_next/static/chunks/0voiofm58khqd.js +1 -0
  19. package/_next/static/chunks/0w_skktmh3e48.js +1 -0
  20. package/_next/static/chunks/0y-dctk-kmqss.js +1 -0
  21. package/_next/static/chunks/0zwc9m4qgtwle.js +1 -0
  22. package/_next/static/chunks/11awvgcou7v4r.js +1 -0
  23. package/_next/static/chunks/144mjqdrx42lq.js +1 -0
  24. package/_next/static/chunks/15imr2-f_8n-x.js +1 -0
  25. package/_next/static/chunks/18_i6mf6hb_c7.js +1 -0
  26. package/_next/static/chunks/1d81m3g9jqkob.js +1 -0
  27. package/_next/static/chunks/1ed7ayfg19cjb.js +1 -0
  28. package/_next/static/chunks/1epya-yh2wvj2.js +1 -0
  29. package/_next/static/chunks/1exvcc71cgr4t.js +446 -0
  30. package/_next/static/chunks/1g8fbzv0hu0i2.js +1 -0
  31. package/_next/static/chunks/1gq4t2dyr7rq3.js +1 -0
  32. package/_next/static/chunks/1gt2hhqk1821k.js +9 -0
  33. package/_next/static/chunks/1l-jew0-1-3eq.js +30 -0
  34. package/_next/static/chunks/1pa1cfmfts0i9.js +1 -0
  35. package/_next/static/chunks/1ptj3mv8b_tzs.js +1 -0
  36. package/_next/static/chunks/1w1xks0hp_tlr.js +346 -0
  37. package/_next/static/chunks/1xekc18cyi4sx.js +1 -0
  38. package/_next/static/chunks/1y35unwvy8p98.js +1 -0
  39. package/_next/static/chunks/1zm03hw2ylxw8.js +1 -0
  40. package/_next/static/chunks/2aq8orcir5h03.js +1 -0
  41. package/_next/static/chunks/2dvwb-mfasp68.js +1 -0
  42. package/_next/static/chunks/2fdpvhx4oo81h.js +1 -0
  43. package/_next/static/chunks/2g-xpe7xnropn.js +409 -0
  44. package/_next/static/chunks/2kmptoy43h0mx.js +1 -0
  45. package/_next/static/chunks/2kwn4iymxaom3.js +1 -0
  46. package/_next/static/chunks/2n86yq1wz1yx7.js +1 -0
  47. package/_next/static/chunks/2rebcvig176xk.js +564 -0
  48. package/_next/static/chunks/2ryo_bbmt6t74.css +3 -0
  49. package/_next/static/chunks/2s6w3x5jnc2tg.js +1 -0
  50. package/_next/static/chunks/2w44atvyp9o_w.js +1 -0
  51. package/_next/static/chunks/2w71oj1brox5z.js +1 -0
  52. package/_next/static/chunks/2wayx8t5r5fi9.js +1 -0
  53. package/_next/static/chunks/3--qzv1u6c7_7.js +1 -0
  54. package/_next/static/chunks/32yn_fc-es66m.js +22 -0
  55. package/_next/static/chunks/34wvn5zw0a69w.js +1 -0
  56. package/_next/static/chunks/37t6vg8fb1-z8.js +1 -0
  57. package/_next/static/chunks/3nm7o0eq5abhg.js +1 -0
  58. package/_next/static/chunks/3p9ziqn6r35qf.js +1 -0
  59. package/_next/static/chunks/3q8o52_juxmdp.js +1 -0
  60. package/_next/static/chunks/3s6nzrbk-8mnv.js +31 -0
  61. package/_next/static/chunks/3td9mnhvcj9cq.js +1 -0
  62. package/_next/static/chunks/3wwn1rti8oc_r.js +1 -0
  63. package/_next/static/chunks/3zqx8h9yg5-ch.js +1 -0
  64. package/_next/static/chunks/turbopack-1h111qg8l92rw.js +1 -0
  65. package/_not-found/__next._full.txt +13 -13
  66. package/_not-found/__next._not-found.__PAGE__.txt +19 -2
  67. package/_not-found/__next._tree.txt +2 -2
  68. package/_not-found.html +1 -1
  69. package/_not-found.txt +13 -13
  70. package/apple-touch-icon.png +0 -0
  71. package/boats/boats.json +40 -5
  72. package/favicon-96x96.png +0 -0
  73. package/favicon.ico +0 -0
  74. package/favicon.svg +1 -3
  75. package/icons/favicon-16x16.png +0 -0
  76. package/icons/favicon-32x32.png +0 -0
  77. package/icons/favicon-48x48.png +0 -0
  78. package/icons/icon-192x192.png +0 -0
  79. package/icons/icon-512x512.png +0 -0
  80. package/icons/ocearo.webp +0 -0
  81. package/index.html +1 -1
  82. package/index.txt +12 -12
  83. package/manifest.json +2 -3
  84. package/package.json +15 -14
  85. package/settings/__next._full.txt +15 -15
  86. package/settings/__next._tree.txt +2 -2
  87. package/settings/__next.settings.__PAGE__.txt +22 -5
  88. package/settings.html +1 -1
  89. package/settings.txt +15 -15
  90. package/__next._head.txt +0 -6
  91. package/__next._index.txt +0 -5
  92. package/_next/static/chunks/0-z15txb4-uhu.js +0 -409
  93. package/_next/static/chunks/009rlietvsaq2.js +0 -1
  94. package/_next/static/chunks/070stlm97b9a2.js +0 -1
  95. package/_next/static/chunks/0abo2oxxw3hpi.js +0 -1
  96. package/_next/static/chunks/0jzbiie0nzar2.js +0 -1
  97. package/_next/static/chunks/0kinaai2rvd43.js +0 -9
  98. package/_next/static/chunks/0l9s4rhr00adq.js +0 -1
  99. package/_next/static/chunks/0qj7yy4f6sk8y.js +0 -455
  100. package/_next/static/chunks/0ri_um14-5x7u.js +0 -1
  101. package/_next/static/chunks/0uvr7xkt_5uno.js +0 -1
  102. package/_next/static/chunks/0yf1ifg_o1bq6.js +0 -1
  103. package/_next/static/chunks/0zbzk2ob0li1n.js +0 -1
  104. package/_next/static/chunks/0zjxnzbxh76mt.js +0 -1
  105. package/_next/static/chunks/17ma1x64d-211.js +0 -1
  106. package/_next/static/chunks/19xb2y6sgfnza.js +0 -1
  107. package/_next/static/chunks/1bz0tcmhjmjgh.js +0 -1
  108. package/_next/static/chunks/1d4h-sglyo8ft.js +0 -1
  109. package/_next/static/chunks/1gizigk3w6q7j.js +0 -31
  110. package/_next/static/chunks/1ptwltjb3h6jf.js +0 -4
  111. package/_next/static/chunks/1q572rz5m8mb-.js +0 -1
  112. package/_next/static/chunks/1rkf8qtk5-48h.js +0 -1
  113. package/_next/static/chunks/1sq_733weprvs.js +0 -1
  114. package/_next/static/chunks/26e1o1as-77nq.js +0 -172
  115. package/_next/static/chunks/27hn45pv56pv7.js +0 -393
  116. package/_next/static/chunks/28y-j215vt42m.js +0 -1
  117. package/_next/static/chunks/2a0yjir_3mk1m.js +0 -1
  118. package/_next/static/chunks/2atijj_pkc4uc.js +0 -2
  119. package/_next/static/chunks/2ccpehidlaq88.js +0 -1
  120. package/_next/static/chunks/2fy4q1c5l3tpj.js +0 -1
  121. package/_next/static/chunks/2lvvt2f1l5sfu.js +0 -1
  122. package/_next/static/chunks/2lw7kypuhij1_.css +0 -3
  123. package/_next/static/chunks/2nd5amcst4lhp.js +0 -1
  124. package/_next/static/chunks/2pwmb4pkqygy_.js +0 -1
  125. package/_next/static/chunks/2q_83f24jeg0e.js +0 -1
  126. package/_next/static/chunks/2rsdqsatgq9ta.js +0 -1
  127. package/_next/static/chunks/2udirievybq_j.js +0 -1
  128. package/_next/static/chunks/2urimbxg5bqv3.js +0 -1
  129. package/_next/static/chunks/32cbrrsp-x35l.js +0 -1
  130. package/_next/static/chunks/36ra6xjie0dsv.js +0 -9
  131. package/_next/static/chunks/3iuz3f0429awx.js +0 -1
  132. package/_next/static/chunks/3jh1u-s3k0bkk.js +0 -1
  133. package/_next/static/chunks/3jupxlga7r_do.js +0 -1
  134. package/_next/static/chunks/3m57lnggu30tr.js +0 -243
  135. package/_next/static/chunks/3myql5zu0rstt.js +0 -425
  136. package/_next/static/chunks/3rhgquok36e79.js +0 -1
  137. package/_next/static/chunks/42dfiu6iby3fq.js +0 -1
  138. package/_next/static/chunks/43ps2cu5ahf8n.js +0 -3
  139. package/_next/static/chunks/turbopack-0pirmko-w-775.js +0 -1
  140. package/_not-found/__next._head.txt +0 -6
  141. package/_not-found/__next._index.txt +0 -5
  142. package/_not-found/__next._not-found.txt +0 -5
  143. package/boats/ais/ais-30.glb +0 -0
  144. package/boats/ais/ais-31.glb +0 -0
  145. package/boats/ais/ais-35.glb +0 -0
  146. package/boats/ais/ais-36.glb +0 -0
  147. package/boats/ais/ais-37.glb +0 -0
  148. package/boats/ais/ais-40.glb +0 -0
  149. package/boats/ais/ais-50.glb +0 -0
  150. package/boats/ais/ais-60.glb +0 -0
  151. package/boats/ais/ais-70.glb +0 -0
  152. package/boats/ais/ais-80.glb +0 -0
  153. package/settings/__next._head.txt +0 -6
  154. package/settings/__next._index.txt +0 -5
  155. package/settings/__next.settings.txt +0 -5
  156. /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_buildManifest.js +0 -0
  157. /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_clientMiddlewareManifest.js +0 -0
  158. /package/_next/static/{sct9rcMTcCyBLHTxQQ75- → 01VWnAYjs9QwBnnMyWbQF}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,35235,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(30297),i=e.i(82897),o=e.i(60099),a=e.i(43257),s=e.i(66326),l=e.i(67561),T=e.i(46991),u=e.i(85709),c=e.i(84226),d=e.i(90072);let f={MOBILE_TEMPLATE:{COLOR:l.oYellow,WIDTH_FACTOR:.8,LENGTH_FACTOR:2.5,MAX_LENGTH_MULTIPLIER:3.5,CURVATURE_SENSITIVITY:{RUDDER:1.5,WIND:.25,CURRENT:.3,LEEWAY:.15,DRIFT:.1}},NEUTRAL_TEMPLATE:{COLOR:l.oBlue,WIDTH_FACTOR:.7,LENGTH_FACTOR:.9},ANTICOLLISION_TEMPLATE:{COLOR:l.oRed,WIDTH_FACTOR:1.5,LENGTH_FACTOR:.8}},E=({rudderAngle:e=0,sog:n=5,boatWidth:i=2,windSpeed:o=0,windDirection:a=0,currentSpeed:s=0,currentDirection:l=0,leewayAngle:T=0,driftFactor:u=0,maxCurvePoints:c=50})=>{let E=(0,r.useRef)(),h=(0,r.useRef)(),M=(0,r.useRef)(),p=(0,r.useCallback)(()=>{let e=d.MathUtils.degToRad(a),t=d.MathUtils.degToRad(T),r=Math.cos(e+t)*o*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.WIND,n=Math.sin(e+t)*o*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.WIND,i=d.MathUtils.degToRad(l),c=Math.cos(i)*s*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.CURRENT,E=Math.sin(i)*s*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.CURRENT;return{x:(r+c)*(1+u*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.DRIFT),z:(n+E)*(1+u*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.DRIFT)}},[o,a,s,l,T,u]),I=(0,r.useCallback)(()=>{let t=i*f.MOBILE_TEMPLATE.MAX_LENGTH_MULTIPLIER,r=Math.min(2*i*f.MOBILE_TEMPLATE.LENGTH_FACTOR,t),n=[],o=1.5*p().x;if(.1>Math.abs(e)){let e=.5*o,t=Math.max(i/Math.tan(d.MathUtils.degToRad(5+Math.abs(e))),.5*i),a=r/t,s=new d.Vector2(e>0?t:-t,0),l=e>0?Math.PI:0;for(let r=0;r<=c;r++){let i=l+r/c*(e>0?a:-a),o=s.x+t*Math.cos(i),T=s.y+t*Math.sin(i);n.push(new d.Vector3(o,0,T))}}else{let t=d.MathUtils.clamp(1.2*Math.abs(e)+o,0,85),a=i/Math.tan(d.MathUtils.degToRad(t*f.MOBILE_TEMPLATE.CURVATURE_SENSITIVITY.RUDDER)),s=d.MathUtils.clamp(r/a,0,1.25*Math.PI);if(e>0){let e=new d.Vector2(a,0),t=Math.PI;for(let r=0;r<=c;r++){let i=r/c,o=d.MathUtils.lerp(t,t+s,i),l=e.x+a*Math.cos(o),T=e.y+a*Math.sin(o);n.push(new d.Vector3(l,0,T))}}else{let e=new d.Vector2(-a,0);for(let t=0;t<=c;t++){let r=t/c,i=d.MathUtils.lerp(0,0-s,r),o=e.x+a*Math.cos(i),l=e.y+a*Math.sin(i);n.push(new d.Vector3(o,0,l))}}}let a=n.map((e,t)=>{let r;(r=0===t?n[1].clone().sub(e):e.clone().sub(n[t-1])).normalize();let o=new d.Vector3(-r.z,0,r.x),a=i/1.8;return{left:e.clone().add(o.multiplyScalar(a)),right:e.clone().sub(o.multiplyScalar(a))}});return[...a.map(e=>e.left),a[a.length-1].right,...a.reverse().map(e=>e.right)]},[i,e,c,p]),R=(0,r.useCallback)(e=>{if("MOBILE_TEMPLATE"===e)return I();let t=f[e],r=2*i*t.LENGTH_FACTOR,n=i*t.WIDTH_FACTOR,o=[],a=Math.floor(c/4);for(let e=0;e<=a;e++){let t=e/a;o.push(new d.Vector3(-n/2,0,-r*t))}o.push(new d.Vector3(n/2,0,-r));for(let e=a;e>=0;e--){let t=e/a;o.push(new d.Vector3(n/2,0,-r*t))}return o},[i,c,I]);return(0,r.useEffect)(()=>{E.current&&h.current&&M.current&&(E.current.geometry.setFromPoints(R("MOBILE_TEMPLATE")),h.current.geometry.setFromPoints(R("NEUTRAL_TEMPLATE")),M.current.geometry.setFromPoints(R("ANTICOLLISION_TEMPLATE")))},[R]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("line",{ref:E,children:[(0,t.jsx)("bufferGeometry",{}),(0,t.jsx)("lineBasicMaterial",{color:f.MOBILE_TEMPLATE.COLOR,linewidth:3,transparent:!0,opacity:.8})]}),(0,t.jsxs)("line",{ref:h,children:[(0,t.jsx)("bufferGeometry",{}),(0,t.jsx)("lineBasicMaterial",{color:f.NEUTRAL_TEMPLATE.COLOR,linewidth:2,transparent:!0,opacity:.4})]}),(0,t.jsxs)("line",{ref:M,children:[(0,t.jsx)("bufferGeometry",{}),(0,t.jsx)("lineBasicMaterial",{color:f.ANTICOLLISION_TEMPLATE.COLOR,linewidth:4,transparent:!0,opacity:.6})]})]})};var h=e.i(57384),M=e.i(16196);let p=.5,I=({position:e,rotation:r,speed:n,color:i,fontSize:o=p,textPosition:a=[0,.8,0],arrowSize:s=1})=>{let{nightMode:T}=(0,l.useOcearoContext)(),u=i||(T?l.oNight:"#ffffff");return(0,t.jsxs)("group",{position:e,rotation:r,children:[(0,t.jsx)(M.Text,{characters:"0123456789.",color:u,fontSize:o*s,position:a,font:"fonts/Roboto-Bold.ttf",anchorX:"center",anchorY:"middle",fillOpacity:.9,children:n.toFixed(1)}),(0,t.jsxs)("mesh",{children:[(0,t.jsx)("shapeGeometry",{args:[new d.Shape([new d.Vector2(0,0),new d.Vector2(.4*s,.3*s),new d.Vector2(0,-.6*s),new d.Vector2(-.4*s,.3*s),new d.Vector2(0,0)])]}),(0,t.jsx)("meshBasicMaterial",{color:u,side:d.DoubleSide,transparent:!0,opacity:.8})]})]})};I.propTypes={position:h.default.arrayOf(h.default.number),rotation:h.default.arrayOf(h.default.number),speed:h.default.number.isRequired,color:h.default.string,fontSize:h.default.number,textPosition:h.default.arrayOf(h.default.number),arrowSize:h.default.number},I.defaultProps={position:[0,0,0],rotation:[0,0,0],color:null,fontSize:p,textPosition:[0,.8,0],arrowSize:1};let R=({outerRadius:e})=>{let n=(0,u.useSignalKPath)("environment.current"),i=(0,r.useMemo)(()=>n||{setTrue:0,drift:0},[n]),o=(0,r.useMemo)(()=>{let t=i.setTrue||0;return[(e+.7)*Math.cos(t),0,-(e+.7)*Math.sin(t)]},[e,i.setTrue]);return!i.drift||i.drift<=0?null:(0,t.jsx)("group",{children:(0,t.jsx)(I,{position:o,rotation:[-Math.PI/2,0,-(Math.PI/2-(i.setTrue||0))],speed:i.drift,color:l.oGreen,arrowSize:1.2})})};R.propTypes={outerRadius:h.default.number.isRequired},e.s(["default",0,({onUpdateInfoPanel:e})=>{let{nightMode:d}=(0,l.useOcearoContext)(),f=(0,r.useRef)(),h=(0,r.useMemo)(()=>["steering.rudderAngle","navigation.speedOverGround","environment.wind.angleApparent","environment.wind.speedApparent","environment.current"],[]),M=(0,u.useSignalKPaths)(h),p=M["steering.rudderAngle"]||0,I=M["navigation.speedOverGround"]||0,L=M["environment.wind.angleApparent"]||0,m=(0,r.useMemo)(()=>(0,T.convertWindSpeed)(M["environment.wind.speedApparent"])||0,[M]),A=(0,r.useMemo)(()=>M["environment.current"]||{setTrue:0,drift:0},[M]);return(0,t.jsxs)(r.Suspense,{fallback:(0,t.jsx)(o.Html,{center:!0,children:"Loading..."}),children:[(0,t.jsx)(i.PerspectiveCamera,{makeDefault:!0,fov:60,near:1,far:1e3,position:[0,1,10]}),(0,t.jsx)(n.OrbitControls,{enableZoom:!0,enableRotate:!0,maxPolarAngle:Math.PI/2,minPolarAngle:Math.PI/4}),(0,t.jsx)(a.Environment,{files:"./assets/ocearo_env.hdr",background:!1,intensity:.6}),(0,t.jsx)("ambientLight",{intensity:.2}),(0,t.jsx)("directionalLight",{position:[15,30,20],intensity:1.2,castShadow:!1,color:d?"#b0d8ff":"#ffffff"}),(0,t.jsx)("spotLight",{position:[0,50,100],intensity:.8,angle:.6,penumbra:1,color:d?"#4080ff":"#ffffff"}),(0,t.jsx)("pointLight",{position:[-10,10,-10],intensity:.5}),(0,t.jsxs)("group",{position:[0,-3,0],children:[(0,t.jsx)(s.default,{position:[0,0,.7],scale:[.5,.5,.5],ref:f,showSail:!1,onUpdateInfoPanel:e}),(0,t.jsx)(c.default,{outerRadius:5}),(0,t.jsx)(R,{outerRadius:5}),(0,t.jsx)("group",{position:[0,0,-5],children:(0,t.jsx)(E,{rudderAngle:p,sog:I,windSpeed:m,windDirection:L,currentSpeed:A.drift,currentDirection:A.setTrue,boatWidth:2,leewayAngle:Math.min(Math.sin(Math.abs(L*Math.PI/180))*m*.02,10),driftFactor:I<.1?0:Math.min(A.drift/I,1),maxCurvePoints:100})})]})]})}],35235)},27404,e=>{e.n(e.i(35235))}]);
@@ -1 +0,0 @@
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),l=e.i(68757),r=e.i(67561),s=e.i(46991),i=e.i(85709);e.i(85269);var o=e.i(22831);let c={waterTemp:{key:"waterTemp",path:"environment.water.temperature",icon:l.faWater,labelKey:"temperature.waterTemperature",format:e=>`${e}${(0,s.getTemperatureUnitLabel)()}`,transform:s.convertTemperatureUnit},airTemp:{key:"airTemp",path:"environment.outside.temperature",icon:l.faThermometerHalf,labelKey:"temperature.airTemperature",format:e=>`${e}${(0,s.getTemperatureUnitLabel)()}`,transform:s.convertTemperatureUnit},engineRoomTemp:{key:"engineRoomTemp",path:"environment.inside.engineRoom.temperature",icon:l.faFire,labelKey:"temperature.engineRoomTemperature",format:e=>`${e}${(0,s.getTemperatureUnitLabel)()}`,transform:s.convertTemperatureUnit},lazaretteTemp:{key:"lazaretteTemp",path:"environment.inside.lazarette.temperature",icon:l.faThermometerHalf,labelKey:"temperature.lazaretteTemperature",format:e=>`${e}${(0,s.getTemperatureUnitLabel)()}`,transform:s.convertTemperatureUnit},fridgeTemp:{key:"fridgeTemp",path:"environment.inside.fridge.temperature",icon:l.faSnowflake,labelKey:"temperature.fridgeTemperature",format:e=>`${e}${(0,s.getTemperatureUnitLabel)()}`,transform:s.convertTemperatureUnit}},m=({mode:e,value:a,icon:l,nightMode:r})=>{let{t:s}=(0,o.useTranslation)();if(!a&&0!==a)return null;let i=s(c[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 ${r?"text-oNight":"text-hud-main"}`,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l,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-xs font-black uppercase tracking-widest text-hud-muted leading-none mb-1",children:i.split(" ")[0]}),(0,t.jsx)("span",{className:"text-base sm:text-xl font-bold tracking-tight leading-none whitespace-nowrap",children:c[e].format(a)})]})]})},u=()=>{let{t:e}=(0,o.useTranslation)(),{nightMode:n}=(0,r.useOcearoContext)(),[l,s]=(0,a.useState)([]),[u,d]=(0,a.useState)(null),p=(0,a.useMemo)(()=>Object.values(c).map(e=>e.path),[]),x=(0,i.useSignalKPaths)(p),f=(0,a.useMemo)(()=>Object.entries(c).reduce((e,[t,a])=>{let n=x[a.path];return e[t]=null!==n?a.transform(n):null,e},{}),[x]);(0,a.useEffect)(()=>{let e=Object.entries(f).filter(([e,t])=>null!==t).map(([e])=>e);s(e),e.length>0&&!e.includes(u)&&d(e[0])},[f,u]);let h=(0,a.useCallback)(()=>{if(l.length<=1)return;let e=(l.indexOf(u)+1)%l.length;d(l[e])},[l,u]);return 0===l.length?(0,t.jsx)("div",{className:`px-3 py-1.5 ${n?"text-oNight":"text-hud-muted"}`,children:(0,t.jsx)("span",{className:"text-sm font-black uppercase tracking-widest",children:"N/A"})}):(0,t.jsx)("div",{className:"cursor-pointer flex items-center group",onClick:h,title:`Toggle Temperature Display (${l.length} sensors available)`,role:"button",tabIndex:0,onKeyPress:e=>"Enter"===e.key&&h(),"aria-label":e(u?c[u].labelKey:"common.na"),children:u&&(0,t.jsx)(m,{mode:u,value:f[u],icon:c[u].icon,nightMode:n})})},d={pressure:{key:"pressure",path:"environment.outside.pressure",icon:l.faCloud,labelKey:"environmental.pressure",format:e=>`${e} hPa`,transform:s.convertPressure},humidity:{key:"humidity",path:"environment.inside.relativeHumidity",icon:l.faDroplet,labelKey:"environmental.humidity",format:e=>`${e.toFixed(1)}%`,transform:e=>100*e},voc:{key:"voc",path:"environment.inside.voc",icon:l.faWind,labelKey:"environmental.voc",format:e=>`${Math.round(e)} kΩ`,transform:e=>e/1e3}},p=({mode:e,value:a,icon:l,nightMode:r})=>{let{t:s}=(0,o.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 ${r?"text-oNight":"text-hud-main"}`,children:[(0,t.jsx)(n.FontAwesomeIcon,{icon:l,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-xs font-black uppercase tracking-widest text-hud-muted leading-none mb-1",children:s(d[e].labelKey)}),(0,t.jsx)("span",{className:"text-base sm:text-xl font-bold tracking-tight leading-none whitespace-nowrap",children:d[e].format(a)})]})]}):null},x=()=>{let{nightMode:e}=(0,r.useOcearoContext)(),[n,l]=(0,a.useState)([]),[s,o]=(0,a.useState)(null),c=(0,a.useMemo)(()=>Object.values(d).map(e=>e.path),[]),m=(0,i.useSignalKPaths)(c),u=(0,a.useMemo)(()=>Object.entries(d).reduce((e,[t,a])=>{let n=m[a.path];return e[t]=null!==n?a.transform(n):null,e},{}),[m]);(0,a.useEffect)(()=>{let e=Object.entries(u).filter(([e,t])=>null!==t).map(([e])=>e);l(e),e.length>0&&!e.includes(s)&&o(e[0])},[u,s]);let x=(0,a.useCallback)(()=>{if(n.length<=1)return;let e=(n.indexOf(s)+1)%n.length;o(n[e])},[n,s]);return 0===n.length?(0,t.jsx)("div",{className:`px-3 py-1.5 ${e?"text-oNight":"text-hud-muted"}`,children:(0,t.jsx)("span",{className:"text-sm font-black uppercase tracking-widest",children:"N/A"})}):(0,t.jsx)("div",{className:"cursor-pointer flex items-center group",onClick:x,title:`Toggle Environmental Display (${n.length} modes available)`,role:"button",tabIndex:0,onKeyPress:e=>"Enter"===e.key&&x(),children:s&&(0,t.jsx)(p,{mode:s,value:u[s],icon:d[s].icon,nightMode:e})})};var f=e.i(83402),h=e.i(48390);let b=["off","safety","all"],g={off:{icon:l.faVolumeHigh,badgeColor:null},safety:{icon:l.faShieldHalved,badgeColor:"bg-oYellow"},all:{icon:l.faVolumeXmark,badgeColor:"bg-oRed"}},v=({icon:e,onClick:a,label:l,textColor:r,badgeColor:s})=>(0,t.jsxs)("button",{onClick:a,className:`${r} 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":l,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"}),s&&(0,t.jsx)("span",{className:`absolute top-0 right-0 w-2.5 h-2.5 rounded-full border-2 border-leftPaneBg ${s} animate-pulse`})]}),(0,t.jsx)("span",{className:"ocearo-large-label text-xs font-black uppercase tracking-[0.2em] mt-1 opacity-60 group-hover:opacity-100 transition-opacity",children:l})]});e.s(["default",0,({setRightView:e,toggleSettings:n,toggleAppMenu:s})=>{let{t:i}=(0,o.useTranslation)(),{nightMode:c}=(0,r.useOcearoContext)(),m=c?"text-hud-main/90":"text-hud-main",[d,p]=(0,a.useState)("off");(0,a.useEffect)(()=>{if(!(0,h.isOcearoCoreEnabled)())return;let e=!1,t=async()=>{try{let t=await (0,h.getOcearoCoreDnd)();!e&&t?.mode&&p(t.mode)}catch(e){}};t();let a=setInterval(t,3e4);return()=>{e=!0,clearInterval(a)}},[]);let y=async()=>{let e=b[(b.indexOf(d)+1)%b.length];p(e);try{await (0,h.setOcearoCoreDnd)(e)}catch(e){console.warn("Failed to set DND mode:",e),p(d)}},k=f.default.getAll(),j=k.debugMode?"bg-oYellow":k.signalKUrlSet?null:"bg-oBlue",T=[{section:"left",items:[{icon:l.faShip,onClick:()=>n(),label:i("nav.system"),badgeColor:j},...(0,h.isOcearoCoreEnabled)()?[{icon:g[d].icon,onClick:y,label:i(`nav.dnd.${d}`),badgeColor:g[d].badgeColor}]:[]]},{section:"center",items:[{icon:l.faMapMarkedAlt,onClick:()=>e("navigation"),label:i("nav.nav")},{icon:l.faCloudSun,onClick:()=>e("weather"),label:i("nav.weather")},{icon:l.faTh,onClick:s,label:i("nav.apps")},{icon:l.faTachometerAlt,onClick:()=>e("dashboard"),label:i("nav.dashboard")},{icon:l.faHandsHelping,onClick:()=>e("manual"),label:i("nav.help")}]}],C=e=>{let a=T.find(t=>t.section===e);return a?a.items.map((a,n)=>(0,t.jsx)(v,{icon:a.icon,onClick:a.onClick,label:a.label,textColor:m,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:[C("left"),(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)(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:C("center")}),(0,t.jsx)("div",{className:"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)(x,{})})]})}],50124)},61891,e=>{e.n(e.i(50124))}]);