ocearo-ui 2.0.0 → 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 +27 -3
- package/README.md +27 -3
- package/__next.__PAGE__.txt +3 -3
- package/__next._full.txt +4 -4
- package/__next._tree.txt +2 -2
- package/_next/static/chunks/0m7wbuocx-b4_.js +9 -0
- package/_next/static/chunks/0voiofm58khqd.js +1 -0
- package/_next/static/chunks/{3xjnsskh0tayo.js → 15imr2-f_8n-x.js} +1 -1
- package/_next/static/chunks/{32j_j396qs7be.js → 18_i6mf6hb_c7.js} +1 -1
- package/_next/static/chunks/{1fzzb4jtgv5gg.js → 1gt2hhqk1821k.js} +2 -2
- package/_next/static/chunks/{3ktj0iemsr1m-.js → 1pa1cfmfts0i9.js} +1 -1
- package/_next/static/chunks/1zm03hw2ylxw8.js +1 -0
- package/_next/static/chunks/2dvwb-mfasp68.js +1 -0
- package/_next/static/chunks/2kwn4iymxaom3.js +1 -0
- package/_next/static/chunks/2ryo_bbmt6t74.css +3 -0
- package/_next/static/chunks/{0oaqe70syw_b5.js → 2s6w3x5jnc2tg.js} +1 -1
- package/_next/static/chunks/{34_oyzp8_pi_m.js → 2w44atvyp9o_w.js} +1 -1
- package/_next/static/chunks/{0yiqocv54ogoq.js → 3p9ziqn6r35qf.js} +1 -1
- package/_next/static/chunks/{31lugryguappr.js → 3q8o52_juxmdp.js} +1 -1
- package/_next/static/chunks/3wwn1rti8oc_r.js +1 -0
- package/_not-found/__next._full.txt +3 -3
- package/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/_not-found/__next._tree.txt +2 -2
- package/_not-found.html +1 -1
- package/_not-found.txt +3 -3
- package/apple-touch-icon.png +0 -0
- 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 +4 -4
- package/manifest.json +2 -3
- package/package.json +2 -1
- package/settings/__next._full.txt +3 -3
- package/settings/__next._tree.txt +2 -2
- package/settings/__next.settings.__PAGE__.txt +2 -2
- package/settings.html +1 -1
- package/settings.txt +3 -3
- package/_next/static/chunks/01atsfq_4opab.js +0 -1
- package/_next/static/chunks/0cx639tthxlz4.js +0 -1
- package/_next/static/chunks/0zlk2mlkvbtj1.js +0 -1
- package/_next/static/chunks/1gaiqhzy_0d7s.js +0 -1
- package/_next/static/chunks/2r_h93rt76vka.js +0 -1
- package/_next/static/chunks/2y3d8zopa8r5r.css +0 -3
- package/_next/static/chunks/3k5itcabq5oqs.js +0 -9
- /package/_next/static/{baa0rBM5TIECz8JV_tLT6 → 01VWnAYjs9QwBnnMyWbQF}/_buildManifest.js +0 -0
- /package/_next/static/{baa0rBM5TIECz8JV_tLT6 → 01VWnAYjs9QwBnnMyWbQF}/_clientMiddlewareManifest.js +0 -0
- /package/_next/static/{baa0rBM5TIECz8JV_tLT6 → 01VWnAYjs9QwBnnMyWbQF}/_ssgManifest.js +0 -0
package/404.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/2y3d8zopa8r5r.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="#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"/><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><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/2y3d8zopa8r5r.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/2y3d8zopa8r5r.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\":\"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/2y3d8zopa8r5r.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"baa0rBM5TIECz8JV_tLT6\"}\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\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#4bbcd8\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0a2e3d\",\"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>
|
|
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>
|
package/README.fr.md
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
[English 🇬🇧](README.md)
|
|
7
7
|
|
|
8
|
+
<p align="center">
|
|
9
|
+
<picture>
|
|
10
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/logo/ocearo-logo-dark.svg">
|
|
11
|
+
<img src="docs/logo/ocearo-logo-light.svg" alt="Ocearo" width="360">
|
|
12
|
+
</picture>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
8
15
|
# Ocearo UI
|
|
9
16
|
|
|
10
17
|
**L’affichage de navigation open source pour Signal K.** Une image 3D claire et en temps réel du bateau, de la mer et du trafic autour — réglage des voiles, règles de barre, homme à la mer, veille au mouillage, bathymétrie et météo — dans une interface sobre inspirée de la visualisation de conduite Tesla. Il tourne comme webapp Signal K sur le serveur du bord (un Raspberry Pi suffit) et dans n’importe quel navigateur à bord : écran de table à cartes, tablette de cockpit ou téléphone.
|
|
@@ -13,6 +20,8 @@
|
|
|
13
20
|
|
|
14
21
|
> Toutes les images de cette page sont des captures de l’application, alimentée par des données réelles de La Rochelle du 4 octobre 2026 : vent Open-Meteo, marée, bathymétrie SHOM 20 m et trafic AIS scénarisé.
|
|
15
22
|
|
|
23
|
+
▶ **Visite en vidéo (2:33) :** [en français](https://youtu.be/GkLjk23Sz8k) · [in English](https://youtu.be/YGQM3UipcvU) — sortie de La Rochelle, règles de barre, homme à la mer, bathymétrie, météo, moteur et journal de bord.
|
|
24
|
+
|
|
16
25
|
---
|
|
17
26
|
|
|
18
27
|
## Sommaire
|
|
@@ -66,6 +75,21 @@ Bateaux : un racer de 10,8 m (par défaut), un catamaran de 14 m et des modèles
|
|
|
66
75
|
|---|---|
|
|
67
76
|
|  |  |
|
|
68
77
|
| **À nous de manœuvrer.** Un navire en pêche croise devant : d’après la règle 18, le voilier s’en écarte. Le bateau et le bandeau passent en rouge orangé, le conseil nomme la règle et le changement de cap (« Éviter : 15° sur bâbord »). | **À lui de manœuvrer.** Un voilier bâbord amures qui arrive par tribord doit s’écarter (règle 12) : il passe en violet avec la manœuvre attendue de lui. S’il n’agit pas, le conseil de la règle 17 b) apparaît. |
|
|
78
|
+
|  |  |
|
|
79
|
+
| **Trafic dense.** Chaque cible porte son rôle et sa règle : le ferry et le cargo doivent s’écarter d’un voilier sous voiles (18), le catamaran est au vent sur les mêmes amures (12 a-ii), le chalutier est prioritaire. Quand aucun changement de cap ne dégage tout le monde, le conseil le dit et propose de ralentir. | **Au moteur.** Moteur en route, le voilier est un navire à propulsion mécanique : un cargo sur tribord est prioritaire (règle 15). Le conseil passe sur son arrière (« Éviter : 75° sur tribord ») et la ligne pointillée marque le point de rapprochement maximal. |
|
|
80
|
+
|
|
81
|
+
**Les règles appliquées par Ocearo**, d’après le statut AIS et le type de chaque cible, et d’après le nôtre (un voilier moteur en route est un navire à propulsion mécanique) :
|
|
82
|
+
|
|
83
|
+
| Règle | Situation | Qui s’écarte |
|
|
84
|
+
|-------|-----------|--------------|
|
|
85
|
+
| 13 | Rattrapage — arrivée à plus de 22,5° sur l’arrière du travers | Le navire qui rattrape |
|
|
86
|
+
| 18 | Navires de catégories différentes | Moteur ⟶ voilier ⟶ pêche ⟶ capacité de manœuvre restreinte |
|
|
87
|
+
| 12 | Deux voiliers | Bâbord amures s’écarte de tribord amures ; mêmes amures, le navire au vent |
|
|
88
|
+
| 14 | Routes opposées entre navires à moteur | Les deux viennent sur tribord |
|
|
89
|
+
| 15 | Routes qui se croisent entre navires à moteur | Celui qui voit l’autre sur tribord, en passant sur son arrière |
|
|
90
|
+
| 17 | Nous sommes privilégiés | Maintenir cap et vitesse ; peut manœuvrer si l’autre ne le fait pas, doit manœuvrer quand l’abordage ne peut plus être évité par la seule manœuvre de l’autre |
|
|
91
|
+
|
|
92
|
+
Chenaux étroits et dispositifs de séparation du trafic (règles 9–10) ne sont pas modélisés : le conseil est une aide à la veille, jamais une décision. Avec **[ocearo-core](https://github.com/laborima/ocearo-core)** sur le serveur, les mêmes règles sont aussi annoncées à voix haute — *« Danger collision : LE PERTUIS à 0,5 milles, CPA 0,1 milles dans 6 minutes. Navire en pêche, à nous de nous écarter, règle 18. Passez derrière lui, en abattant ou en ralentissant. »* — y compris la règle 19 par visibilité réduite, et le bouton de la couche AIS coupe le bandeau et les conseils avec les cibles.
|
|
69
93
|
|
|
70
94
|
Les couleurs ont partout le même sens : **rouge** — risque de collision et c’est à nous de manœuvrer ; **violet** — risque de collision et c’est à lui ; **orange** — proche mais sans route de collision ; gris — rien à signaler. CPA et TCPA viennent du cap et de la vitesse des deux navires ; les seuils se règlent dans les réglages. Les cibles AIS sont dessinées par type et longueur (voiliers, catamarans, ferries, cargos, remorqueurs, chalutiers, vedettes SNSM…) et estimées entre deux messages, si bien qu’elles glissent au lieu de sauter.
|
|
71
95
|
|
|
@@ -117,9 +141,9 @@ Ocearo UI est une **webapp** Signal K.
|
|
|
117
141
|
|
|
118
142
|
1. Sur votre serveur Signal K (≥ 2.x), ouvrez **Appstore → Available**, cherchez **ocearo-ui** et installez-le (ou `npm install ocearo-ui` dans `~/.signalk`).
|
|
119
143
|
2. Redémarrez le serveur et ouvrez `http://<serveur-signalk>:3000/ocearo-ui/` sur n’importe quel écran du bord.
|
|
120
|
-
3. Recommandé : installez **[ocearo-core](https://
|
|
144
|
+
3. Recommandé : installez **[ocearo-core](https://github.com/laborima/ocearo-core)** pour le journal de bord, la veille au mouillage, la bathymétrie SHOM, les métriques système et le copilote IA.
|
|
121
145
|
|
|
122
|
-
|
|
146
|
+
Site web : <https://laborima.github.io/ocearo-ui/fr/> · démo en ligne avec des données simulées : <https://laborima.github.io/ocearo-ui/fr/demo/>
|
|
123
147
|
|
|
124
148
|
### Prérequis Signal K
|
|
125
149
|
|
|
@@ -131,7 +155,7 @@ Ocearo lit des chemins Signal K standard ; quand un chemin manque, son affichage
|
|
|
131
155
|
| [`@meri-imperiumi/signalk-autostate`](https://www.npmjs.com/package/@meri-imperiumi/signalk-autostate) | `navigation.state` | Affichage des voiles, priorité des alertes |
|
|
132
156
|
| [`@signalk/set-system-time`](https://www.npmjs.com/package/@signalk/set-system-time) | Horloge système depuis le GPS | Marées, jour/nuit, journal |
|
|
133
157
|
| [`@signalk/signalk-autopilot`](https://www.npmjs.com/package/@signalk/signalk-autopilot) | API pilote Signal K v2 | Vue pilote |
|
|
134
|
-
| [`ocearo-core`](https://
|
|
158
|
+
| [`ocearo-core`](https://github.com/laborima/ocearo-core) | Journal, mouillage, bathymétrie, métriques système, copilote IA | Journal, veille au mouillage, bathymétrie, onglet Raspberry Pi |
|
|
135
159
|
|
|
136
160
|
Matériel : un Raspberry Pi 4 ou 5 fait tourner sans peine le serveur et un écran ; choisissez la qualité 3D *Raspberry Pi* sur l’écran du Pi. Tout navigateur récent sert d’écran déporté.
|
|
137
161
|
|
package/README.md
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
[Français 🇫🇷](README.fr.md)
|
|
7
7
|
|
|
8
|
+
<p align="center">
|
|
9
|
+
<picture>
|
|
10
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/logo/ocearo-logo-dark.svg">
|
|
11
|
+
<img src="docs/logo/ocearo-logo-light.svg" alt="Ocearo" width="360">
|
|
12
|
+
</picture>
|
|
13
|
+
</p>
|
|
14
|
+
|
|
8
15
|
# Ocearo UI
|
|
9
16
|
|
|
10
17
|
**The open-source sailing display for Signal K.** A clear, real-time 3D picture of the boat, the sea and the traffic around it — sail trim, rules of the road, man overboard, anchor watch, bathymetry and weather — in a calm interface inspired by Tesla's driving visualisation. It runs as a Signal K webapp on the boat's server (a Raspberry Pi is enough) and in any browser on board: chart-table screen, cockpit tablet or phone.
|
|
@@ -13,6 +20,8 @@
|
|
|
13
20
|
|
|
14
21
|
> Every image on this page is a screenshot of the app, fed with real data for La Rochelle on 4 October 2026: wind from Open-Meteo, tides, the SHOM 20 m bathymetry and scripted AIS traffic.
|
|
15
22
|
|
|
23
|
+
▶ **Video tour (2:33):** [in English](https://youtu.be/YGQM3UipcvU) · [en français](https://youtu.be/GkLjk23Sz8k) — leaving La Rochelle, the rules of the road, man overboard, bathymetry, weather, engine and logbook.
|
|
24
|
+
|
|
16
25
|
---
|
|
17
26
|
|
|
18
27
|
## Contents
|
|
@@ -66,6 +75,21 @@ Boats: a 10.8 m racer (default), a 14 m catamaran and simpler models, chosen in
|
|
|
66
75
|
|---|---|
|
|
67
76
|
|  |  |
|
|
68
77
|
| **Our move.** A vessel engaged in fishing crosses ahead: under rule 18 the sailing yacht keeps clear. The boat and the banner turn orange-red, the advice names the rule and the alteration (“Avoid: 15° to port”). | **Their move.** A port-tack yacht closing from starboard must keep clear (rule 12): it turns violet with the manoeuvre expected of it. If it does not act, rule 17(b) advice appears. |
|
|
78
|
+
|  |  |
|
|
79
|
+
| **Busy water.** Every target carries its role and the rule: the ferry and the cargo ship must keep clear of a yacht under sail (18), the catamaran is to windward on the same tack (12 a-ii), the fishing vessel has right of way. When no single alteration clears everyone, the advice says so and asks to slow down. | **Under engine.** Motoring, the yacht is a power-driven vessel: a cargo ship on the starboard side has right of way (rule 15). The advice passes astern of her (“Avoid: 75° to starboard”) and the dashed line marks the closest point of approach. |
|
|
80
|
+
|
|
81
|
+
**The rules Ocearo applies**, from the AIS status and ship type of each target and from our own (a yacht with its engine running is power-driven):
|
|
82
|
+
|
|
83
|
+
| Rule | Situation | Who keeps clear |
|
|
84
|
+
|------|-----------|-----------------|
|
|
85
|
+
| 13 | Overtaking — coming up from more than 22.5° abaft the beam | The overtaking vessel |
|
|
86
|
+
| 18 | Different kinds of vessel | Power ⟶ sail ⟶ fishing ⟶ restricted in her ability to manoeuvre |
|
|
87
|
+
| 12 | Two sailing vessels | Port tack keeps clear of starboard tack; on the same tack, the windward boat |
|
|
88
|
+
| 14 | Head-on between power-driven vessels | Both alter to starboard |
|
|
89
|
+
| 15 | Crossing between power-driven vessels | The one with the other on her starboard side, passing astern |
|
|
90
|
+
| 17 | We are the stand-on vessel | Hold course and speed; may act when the other does not, must act when the give-way vessel alone can no longer avoid collision |
|
|
91
|
+
|
|
92
|
+
Narrow channels and traffic separation schemes (rules 9–10) are not modelled: the advice is an aid to the watch, never a decision. With **[ocearo-core](https://github.com/laborima/ocearo-core)** on the server, the same rules are also spoken — *“Collision danger: LE PERTUIS at 0.5 miles, CPA 0.1 miles in 6 minutes. Vessel engaged in fishing, we keep clear, rule 18. Pass astern of her, bearing away or slowing down.”* — including rule 19 in restricted visibility, and the AIS layer button switches the banner and advice off with the targets.
|
|
69
93
|
|
|
70
94
|
Colours mean the same thing everywhere: **red** — risk of collision and it is our move; **violet** — risk of collision and it is theirs; **orange** — close but no collision course; grey — nothing to report. CPA and TCPA come from both vessels' course and speed; thresholds are set in the settings. AIS targets are drawn by type and length (sailing yachts, catamarans, ferries, cargo ships, tugs, fishing vessels, lifeboats…) and dead-reckoned between reports, so they glide instead of jumping.
|
|
71
95
|
|
|
@@ -117,9 +141,9 @@ Ocearo UI is a Signal K **webapp**.
|
|
|
117
141
|
|
|
118
142
|
1. On your Signal K server (≥ 2.x), open **Appstore → Available**, search for **ocearo-ui** and install it (or `npm install ocearo-ui` in `~/.signalk`).
|
|
119
143
|
2. Restart the server and open `http://<signalk-server>:3000/ocearo-ui/` on any screen on board.
|
|
120
|
-
3. Recommended: install **[ocearo-core](https://
|
|
144
|
+
3. Recommended: install **[ocearo-core](https://github.com/laborima/ocearo-core)** for the logbook, anchor watch, SHOM bathymetry, system metrics and the AI copilot.
|
|
121
145
|
|
|
122
|
-
|
|
146
|
+
Website: <https://laborima.github.io/ocearo-ui/> · live demo with simulated data: <https://laborima.github.io/ocearo-ui/demo/>
|
|
123
147
|
|
|
124
148
|
### Signal K prerequisites
|
|
125
149
|
|
|
@@ -131,7 +155,7 @@ Ocearo reads standard Signal K paths; when a path is missing, its display is emp
|
|
|
131
155
|
| [`@meri-imperiumi/signalk-autostate`](https://www.npmjs.com/package/@meri-imperiumi/signalk-autostate) | `navigation.state` | Sail visibility, alert priorities |
|
|
132
156
|
| [`@signalk/set-system-time`](https://www.npmjs.com/package/@signalk/set-system-time) | System clock from GPS | Tides, day/night, logbook |
|
|
133
157
|
| [`@signalk/signalk-autopilot`](https://www.npmjs.com/package/@signalk/signalk-autopilot) | Signal K v2 autopilot API | Autopilot view |
|
|
134
|
-
| [`ocearo-core`](https://
|
|
158
|
+
| [`ocearo-core`](https://github.com/laborima/ocearo-core) | Logbook, anchor, bathymetry, system metrics, AI copilot | Logbook, anchor watch, bathymetry, Raspberry Pi tab |
|
|
135
159
|
|
|
136
160
|
Hardware: a Raspberry Pi 4 or 5 runs the server and a display comfortably; select the *Raspberry Pi* 3D quality on the Pi's own screen. Any recent browser works as a remote display.
|
|
137
161
|
|
package/__next.__PAGE__.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[47257,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ClientPageRoot"]
|
|
3
|
-
3:I[81694,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","/ocearo-ui/_next/static/chunks/
|
|
3
|
+
3:I[81694,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","/ocearo-ui/_next/static/chunks/3q8o52_juxmdp.js","/ocearo-ui/_next/static/chunks/18_i6mf6hb_c7.js","/ocearo-ui/_next/static/chunks/0voiofm58khqd.js","/ocearo-ui/_next/static/chunks/1zm03hw2ylxw8.js","/ocearo-ui/_next/static/chunks/0kpstejrka-7k.js"],"default"]
|
|
4
4
|
6:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
6
|
b:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ViewportBoundary"]
|
|
@@ -8,9 +8,9 @@ c:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"MetadataBoundary"
|
|
|
8
8
|
d:I[27201,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"IconMark"]
|
|
9
9
|
f:I[39756,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
10
10
|
10:I[37457,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
11
|
-
:HL["/ocearo-ui/_next/static/chunks/
|
|
11
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
12
12
|
a:X
|
|
13
|
-
0:{"buildId":"
|
|
13
|
+
0:{"buildId":"01VWnAYjs9QwBnnMyWbQF","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/ocearo-ui/_next/static/chunks/3q8o52_juxmdp.js","async":true}],["$","script","script-1",{"src":"/ocearo-ui/_next/static/chunks/18_i6mf6hb_c7.js","async":true}],["$","script","script-2",{"src":"/ocearo-ui/_next/static/chunks/0voiofm58khqd.js","async":true}],["$","script","script-3",{"src":"/ocearo-ui/_next/static/chunks/1zm03hw2ylxw8.js","async":true}],["$","script","script-4",{"src":"/ocearo-ui/_next/static/chunks/0kpstejrka-7k.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",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":["$","$Lc",null,{"children":["$","$7",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"}],["$","$Ld","12",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"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":["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}],"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."}]}]]}]}]],[]]}]}]]}]]}],"isPartial":"$@11","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@12","rootVaryParams":null,"needsRuntimeRequest":"$@13"}
|
|
14
14
|
4:{}
|
|
15
15
|
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
16
16
|
8:null
|
package/__next._full.txt
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
2:I[39756,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
3
3
|
3:I[37457,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default"]
|
|
4
4
|
4:I[47257,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ClientPageRoot"]
|
|
5
|
-
5:I[81694,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","/ocearo-ui/_next/static/chunks/
|
|
5
|
+
5:I[81694,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js","/ocearo-ui/_next/static/chunks/3q8o52_juxmdp.js","/ocearo-ui/_next/static/chunks/18_i6mf6hb_c7.js","/ocearo-ui/_next/static/chunks/0voiofm58khqd.js","/ocearo-ui/_next/static/chunks/1zm03hw2ylxw8.js","/ocearo-ui/_next/static/chunks/0kpstejrka-7k.js"],"default"]
|
|
6
6
|
8:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"OutletBoundary"]
|
|
7
7
|
9:"$Sreact.suspense"
|
|
8
8
|
b:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"ViewportBoundary"]
|
|
9
9
|
d:I[97367,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"MetadataBoundary"]
|
|
10
10
|
f:I[68027,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"default",1]
|
|
11
|
-
:HL["/ocearo-ui/_next/static/chunks/
|
|
11
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
12
12
|
:HC["/",""]
|
|
13
|
-
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/ocearo-ui/_next/static/chunks/
|
|
13
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$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":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/ocearo-ui/_next/static/chunks/3q8o52_juxmdp.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/ocearo-ui/_next/static/chunks/18_i6mf6hb_c7.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/ocearo-ui/_next/static/chunks/0voiofm58khqd.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/ocearo-ui/_next/static/chunks/1zm03hw2ylxw8.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/ocearo-ui/_next/static/chunks/0kpstejrka-7k.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$Le"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$f",[["$","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"}
|
|
14
14
|
6:{}
|
|
15
15
|
7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
16
|
-
c:[["$","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":"#
|
|
16
|
+
c:[["$","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)"}]]
|
|
17
17
|
10:I[27201,["/ocearo-ui/_next/static/chunks/0h2qsuyze9ds1.js"],"IconMark"]
|
|
18
18
|
a:null
|
|
19
19
|
e:[["$","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"}],["$","$L10","12",{}]]
|
package/__next._tree.txt
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
:HL["/ocearo-ui/_next/static/chunks/
|
|
1
|
+
:HL["/ocearo-ui/_next/static/chunks/2ryo_bbmt6t74.css","style"]
|
|
2
2
|
:HC["/",""]
|
|
3
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"
|
|
3
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"01VWnAYjs9QwBnnMyWbQF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2936,e=>{"use strict";var t=e.i(43476);e.i(71645);var n=e.i(46932),o=e.i(88653),i=e.i(49721),l=e.i(68757),s=e.i(83402),r=e.i(81694),a=e.i(48390);e.i(85269);var c=e.i(22831);let u=({icon:e,label:n,onClick:o,onClose:l})=>(0,t.jsxs)("button",{onClick:()=>{o(),l()},className:"flex items-center min-w-0 text-hud-main px-2 py-2 sm:px-4 sm:py-3 rounded-xl tesla-hover transition-all duration-200 group bg-hud-bg shadow-soft border border-hud",children:[(0,t.jsx)("div",{className:"w-7 h-7 sm:w-8 sm:h-8 flex items-center justify-center bg-hud-elevated rounded-lg mr-2 sm:mr-3 group-hover:scale-110 transition-transform shrink-0",children:(0,t.jsx)(i.FontAwesomeIcon,{icon:e,className:"text-sm sm:text-base text-hud-muted group-hover:text-hud-main transition-colors"})}),(0,t.jsx)("span",{className:"block min-w-0 text-caption sm:text-label font-bold uppercase tracking-wide sm:tracking-widest truncate",children:n})]});e.s(["default",0,({currentViewMode:e,canSplit:i=!0,toggleViewMode:d,handleSetRightView:m,toggleSettings:f,toggleFullscreen:p,setShowAppMenu:h})=>{let{t:x}=(0,c.useTranslation)(),C=(0,a.isOcearoCoreEnabled)(),b=s.default.get("debugMode"),g=()=>h(!1);return(0,t.jsx)(o.AnimatePresence,{children:(0,t.jsx)(n.motion.div,{initial:{y:20,x:"-50%",opacity:0,scale:.95},animate:{y:0,x:"-50%",opacity:1,scale:1},exit:{y:20,x:"-50%",opacity:0,scale:.95},transition:{duration:.3,ease:[.16,1,.3,1]},className:"fixed bottom-[calc(5rem+env(safe-area-inset-bottom))] left-1/2 bg-hud-bg backdrop-blur-xl p-3 sm:p-6 rounded-3xl shadow-2xl z-50 w-[95vw] sm:w-full max-w-lg border border-hud ocearo-appmenu-scroll",children:(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 sm:gap-4",children:[i&&e!==r.VIEW_MODES.SPLIT&&(0,t.jsx)(u,{onClose:g,icon:l.faExpand,label:x("menu.splitView"),onClick:()=>d(r.VIEW_MODES.SPLIT)}),e!==r.VIEW_MODES.APP&&(0,t.jsx)(u,{onClose:g,icon:l.faExpand,label:x("menu.fullView"),onClick:()=>d(r.VIEW_MODES.APP)}),(0,t.jsx)(u,{onClose:g,icon:l.faChartLine,label:x("menu.dashboard"),onClick:()=>m("dashboard")}),C&&(0,t.jsx)(u,{onClose:g,icon:l.faBook,label:x("menu.logbook"),onClick:()=>m("logbook")}),(0,t.jsx)(u,{onClose:g,icon:l.faCompass,label:x("menu.autopilot"),onClick:()=>m("autopilot")}),e!==r.VIEW_MODES.BOAT&&(0,t.jsx)(u,{onClose:g,icon:l.faShip,label:x("menu.boatView"),onClick:()=>d(r.VIEW_MODES.BOAT)}),(0,t.jsx)(u,{onClose:g,icon:l.faHandsHelping,label:x("menu.manual"),onClick:()=>m("manual")}),(0,t.jsx)(u,{onClose:g,icon:l.faTachometerAlt,label:x("menu.instruments"),onClick:()=>m("instrument")}),(0,t.jsx)(u,{onClose:g,icon:l.faVideo,label:x("menu.webcam"),onClick:()=>m("webcam1")}),(0,t.jsx)(u,{onClose:g,icon:l.faMapMarkedAlt,label:x("menu.navigation"),onClick:()=>m("navigation")}),(0,t.jsx)(u,{onClose:g,icon:l.faCogs,label:x("menu.settings"),onClick:f}),(0,t.jsx)(u,{onClose:g,icon:l.faCloudSun,label:x("menu.weather"),onClick:()=>m("weather")}),(0,t.jsx)(u,{onClose:g,icon:l.faBatteryFull,label:x("menu.battery"),onClick:()=>m("battery")}),(0,t.jsx)(u,{onClose:g,icon:l.faExclamationTriangle,label:x("menu.engine"),onClick:()=>m("motor")}),(0,t.jsx)(u,{onClose:g,icon:l.faHeadphones,label:x("menu.mediaPlayer"),onClick:()=>m("mediaplayer")}),(0,t.jsx)(u,{onClose:g,icon:l.faExpand,label:x("menu.toggleFullscreen"),onClick:p}),b&&(0,t.jsx)(u,{onClose:g,icon:l.faBug,label:x("menu.debug"),onClick:()=>m("debug")}),(0,t.jsx)(u,{onClose:g,icon:l.faSyncAlt,label:x("menu.refresh"),onClick:()=>{window.location.reload()}})]})})})}])},85626,function(e){e.n(e.i(2936))},88653,e=>{"use strict";var t=e.i(43476),n=e.i(71645),o=e.i(31178),i=e.i(47414),l=e.i(74008),s=e.i(21476),r=e.i(72846),a=n,c=e.i(37806);function u(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class d extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,r.isHTMLElement)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,n=(0,r.isHTMLElement)(e)&&e.offsetWidth||0,o=(0,r.isHTMLElement)(e)&&e.offsetHeight||0,i=getComputedStyle(t),l=this.props.sizeRef.current;l.height=parseFloat(i.height),l.width=parseFloat(i.width),l.top=t.offsetTop,l.left=t.offsetLeft,l.right=n-l.width-l.left,l.bottom=o-l.height-l.top,l.direction=i.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function m({children:e,isPresent:o,anchorX:i,anchorY:l,root:s,pop:r}){let f=(0,a.useId)(),p=(0,a.useRef)(null),h=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:x}=(0,a.useContext)(c.MotionConfigContext),C=function(...e){return n.useCallback(function(...e){return t=>{let n=!1,o=e.map(e=>{let o=u(e,t);return n||"function"!=typeof o||(n=!0),o});if(n)return()=>{for(let t=0;t<o.length;t++){let n=o[t];"function"==typeof n?n():u(e[t],null)}}}}(...e),e)}(p,!1!==r?e.props?.ref??e?.ref:void 0);return(0,a.useInsertionEffect)(()=>{let{width:e,height:t,top:n,left:a,right:c,bottom:u,direction:d}=h.current;if(o||!1===r||!p.current||!e||!t)return;let m="rtl"===d,C="left"===i?m?`right: ${c}`:`left: ${a}`:m?`left: ${a}`:`right: ${c}`,b="bottom"===l?`bottom: ${u}`:`top: ${n}`;p.current.dataset.motionPopId=f;let g=document.createElement("style");x&&(g.nonce=x);let j=s??document.head;return j.appendChild(g),g.sheet&&g.sheet.insertRule(`
|
|
2
|
+
[data-motion-pop-id="${f}"] {
|
|
3
|
+
position: absolute !important;
|
|
4
|
+
width: ${e}px !important;
|
|
5
|
+
height: ${t}px !important;
|
|
6
|
+
${C}px !important;
|
|
7
|
+
${b}px !important;
|
|
8
|
+
}
|
|
9
|
+
`),()=>{p.current?.removeAttribute("data-motion-pop-id"),j.contains(g)&&j.removeChild(g)}},[o]),(0,t.jsx)(d,{isPresent:o,childRef:p,sizeRef:h,pop:r,children:!1===r?e:a.cloneElement(e,{ref:C})})}let f=({children:e,initial:o,isPresent:r,onExitComplete:a,custom:c,presenceAffectsLayout:u,mode:d,anchorX:f,anchorY:h,root:x})=>{let C=(0,i.useConstant)(p),b=(0,n.useId)(),g=(0,n.useRef)(r),j=(0,n.useRef)(a);(0,l.useIsomorphicLayoutEffect)(()=>{g.current=r,j.current=a});let E=!0,w=(0,n.useMemo)(()=>(E=!1,{id:b,initial:o,isPresent:r,custom:c,onExitComplete:e=>{for(let t of(C.set(e,!0),C.values()))if(!t)return;a&&a()},register:e=>(C.set(e,!1),()=>{C.delete(e),g.current||C.size||j.current?.()})}),[r,C,a]);return u&&E&&(w={...w}),(0,n.useMemo)(()=>{C.forEach((e,t)=>C.set(t,!1))},[r]),n.useEffect(()=>{r||C.size||!a||a()},[r]),e=(0,t.jsx)(m,{pop:"popLayout"===d,isPresent:r,anchorX:f,anchorY:h,root:x,children:e}),(0,t.jsx)(s.PresenceContext.Provider,{value:w,children:e})};function p(){return new Map}var h=e.i(64978);let x=e=>e.key||"";function C(e){let t=[];return n.Children.forEach(e,e=>{(0,n.isValidElement)(e)&&t.push(e)}),t}e.s(["AnimatePresence",0,({children:e,custom:s,initial:r=!0,onExitComplete:a,presenceAffectsLayout:c=!0,mode:u="sync",propagate:d=!1,anchorX:m="left",anchorY:p="top",root:b})=>{let[g,j]=(0,h.usePresence)(d),E=(0,n.useMemo)(()=>C(e),[e]),w=d&&!g?[]:E.map(x),k=(0,n.useRef)(!0),y=(0,i.useConstant)(()=>new Map),v=(0,n.useRef)(new Set),[P,M]=(0,n.useState)(E),[S,I]=(0,n.useState)(E);(0,l.useIsomorphicLayoutEffect)(()=>{!d||g||S.length||j?.()},[g,d,S.length,j]),(0,l.useIsomorphicLayoutEffect)(()=>{k.current=!1;for(let e=0;e<S.length;e++){let t=x(S[e]);w.includes(t)?(y.delete(t),v.current.delete(t)):!0!==y.get(t)&&y.set(t,!1)}},[S,w.length,w.join("-")]);let T=[];if(E!==P){let e=[...E],t=0;for(let n of S){let o=w.indexOf(x(n));-1===o?(e.splice(t++,0,n),T.push(n)):t=o+T.length+1}return T.every(e=>y.get(x(e)))?e=E:"wait"===u&&(e=T),I(C(e)),M(E),null}let{forceRender:A}=(0,n.useContext)(o.LayoutGroupContext);return(0,t.jsx)(t.Fragment,{children:S.map(e=>{let n=x(e),o=(!d||!!g)&&(E===S||w.includes(n));return(0,t.jsx)(f,{isPresent:o,initial:(!k.current||!!r)&&void 0,custom:s,presenceAffectsLayout:c,mode:u,root:b,onExitComplete:o?void 0:()=>{if(v.current.has(n)||!y.has(n))return;v.current.add(n),y.set(n,!0);let e=!0;y.forEach(t=>{t||(e=!1)}),e&&(A?.(),M([]),d&&j?.(),a&&a())},anchorX:m,anchorY:p,children:e},n)})})}],88653)}]);
|