@idmwx/idmui-gl4 2.0.9 → 2.1.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/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var $a = (t, e, o) => e in t ? Qa(t, e, { enumerable: !0, configurable: !0, writ
3
3
  var de = (t, e, o) => ($a(t, typeof e != "symbol" ? e + "" : e, o), o);
4
4
  import Ae from "axios";
5
5
  import { useTheme as De } from "vuetify";
6
- import { openBlock as g, createElementBlock as S, resolveComponent as w, createBlock as A, normalizeClass as ye, withCtx as u, createVNode as p, withModifiers as Se, createElementVNode as s, createCommentVNode as I, toDisplayString as n, createTextVNode as K, Fragment as xe, renderList as ke, withDirectives as Ye, vShow as Ze, mergeProps as j, normalizeStyle as ee, createStaticVNode as ei } from "vue";
6
+ import { openBlock as g, createElementBlock as S, resolveComponent as x, createBlock as A, normalizeClass as ye, withCtx as u, createVNode as p, withModifiers as Se, createElementVNode as s, createCommentVNode as I, toDisplayString as n, createTextVNode as K, Fragment as xe, renderList as ke, withDirectives as Ye, vShow as Ze, mergeProps as j, normalizeStyle as ee, createStaticVNode as ei } from "vue";
7
7
  import ze from "mapbox-gl";
8
8
  import M from "moment";
9
9
  import { LngLatHelper as q, TropicalHelper as Va, LaneHelper as Ve } from "@idm-plugin/geo";
@@ -497,7 +497,7 @@ const pi = {
497
497
  }
498
498
  }, ui = ["innerHTML"];
499
499
  function gi(t, e, o, i, a, r) {
500
- const l = w("VBtn"), m = w("v-card-text"), c = w("v-card");
500
+ const l = x("VBtn"), m = x("v-card-text"), c = x("v-card");
501
501
  return a.showMakerInfo ? (g(), A(c, {
502
502
  key: 0,
503
503
  class: ye(["idm-gl4-zone-info overflow-auto scroll", o.simple ? "page" : "dialog"]),
@@ -1511,10 +1511,10 @@ const yi = {
1511
1511
  { label: "Swell", key: "weather.swell", unit: "m" },
1512
1512
  { label: "Current", key: "weather.current", unit: "kts" }
1513
1513
  ], (o = (e = this.dateList) == null ? void 0 : e[this.currentIndex]) == null || o.dateTimeList.forEach((i, a) => {
1514
- var m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe;
1514
+ var m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe;
1515
1515
  let r = {};
1516
1516
  const l = ((m = To.pickHourly(t, M(i))) == null ? void 0 : m[0]) || {};
1517
- r.utc = l.utc, r.lat = t.lat, r.lng = t.lng, r.weatherUrl = (c = l.weather) == null ? void 0 : c.url, r.temp = this.computeRoundPrecision((f = l == null ? void 0 : l.weather) == null ? void 0 : f.temp, 0) ?? "-", r.precipProbability = this.computeRoundPrecision((b = (d = l == null ? void 0 : l.weather) == null ? void 0 : d.precip) == null ? void 0 : b.probability, 0) ?? "-", r.precip1h = this.computeRoundPrecision((L = (x = l == null ? void 0 : l.weather) == null ? void 0 : x.precip) == null ? void 0 : L.sum, 1) ?? "-", r.visibility = this.computeRoundPrecision((_ = l == null ? void 0 : l.weather) == null ? void 0 : _.visibility, 0) ?? "-", r.windSpeed = this.computeRoundPrecision((y = (P = l == null ? void 0 : l.weather) == null ? void 0 : P.wind) == null ? void 0 : y.kts, 1) ?? "-", r.windDir = (D = (B = l == null ? void 0 : l.weather) == null ? void 0 : B.wind) == null ? void 0 : D.direction, r.windLevel = this.computeRoundPrecision((v = (T = l == null ? void 0 : l.weather) == null ? void 0 : T.wind) == null ? void 0 : v.scale, 0) ?? "-", r.windGust = this.computeRoundPrecision((C = (z = l == null ? void 0 : l.weather) == null ? void 0 : z.wind) == null ? void 0 : C.gusts, 1) ?? "-", r.sigwaveHeight = this.computeRoundPrecision((R = (k = l == null ? void 0 : l.wave) == null ? void 0 : k.sig) == null ? void 0 : R.height, 1) ?? "-", r.sigwaveDir = (V = (F = l == null ? void 0 : l.wave) == null ? void 0 : F.sig) == null ? void 0 : V.direction, r.sigwavePeriod = this.computeRoundPrecision((Y = (X = l == null ? void 0 : l.wave) == null ? void 0 : X.sig) == null ? void 0 : Y.period, 1) ?? "-", r.windwaveHeight = this.computeRoundPrecision(($ = (Q = l == null ? void 0 : l.wave) == null ? void 0 : Q.wd) == null ? void 0 : $.height, 1) ?? "-", r.windwaveDir = (se = (J = l == null ? void 0 : l.wave) == null ? void 0 : J.wd) == null ? void 0 : se.direction, r.windwavePeriod = this.computeRoundPrecision((pe = (le = l == null ? void 0 : l.wave) == null ? void 0 : le.wd) == null ? void 0 : pe.period, 1) ?? "-", r.swellHeight = this.computeRoundPrecision((ce = (ie = l == null ? void 0 : l.wave) == null ? void 0 : ie.swell) == null ? void 0 : ce.height, 1) ?? "-", r.swellDir = (me = (ue = l == null ? void 0 : l.wave) == null ? void 0 : ue.swell) == null ? void 0 : me.direction, r.swellPeriod = this.computeRoundPrecision((O = (he = l == null ? void 0 : l.wave) == null ? void 0 : he.swell) == null ? void 0 : O.period, 1) ?? "-", r.currentSpeed = this.computeRoundPrecision((te = l == null ? void 0 : l.current) == null ? void 0 : te.speed, 1) ?? "-", r.currentDir = (be = l == null ? void 0 : l.current) == null ? void 0 : be.direction, r.currentSpeed = this.computeRoundPrecision((ve = l == null ? void 0 : l.current) == null ? void 0 : ve.speed, 1) ?? "-", r.seaLevel = this.computeRoundPrecision(l == null ? void 0 : l.height, 1) ?? "-", r.seaTemp = this.computeRoundPrecision(l == null ? void 0 : l.sst, 0) ?? "-", r.weatherUrls = (Pe = l == null ? void 0 : l.weather) == null ? void 0 : Pe.url, this.tableData[0][`value${a}`] = a * this.interval > 10 ? a * this.interval : "0" + a * this.interval, this.tableData[1][`value${a}`] = r.weatherUrl, this.tableData[2][`value${a}`] = r.temp, this.tableData[3][`value${a}`] = r.precip1h, this.tableData[4][`value${a}`] = r.visibility, this.tableData[5][`value${a}`] = r.windSpeed, this.tableData[6][`value${a}`] = r.sigwaveHeight, this.tableData[7][`value${a}`] = r.swellHeight, this.tableData[8][`value${a}`] = r.currentSpeed;
1517
+ r.utc = l.utc, r.lat = t.lat, r.lng = t.lng, r.weatherUrl = (c = l.weather) == null ? void 0 : c.url, r.temp = this.computeRoundPrecision((f = l == null ? void 0 : l.weather) == null ? void 0 : f.temp, 0) ?? "-", r.precipProbability = this.computeRoundPrecision((b = (d = l == null ? void 0 : l.weather) == null ? void 0 : d.precip) == null ? void 0 : b.probability, 0) ?? "-", r.precip1h = this.computeRoundPrecision((L = (v = l == null ? void 0 : l.weather) == null ? void 0 : v.precip) == null ? void 0 : L.sum, 1) ?? "-", r.visibility = this.computeRoundPrecision((k = l == null ? void 0 : l.weather) == null ? void 0 : k.visibility, 0) ?? "-", r.windSpeed = this.computeRoundPrecision((y = (P = l == null ? void 0 : l.weather) == null ? void 0 : P.wind) == null ? void 0 : y.kts, 1) ?? "-", r.windDir = (D = (B = l == null ? void 0 : l.weather) == null ? void 0 : B.wind) == null ? void 0 : D.direction, r.windLevel = this.computeRoundPrecision((z = (T = l == null ? void 0 : l.weather) == null ? void 0 : T.wind) == null ? void 0 : z.scale, 0) ?? "-", r.windGust = this.computeRoundPrecision((C = (w = l == null ? void 0 : l.weather) == null ? void 0 : w.wind) == null ? void 0 : C.gusts, 1) ?? "-", r.sigwaveHeight = this.computeRoundPrecision((R = (_ = l == null ? void 0 : l.wave) == null ? void 0 : _.sig) == null ? void 0 : R.height, 1) ?? "-", r.sigwaveDir = (V = (F = l == null ? void 0 : l.wave) == null ? void 0 : F.sig) == null ? void 0 : V.direction, r.sigwavePeriod = this.computeRoundPrecision((Y = (X = l == null ? void 0 : l.wave) == null ? void 0 : X.sig) == null ? void 0 : Y.period, 1) ?? "-", r.windwaveHeight = this.computeRoundPrecision(($ = (Q = l == null ? void 0 : l.wave) == null ? void 0 : Q.wd) == null ? void 0 : $.height, 1) ?? "-", r.windwaveDir = (se = (J = l == null ? void 0 : l.wave) == null ? void 0 : J.wd) == null ? void 0 : se.direction, r.windwavePeriod = this.computeRoundPrecision((pe = (le = l == null ? void 0 : l.wave) == null ? void 0 : le.wd) == null ? void 0 : pe.period, 1) ?? "-", r.swellHeight = this.computeRoundPrecision((ce = (ie = l == null ? void 0 : l.wave) == null ? void 0 : ie.swell) == null ? void 0 : ce.height, 1) ?? "-", r.swellDir = (me = (ue = l == null ? void 0 : l.wave) == null ? void 0 : ue.swell) == null ? void 0 : me.direction, r.swellPeriod = this.computeRoundPrecision((O = (he = l == null ? void 0 : l.wave) == null ? void 0 : he.swell) == null ? void 0 : O.period, 1) ?? "-", r.currentSpeed = this.computeRoundPrecision((te = l == null ? void 0 : l.current) == null ? void 0 : te.speed, 1) ?? "-", r.currentDir = (be = l == null ? void 0 : l.current) == null ? void 0 : be.direction, r.currentSpeed = this.computeRoundPrecision((ve = l == null ? void 0 : l.current) == null ? void 0 : ve.speed, 1) ?? "-", r.seaLevel = this.computeRoundPrecision(l == null ? void 0 : l.height, 1) ?? "-", r.seaTemp = this.computeRoundPrecision(l == null ? void 0 : l.sst, 0) ?? "-", r.weatherUrls = (Pe = l == null ? void 0 : l.weather) == null ? void 0 : Pe.url, this.tableData[0][`value${a}`] = a * this.interval > 10 ? a * this.interval : "0" + a * this.interval, this.tableData[1][`value${a}`] = r.weatherUrl, this.tableData[2][`value${a}`] = r.temp, this.tableData[3][`value${a}`] = r.precip1h, this.tableData[4][`value${a}`] = r.visibility, this.tableData[5][`value${a}`] = r.windSpeed, this.tableData[6][`value${a}`] = r.sigwaveHeight, this.tableData[7][`value${a}`] = r.swellHeight, this.tableData[8][`value${a}`] = r.currentSpeed;
1518
1518
  });
1519
1519
  },
1520
1520
  handleTide() {
@@ -1719,16 +1719,16 @@ const yi = {
1719
1719
  width: "120"
1720
1720
  }, fr = { class: "px-1 text-center" }, yr = { class: "px-1 text-center" }, br = { class: "px-1 text-center" };
1721
1721
  function wr(t, e, o, i, a, r) {
1722
- const l = w("VIcon"), m = w("VBtn"), c = w("v-icon"), f = w("VCardTitle"), d = w("VDivider"), b = w("VBtnToggle"), x = w("VCard");
1723
- return g(), A(x, {
1722
+ const l = x("VIcon"), m = x("VBtn"), c = x("v-icon"), f = x("VCardTitle"), d = x("VDivider"), b = x("VBtnToggle"), v = x("VCard");
1723
+ return g(), A(v, {
1724
1724
  class: ye(["port-detail-container d-flex flex-column justify-start align-center", o.simple ? "page" : "dialog"])
1725
1725
  }, {
1726
1726
  default: u(() => {
1727
- var L, _, P;
1727
+ var L, k, P;
1728
1728
  return [
1729
1729
  p(f, { class: "w-100" }, {
1730
1730
  default: u(() => {
1731
- var y, B, D, T, v, z;
1731
+ var y, B, D, T, z, w;
1732
1732
  return [
1733
1733
  s("div", bi, [
1734
1734
  s("div", wi, [
@@ -1739,9 +1739,9 @@ function wr(t, e, o, i, a, r) {
1739
1739
  s("div", null, n((T = o.port) == null ? void 0 : T.name), 1)
1740
1740
  ]),
1741
1741
  o.simple ? (g(), S("div", xi, [
1742
- (v = o.followList) != null && v.some((C) => {
1743
- var k;
1744
- return ((k = C.port) == null ? void 0 : k.id) === o.portId;
1742
+ (z = o.followList) != null && z.some((C) => {
1743
+ var _;
1744
+ return ((_ = C.port) == null ? void 0 : _.id) === o.portId;
1745
1745
  }) ? (g(), A(m, {
1746
1746
  key: 0,
1747
1747
  class: "text-none rounded-circle",
@@ -1811,7 +1811,7 @@ function wr(t, e, o, i, a, r) {
1811
1811
  s("div", null, n(t.$t("port.port")), 1),
1812
1812
  s("div", null, [
1813
1813
  e[4] || (e[4] = s("label", null, "UN/LOCODE: ", -1)),
1814
- s("span", null, n((z = o.port) == null ? void 0 : z.cntLoCode), 1)
1814
+ s("span", null, n((w = o.port) == null ? void 0 : w.cntLoCode), 1)
1815
1815
  ])
1816
1816
  ])
1817
1817
  ];
@@ -1885,7 +1885,7 @@ function wr(t, e, o, i, a, r) {
1885
1885
  s("div", Si, [
1886
1886
  s("div", Mi, [
1887
1887
  s("div", Di, n(t.$t("port.region")), 1),
1888
- s("div", Ii, n(((_ = o.port) == null ? void 0 : _.region) ?? ((P = o.port) == null ? void 0 : P.city) ?? "-"), 1)
1888
+ s("div", Ii, n(((k = o.port) == null ? void 0 : k.region) ?? ((P = o.port) == null ? void 0 : P.city) ?? "-"), 1)
1889
1889
  ]),
1890
1890
  s("div", Ri, [
1891
1891
  s("div", Ai, n(t.$t("port.position")), 1),
@@ -2038,7 +2038,7 @@ function wr(t, e, o, i, a, r) {
2038
2038
  _: 1
2039
2039
  }, 8, ["class"]);
2040
2040
  }
2041
- const Do = /* @__PURE__ */ Z(yi, [["render", wr], ["__scopeId", "data-v-44f2b7f0"]]);
2041
+ const Do = /* @__PURE__ */ Z(yi, [["render", wr], ["__scopeId", "data-v-2ee20173"]]);
2042
2042
  const xr = {
2043
2043
  name: "IdmPort",
2044
2044
  components: {
@@ -2147,7 +2147,7 @@ const xr = {
2147
2147
  }
2148
2148
  }, vr = { class: "port-box d-flex flex-column justify-center align-start ga-1" }, _r = { class: "d-flex justify-start align-center text-label" }, kr = { class: "d-flex justify-start align-center text-label" };
2149
2149
  function zr(t, e, o, i, a, r) {
2150
- const l = w("VCardText"), m = w("VCard"), c = w("PortDetail");
2150
+ const l = x("VCardText"), m = x("VCard"), c = x("PortDetail");
2151
2151
  return g(), S("div", null, [
2152
2152
  Ye(p(m, {
2153
2153
  id: "idmPortInfo",
@@ -2184,7 +2184,7 @@ function zr(t, e, o, i, a, r) {
2184
2184
  }, t.$attrs), null, 16, ["portId", "port", "forecastModel", "onClose"])) : I("", !0)
2185
2185
  ]);
2186
2186
  }
2187
- const Lr = /* @__PURE__ */ Z(xr, [["render", zr], ["__scopeId", "data-v-0c0f27d3"]]), Pr = {
2187
+ const Lr = /* @__PURE__ */ Z(xr, [["render", zr], ["__scopeId", "data-v-f13a96e9"]]), Pr = {
2188
2188
  name: "IdmLoadLine",
2189
2189
  props: {
2190
2190
  map: {
@@ -3102,12 +3102,12 @@ const Kr = {
3102
3102
  width: "120"
3103
3103
  }, Ls = { class: "px-1 text-center" }, Ps = { class: "px-1 text-center" }, Ts = { class: "px-1 text-center" };
3104
3104
  function Cs(t, e, o, i, a, r) {
3105
- const l = w("VBtn"), m = w("v-card-title"), c = w("v-divider"), f = w("VBtnToggle"), d = w("v-card");
3105
+ const l = x("VBtn"), m = x("v-card-title"), c = x("v-divider"), f = x("VBtnToggle"), d = x("v-card");
3106
3106
  return g(), A(d, {
3107
3107
  class: ye(["tide-detail-container d-flex flex-column justify-start align-center", o.simple ? "page" : "dialog"])
3108
3108
  }, {
3109
3109
  default: u(() => {
3110
- var b, x;
3110
+ var b, v;
3111
3111
  return [
3112
3112
  p(m, { class: "w-100" }, {
3113
3113
  default: u(() => {
@@ -3156,7 +3156,7 @@ function Cs(t, e, o, i, a, r) {
3156
3156
  s("div", rs, [
3157
3157
  s("div", ss, [
3158
3158
  s("div", ls, n(t.$t("tide.region")), 1),
3159
- s("div", ns, n(((b = o.station) == null ? void 0 : b.Country) ?? ((x = o.station) == null ? void 0 : x.city) ?? "-"), 1)
3159
+ s("div", ns, n(((b = o.station) == null ? void 0 : b.Country) ?? ((v = o.station) == null ? void 0 : v.city) ?? "-"), 1)
3160
3160
  ]),
3161
3161
  s("div", cs, [
3162
3162
  s("div", ms, n(t.$t("tide.position")), 1),
@@ -3217,9 +3217,9 @@ function Cs(t, e, o, i, a, r) {
3217
3217
  s("th", ks, n(t.$t("time.time")) + " ( LT ) ", 1),
3218
3218
  s("th", zs, n(t.$t("tide.height")) + " ( m )", 1)
3219
3219
  ]),
3220
- (g(!0), S(xe, null, ke(a.tideTableData, (L, _) => {
3220
+ (g(!0), S(xe, null, ke(a.tideTableData, (L, k) => {
3221
3221
  var P;
3222
- return g(), S("tr", { key: _ }, [
3222
+ return g(), S("tr", { key: k }, [
3223
3223
  s("td", Ls, n(t.$t(`tide.${(P = L == null ? void 0 : L.type) == null ? void 0 : P.toLowerCase()}`)) + " " + n(t.$t("tide.tide")), 1),
3224
3224
  s("td", Ps, n(r.computeLocalTime(L == null ? void 0 : L.date, o.station, "MM-DD HH:mm")), 1),
3225
3225
  s("td", Ts, n((L == null ? void 0 : L.height) ?? "-") + " m", 1)
@@ -3235,7 +3235,7 @@ function Cs(t, e, o, i, a, r) {
3235
3235
  _: 1
3236
3236
  }, 8, ["class"]);
3237
3237
  }
3238
- const Ss = /* @__PURE__ */ Z(Kr, [["render", Cs], ["__scopeId", "data-v-b4cdca6c"]]);
3238
+ const Ss = /* @__PURE__ */ Z(Kr, [["render", Cs], ["__scopeId", "data-v-ea434277"]]);
3239
3239
  const Ms = {
3240
3240
  name: "IdmTideStations",
3241
3241
  components: {
@@ -3313,7 +3313,7 @@ const Ms = {
3313
3313
  }
3314
3314
  }, Ds = { class: "station-box d-flex flex-column justify-center align-start ga-1" }, Is = { class: "d-flex justify-start align-center" }, Rs = { class: "d-flex justify-start align-center" }, As = { class: "text-label" };
3315
3315
  function Os(t, e, o, i, a, r) {
3316
- const l = w("v-card-text"), m = w("v-card"), c = w("TideDetail");
3316
+ const l = x("v-card-text"), m = x("v-card"), c = x("TideDetail");
3317
3317
  return g(), S("div", null, [
3318
3318
  Ye(p(m, { id: "idmTidalInfo" }, {
3319
3319
  default: u(() => [
@@ -3343,7 +3343,7 @@ function Os(t, e, o, i, a, r) {
3343
3343
  }, t.$attrs), null, 16, ["station", "onClose"])) : I("", !0)
3344
3344
  ]);
3345
3345
  }
3346
- const Bs = /* @__PURE__ */ Z(Ms, [["render", Os], ["__scopeId", "data-v-7f9e02c0"]]), js = {
3346
+ const Bs = /* @__PURE__ */ Z(Ms, [["render", Os], ["__scopeId", "data-v-09a7d5d7"]]), js = {
3347
3347
  name: "IdmIceAreas",
3348
3348
  props: {
3349
3349
  map: {
@@ -4480,7 +4480,7 @@ const Gs = {
4480
4480
  }
4481
4481
  }, Ws = { class: "port-box d-flex flex-column justify-center align-start ga-1" }, Us = { class: "d-flex justify-start align-center text-label" }, Vs = { class: "d-flex justify-start align-center text-label" };
4482
4482
  function Ys(t, e, o, i, a, r) {
4483
- const l = w("v-card-text"), m = w("v-card"), c = w("PortDetail");
4483
+ const l = x("v-card-text"), m = x("v-card"), c = x("PortDetail");
4484
4484
  return g(), S("div", null, [
4485
4485
  Ye(p(m, {
4486
4486
  id: "idmFollowPortInfo",
@@ -4518,7 +4518,7 @@ function Ys(t, e, o, i, a, r) {
4518
4518
  }, t.$attrs), null, 16, ["portId", "port", "forecastModel", "followList", "onClose"])) : I("", !0)
4519
4519
  ]);
4520
4520
  }
4521
- const Zs = /* @__PURE__ */ Z(Gs, [["render", Ys], ["__scopeId", "data-v-95e70a1f"]]);
4521
+ const Zs = /* @__PURE__ */ Z(Gs, [["render", Ys], ["__scopeId", "data-v-16e02248"]]);
4522
4522
  const Xs = {
4523
4523
  name: "IdmFollowPosition",
4524
4524
  props: {
@@ -5409,13 +5409,14 @@ const Xs = {
5409
5409
  if (e.properties) {
5410
5410
  const b = e.properties;
5411
5411
  b.lng = e.geometry.coordinates[0], b.lat = e.geometry.coordinates[1];
5412
- const x = M(), L = (o = M(this.realTime)) == null ? void 0 : o.diff(x, "d", !0), _ = {
5412
+ const v = M(), L = (o = M(this.realTime)) == null ? void 0 : o.diff(v, "d", !0), k = {
5413
+ followId: b.id,
5413
5414
  lat: b.lat,
5414
5415
  lng: b.lng,
5415
5416
  datetime: this.realTime,
5416
5417
  forecastModel: this.forecastModel
5417
5418
  };
5418
- L >= 0 ? (l = (r = (a = (i = this.$parent) == null ? void 0 : i.$parent) == null ? void 0 : a.$refs) == null ? void 0 : r.idmSpot) == null || l.fetchForecastData(_) : (d = (f = (c = (m = this.$parent) == null ? void 0 : m.$parent) == null ? void 0 : c.$refs) == null ? void 0 : f.idmSpot) == null || d.fetchHistoryData(_);
5419
+ L >= 0 ? (l = (r = (a = (i = this.$parent) == null ? void 0 : i.$parent) == null ? void 0 : a.$refs) == null ? void 0 : r.idmSpot) == null || l.fetchForecastData(k) : (d = (f = (c = (m = this.$parent) == null ? void 0 : m.$parent) == null ? void 0 : c.$refs) == null ? void 0 : f.idmSpot) == null || d.fetchHistoryData(k);
5419
5420
  }
5420
5421
  },
5421
5422
  handleHover(t) {
@@ -5438,7 +5439,7 @@ const Xs = {
5438
5439
  class: "d-flex justify-start align-center text-label"
5439
5440
  };
5440
5441
  function Qs(t, e, o, i, a, r) {
5441
- const l = w("v-card-text"), m = w("v-card");
5442
+ const l = x("v-card-text"), m = x("v-card");
5442
5443
  return Ye((g(), A(m, {
5443
5444
  id: "idmFollowPositionInfo",
5444
5445
  ref: "idmFollowPositionInfo"
@@ -5464,7 +5465,7 @@ function Qs(t, e, o, i, a, r) {
5464
5465
  [Ze, a.showInfo]
5465
5466
  ]);
5466
5467
  }
5467
- const $s = /* @__PURE__ */ Z(Xs, [["render", Qs], ["__scopeId", "data-v-28c70de0"]]);
5468
+ const $s = /* @__PURE__ */ Z(Xs, [["render", Qs], ["__scopeId", "data-v-469134f9"]]);
5468
5469
  const el = {
5469
5470
  name: "IdmOtherLayerr",
5470
5471
  components: {
@@ -5652,8 +5653,8 @@ const el = {
5652
5653
  })
5653
5654
  );
5654
5655
  (await Promise.all(l)).map((c) => {
5655
- var b, x, L;
5656
- const f = ((b = c == null ? void 0 : c.data) == null ? void 0 : b.data) || (c == null ? void 0 : c.data), d = (L = (x = c == null ? void 0 : c.config) == null ? void 0 : x.headers) == null ? void 0 : L.key;
5656
+ var b, v, L;
5657
+ const f = ((b = c == null ? void 0 : c.data) == null ? void 0 : b.data) || (c == null ? void 0 : c.data), d = (L = (v = c == null ? void 0 : c.config) == null ? void 0 : v.headers) == null ? void 0 : L.key;
5657
5658
  this.otherLayers[d] = f;
5658
5659
  });
5659
5660
  }
@@ -5692,7 +5693,7 @@ const el = {
5692
5693
  }, hl = { class: "text-body-2 text-center pt-1" };
5693
5694
  function dl(t, e, o, i, a, r) {
5694
5695
  var J, se, le, pe, ie, ce, ue, me, he;
5695
- const l = w("VBtn"), m = w("VTooltip"), c = w("VCardTitle"), f = w("VCardItem"), d = w("VCheckbox"), b = w("VCardText"), x = w("VCard"), L = w("IdmLatLng"), _ = w("IdmTerminator"), P = w("IdmTimezone"), y = w("IdmPort"), B = w("IdmAlertZone"), D = w("IdmTideStations"), T = w("IdmEcaZone"), v = w("IdmWarZone"), z = w("IdmGmdssArea"), C = w("IdmLoadLine"), k = w("IdmWorldMarine"), R = w("IdmVRA"), F = w("IdmSpecialArea"), V = w("IdmWorld12nm"), X = w("IdmChinaRoute"), Y = w("IdmIceAreas"), Q = w("IdmFollowPort"), $ = w("IdmFollowPosition");
5696
+ const l = x("VBtn"), m = x("VTooltip"), c = x("VCardTitle"), f = x("VCardItem"), d = x("VCheckbox"), b = x("VCardText"), v = x("VCard"), L = x("IdmLatLng"), k = x("IdmTerminator"), P = x("IdmTimezone"), y = x("IdmPort"), B = x("IdmAlertZone"), D = x("IdmTideStations"), T = x("IdmEcaZone"), z = x("IdmWarZone"), w = x("IdmGmdssArea"), C = x("IdmLoadLine"), _ = x("IdmWorldMarine"), R = x("IdmVRA"), F = x("IdmSpecialArea"), V = x("IdmWorld12nm"), X = x("IdmChinaRoute"), Y = x("IdmIceAreas"), Q = x("IdmFollowPort"), $ = x("IdmFollowPosition");
5696
5697
  return g(), S("div", tl, [
5697
5698
  s("div", {
5698
5699
  class: "menu-bar-box transition px-1 rounded",
@@ -5741,7 +5742,7 @@ function dl(t, e, o, i, a, r) {
5741
5742
  }, 8, ["onClick"])
5742
5743
  ]),
5743
5744
  s("div", il, [
5744
- p(x, {
5745
+ p(v, {
5745
5746
  class: "block-bg mx-auto mb-3",
5746
5747
  elevation: "0"
5747
5748
  }, {
@@ -5794,7 +5795,7 @@ function dl(t, e, o, i, a, r) {
5794
5795
  ]),
5795
5796
  _: 1
5796
5797
  }),
5797
- p(x, {
5798
+ p(v, {
5798
5799
  class: "block-bg mx-auto mb-3",
5799
5800
  elevation: "0"
5800
5801
  }, {
@@ -5833,7 +5834,7 @@ function dl(t, e, o, i, a, r) {
5833
5834
  ]),
5834
5835
  _: 1
5835
5836
  }),
5836
- p(x, {
5837
+ p(v, {
5837
5838
  class: "block-bg mx-auto mb-3",
5838
5839
  elevation: "0"
5839
5840
  }, {
@@ -5872,7 +5873,7 @@ function dl(t, e, o, i, a, r) {
5872
5873
  ]),
5873
5874
  _: 1
5874
5875
  }),
5875
- p(x, {
5876
+ p(v, {
5876
5877
  class: "block-bg mx-auto mb-3",
5877
5878
  elevation: "0"
5878
5879
  }, {
@@ -5930,7 +5931,7 @@ function dl(t, e, o, i, a, r) {
5930
5931
  "menu-toggle": o.menuToggle,
5931
5932
  show: a.checkList.includes("graticule")
5932
5933
  }, t.$attrs), null, 16, ["simple", "map", "menu-toggle", "show"])) : I("", !0),
5933
- o.map ? (g(), A(_, j({
5934
+ o.map ? (g(), A(k, j({
5934
5935
  key: 1,
5935
5936
  map: o.map,
5936
5937
  area: (J = a.otherLayers) == null ? void 0 : J["day-night"]
@@ -5981,12 +5982,12 @@ function dl(t, e, o, i, a, r) {
5981
5982
  map: o.map,
5982
5983
  zone: (ie = a.otherLayers) == null ? void 0 : ie["eca-zones"]
5983
5984
  }, t.$attrs), null, 16, ["map", "zone"])) : I("", !0),
5984
- o.map ? (g(), A(v, j({
5985
+ o.map ? (g(), A(z, j({
5985
5986
  key: 7,
5986
5987
  map: o.map,
5987
5988
  zone: (ce = a.otherLayers) == null ? void 0 : ce["war-zones"]
5988
5989
  }, t.$attrs), null, 16, ["map", "zone"])) : I("", !0),
5989
- o.map ? (g(), A(z, j({
5990
+ o.map ? (g(), A(w, j({
5990
5991
  key: 8,
5991
5992
  map: o.map,
5992
5993
  area: (ue = a.otherLayers) == null ? void 0 : ue["gmdss-areas"]
@@ -5996,7 +5997,7 @@ function dl(t, e, o, i, a, r) {
5996
5997
  map: o.map,
5997
5998
  show: a.checkList.includes("load-lines")
5998
5999
  }, t.$attrs), null, 16, ["map", "show"])) : I("", !0),
5999
- o.map ? (g(), A(k, j({
6000
+ o.map ? (g(), A(_, j({
6000
6001
  key: 10,
6001
6002
  map: o.map,
6002
6003
  token: o.token,
@@ -6096,12 +6097,12 @@ class Io {
6096
6097
  * @param [lb.x, lb.y, rt.x, rt.y]
6097
6098
  */
6098
6099
  getBoundPixel() {
6099
- var _, P;
6100
- const e = (_ = this.map) == null ? void 0 : _.getBounds();
6100
+ var k, P;
6101
+ const e = (k = this.map) == null ? void 0 : k.getBounds();
6101
6102
  if (!e)
6102
6103
  return [];
6103
- const o = ((P = this.map) == null ? void 0 : P.getZoom()) + 1, i = [e._ne.lng, e._ne.lat], a = [e._sw.lng, e._sw.lat], [r, l] = this.convertNLng(i[0]), [m, c] = this.convertNLng(a[0]), [f, d] = this.mercator.px([r, i[1]], o), [b, x] = this.mercator.px([m, a[1]], o), L = Math.round(this.mercator.size * Math.pow(2, o) * (l + c));
6104
- return [b, x, f + L, d];
6104
+ const o = ((P = this.map) == null ? void 0 : P.getZoom()) + 1, i = [e._ne.lng, e._ne.lat], a = [e._sw.lng, e._sw.lat], [r, l] = this.convertNLng(i[0]), [m, c] = this.convertNLng(a[0]), [f, d] = this.mercator.px([r, i[1]], o), [b, v] = this.mercator.px([m, a[1]], o), L = Math.round(this.mercator.size * Math.pow(2, o) * (l + c));
6105
+ return [b, v, f + L, d];
6105
6106
  }
6106
6107
  /**
6107
6108
  * [视窗边界像素宽度]
@@ -6284,9 +6285,9 @@ class Fe {
6284
6285
  sRange: o.getUniformLocation(i, "u_range_s")
6285
6286
  };
6286
6287
  d.resolution && o.uniform2f(d.resolution, o.canvas.width * e.ratio, o.canvas.height * e.ratio), o.activeTexture(o.TEXTURE0), o.bindTexture(o.TEXTURE_2D, a), d.image && o.uniform1i(d.image, 0), o.activeTexture(o.TEXTURE1), o.bindTexture(o.TEXTURE_2D, r), d.color && o.uniform1i(d.color, 1), m != null && m.uvRange && (m != null && m.sRange) && (d.uvRange && o.uniform2f(d.uvRange, m.uvRange[0], m.uvRange[1]), d.sRange && o.uniform2f(d.sRange, m.sRange[0], m.sRange[1])), d.scale && o.uniform1f(d.scale, (m == null ? void 0 : m.scale) || 1);
6287
- const b = e.getBoundPixel(), x = e.map.getZoom() + 1, L = e.getWorldCopy(b, x);
6288
- for (const _ of L) {
6289
- const P = (_[0] - b[0]) * e.ratio, y = (_[1] - b[3]) * e.ratio, B = _[2] * e.ratio, [D, T, v, z] = [P, B + P, y, B + y], C = new Float32Array([D, v, T, v, D, z, D, z, T, v, T, z]);
6288
+ const b = e.getBoundPixel(), v = e.map.getZoom() + 1, L = e.getWorldCopy(b, v);
6289
+ for (const k of L) {
6290
+ const P = (k[0] - b[0]) * e.ratio, y = (k[1] - b[3]) * e.ratio, B = k[2] * e.ratio, [D, T, z, w] = [P, B + P, y, B + y], C = new Float32Array([D, z, T, z, D, w, D, w, T, z, T, w]);
6290
6291
  o.bindBuffer(o.ARRAY_BUFFER, l), o.bufferData(o.ARRAY_BUFFER, C, o.STATIC_DRAW), o.drawArrays(o.TRIANGLES, 0, 6);
6291
6292
  }
6292
6293
  } catch (d) {
@@ -6995,8 +6996,8 @@ const vl = /* @__PURE__ */ Z(bl, [["render", xl]]), _l = {
6995
6996
  c.src = "data:image/svg+xml;base64," + window.btoa(f);
6996
6997
  const d = [c];
6997
6998
  let b = 0;
6998
- d.forEach((x) => {
6999
- x.onload = () => {
6999
+ d.forEach((v) => {
7000
+ v.onload = () => {
7000
7001
  b++, this.map.hasImage("currentDirIcon") || this.map.addImage("currentDirIcon", c), b === 1 && this.map.addLayer(
7001
7002
  {
7002
7003
  id: this.directionLayer,
@@ -7350,7 +7351,7 @@ function Dl(t, e, o, i, a, r) {
7350
7351
  ]), 4)
7351
7352
  ])) : I("", !0);
7352
7353
  }
7353
- const Il = /* @__PURE__ */ Z(Sl, [["render", Dl], ["__scopeId", "data-v-c6137292"]]), Rl = {
7354
+ const Il = /* @__PURE__ */ Z(Sl, [["render", Dl], ["__scopeId", "data-v-c71d1b16"]]), Rl = {
7354
7355
  name: "IdmSigWaveHeight",
7355
7356
  props: {
7356
7357
  map: {
@@ -7617,7 +7618,7 @@ function El(t, e, o, i, a, r) {
7617
7618
  ]), 4)
7618
7619
  ])) : I("", !0);
7619
7620
  }
7620
- const Nl = /* @__PURE__ */ Z(Bl, [["render", El], ["__scopeId", "data-v-3c94b068"]]), Fl = {
7621
+ const Nl = /* @__PURE__ */ Z(Bl, [["render", El], ["__scopeId", "data-v-98324f2c"]]), Fl = {
7621
7622
  name: "IdmPrmsl",
7622
7623
  props: {
7623
7624
  map: {
@@ -8003,7 +8004,7 @@ function ql(t, e, o, i, a, r) {
8003
8004
  ]), 4)
8004
8005
  ])) : I("", !0);
8005
8006
  }
8006
- const Kl = /* @__PURE__ */ Z(Zl, [["render", ql], ["__scopeId", "data-v-916b01eb"]]);
8007
+ const Kl = /* @__PURE__ */ Z(Zl, [["render", ql], ["__scopeId", "data-v-e8a34776"]]);
8007
8008
  const Jl = {
8008
8009
  name: "IdmThickness",
8009
8010
  props: {
@@ -8681,7 +8682,7 @@ const bn = {
8681
8682
  checkListKey: "weatherCheckListCacheGL4"
8682
8683
  },
8683
8684
  models: {},
8684
- currentModel: localStorage.getItem("forecastModelCacheGL4") === "undefined" ? "ECMWF" : localStorage.getItem("forecastModelCacheGL4"),
8685
+ currentModel: localStorage.getItem("forecastModelCacheGL4") === "GFS" ? "GFS" : "ECMWF",
8685
8686
  zoom: 6,
8686
8687
  viewport: void 0,
8687
8688
  particleFactor: void 0,
@@ -8769,7 +8770,7 @@ const bn = {
8769
8770
  },
8770
8771
  currentModel: {
8771
8772
  handler(t, e) {
8772
- t && t !== e && (this.$emit("forecastModel", t), localStorage.setItem("forecastModelCacheGL4", t));
8773
+ this.$emit("forecastModel", t), localStorage.setItem("forecastModelCacheGL4", t);
8773
8774
  },
8774
8775
  immediate: !0
8775
8776
  },
@@ -8877,11 +8878,11 @@ const bn = {
8877
8878
  (t == null ? void 0 : t.data.code) === 0 && (this.models = t == null ? void 0 : t.data.data);
8878
8879
  },
8879
8880
  async fetchWeatherLayers(t = {}) {
8880
- var a, r, l, m, c, f, d, b, x;
8881
+ var a, r, l, m, c, f, d, b, v;
8881
8882
  const e = (/* @__PURE__ */ new Date()).valueOf();
8882
8883
  let o = 0, i = 0;
8883
8884
  if (this.map) {
8884
- const L = ((a = this.map) == null ? void 0 : a.getZoom()) + 1, _ = (r = this.map) == null ? void 0 : r.getBounds(), P = `${_._sw.lng},${_._sw.lat},${_._ne.lng},${_._ne.lat}`;
8885
+ const L = ((a = this.map) == null ? void 0 : a.getZoom()) + 1, k = (r = this.map) == null ? void 0 : r.getBounds(), P = `${k._sw.lng},${k._sw.lat},${k._ne.lng},${k._ne.lat}`;
8885
8886
  if (this.particleFactor && ((l = this.$refs.layer) != null && l.autoActive)) {
8886
8887
  const y = Co.WEATHER_LAYERS.find((B) => {
8887
8888
  var D;
@@ -8901,46 +8902,46 @@ const bn = {
8901
8902
  }
8902
8903
  );
8903
8904
  if (i = (/* @__PURE__ */ new Date()).valueOf() - (e + o), console.log("weather links elapsed: ", i, ", total: ", o += i), ((m = D == null ? void 0 : D.data) == null ? void 0 : m.code) === 0) {
8904
- const T = (c = D == null ? void 0 : D.data) == null ? void 0 : c.data, v = [];
8905
+ const T = (c = D == null ? void 0 : D.data) == null ? void 0 : c.data, z = [];
8905
8906
  for (const C in T)
8906
- v.push(
8907
+ z.push(
8907
8908
  Ae.get(T[C], {
8908
8909
  headers: {
8909
8910
  Authorization: this.defaultMeteoToken,
8910
8911
  key: C
8911
8912
  },
8912
8913
  responseType: /\.(jpg|png)$/.test(T[C]) ? "blob" : "json"
8913
- }).catch((k) => {
8914
- console.log(`[${C}] fetch layer error: ${k}`);
8914
+ }).catch((_) => {
8915
+ console.log(`[${C}] fetch layer error: ${_}`);
8915
8916
  })
8916
8917
  );
8917
- const z = await Promise.all(v);
8918
- this.weatherLayers = {}, z.map((C) => {
8918
+ const w = await Promise.all(z);
8919
+ this.weatherLayers = {}, w.map((C) => {
8919
8920
  var F, V, X, Y;
8920
- const k = ((F = C == null ? void 0 : C.data) == null ? void 0 : F.data) || (C == null ? void 0 : C.data);
8921
+ const _ = ((F = C == null ? void 0 : C.data) == null ? void 0 : F.data) || (C == null ? void 0 : C.data);
8921
8922
  let R = (X = (V = C == null ? void 0 : C.config) == null ? void 0 : V.headers) == null ? void 0 : X.key;
8922
- R && k && (this.weatherLayers[R] = {
8923
- raw: k,
8923
+ R && _ && (this.weatherLayers[R] = {
8924
+ raw: _,
8924
8925
  type: ((Y = C == null ? void 0 : C.config) == null ? void 0 : Y.responseType) === "blob" ? "image" : "json",
8925
8926
  etime: D.data.etime
8926
8927
  });
8927
8928
  });
8928
8929
  }
8929
8930
  if (i = (/* @__PURE__ */ new Date()).valueOf() - (e + o), console.log("weather layers elapsed: ", i, ", total: ", o += i), this.weatherLayers["swell-direction"] || this.weatherLayers["swell-height"]) {
8930
- const T = (f = this.weatherLayers["swell-direction"]) == null ? void 0 : f.raw, v = (d = this.weatherLayers["swell-height"]) == null ? void 0 : d.raw;
8931
+ const T = (f = this.weatherLayers["swell-direction"]) == null ? void 0 : f.raw, z = (d = this.weatherLayers["swell-height"]) == null ? void 0 : d.raw;
8931
8932
  delete this.weatherLayers["swell-direction"], delete this.weatherLayers["swell-height"], this.weatherLayers.swell = {
8932
8933
  type: "json",
8933
8934
  direction: T,
8934
- height: { raw: v },
8935
+ height: { raw: z },
8935
8936
  etime: D.data.etime
8936
8937
  };
8937
8938
  }
8938
8939
  if (this.weatherLayers["current-direction"] || this.weatherLayers["current-speed"]) {
8939
- const T = (b = this.weatherLayers["current-direction"]) == null ? void 0 : b.raw, v = (x = this.weatherLayers["current-speed"]) == null ? void 0 : x.raw;
8940
+ const T = (b = this.weatherLayers["current-direction"]) == null ? void 0 : b.raw, z = (v = this.weatherLayers["current-speed"]) == null ? void 0 : v.raw;
8940
8941
  delete this.weatherLayers["current-direction"], delete this.weatherLayers["current-speed"], this.weatherLayers.current = {
8941
8942
  type: "json",
8942
8943
  direction: T,
8943
- speed: { raw: v },
8944
+ speed: { raw: z },
8944
8945
  etime: D.data.etime
8945
8946
  };
8946
8947
  }
@@ -9002,7 +9003,7 @@ const bn = {
9002
9003
  let e = 0, o = 0;
9003
9004
  const i = (r = this.map) == null ? void 0 : r.getBounds(), a = (l = this.map) == null ? void 0 : l.getZoom();
9004
9005
  if (i && a) {
9005
- const x = q.convertToStdLng(i._sw.lng), L = q.convertToStdLng(i._ne.lng), _ = Math.floor(i._sw.lat), P = Math.ceil(i._ne.lat);
9006
+ const v = q.convertToStdLng(i._sw.lng), L = q.convertToStdLng(i._ne.lng), k = Math.floor(i._sw.lat), P = Math.ceil(i._ne.lat);
9006
9007
  for (const y in this.weatherLayers) {
9007
9008
  let B = !1;
9008
9009
  if (this.weatherLayers[y].active && this.weatherLayers[y].type === "json") {
@@ -9010,165 +9011,165 @@ const bn = {
9010
9011
  if (y === "swell") {
9011
9012
  B = !0;
9012
9013
  const T = ((m = this.weatherLayers[y]) == null ? void 0 : m.direction) || {};
9013
- for (const z in T)
9014
- if (z > _ && z < P && (!(a <= this.zoom) || z % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9015
- const C = T[z].lng;
9016
- x > L ? C.forEach((k, R) => {
9014
+ for (const w in T)
9015
+ if (w > k && w < P && (!(a <= this.zoom) || w % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9016
+ const C = T[w].lng;
9017
+ v > L ? C.forEach((_, R) => {
9017
9018
  var F, V, X, Y, Q, $;
9018
9019
  if (a < 2) {
9019
- if ((k >= 0 && k <= 360 || k >= -360 && k <= 0) && k % 10 === 0) {
9020
- const J = G.point([k, z], {
9021
- val: ((F = T[z].val) == null ? void 0 : F[R]) || ((V = T[z].dir) == null ? void 0 : V[R]),
9022
- spd: (X = T[z].spd) == null ? void 0 : X[R]
9020
+ if ((_ >= 0 && _ <= 360 || _ >= -360 && _ <= 0) && _ % 10 === 0) {
9021
+ const J = G.point([_, w], {
9022
+ val: ((F = T[w].val) == null ? void 0 : F[R]) || ((V = T[w].dir) == null ? void 0 : V[R]),
9023
+ spd: (X = T[w].spd) == null ? void 0 : X[R]
9023
9024
  });
9024
9025
  D.push(J);
9025
9026
  }
9026
- } else if ((k >= x && k <= 180 || k >= -180 && k <= L) && (!(a <= this.zoom) || k % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9027
- const J = G.point([k, z], {
9028
- val: ((Y = T[z].val) == null ? void 0 : Y[R]) || ((Q = T[z].dir) == null ? void 0 : Q[R]),
9029
- spd: ($ = T[z].spd) == null ? void 0 : $[R]
9027
+ } else if ((_ >= v && _ <= 180 || _ >= -180 && _ <= L) && (!(a <= this.zoom) || _ % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9028
+ const J = G.point([_, w], {
9029
+ val: ((Y = T[w].val) == null ? void 0 : Y[R]) || ((Q = T[w].dir) == null ? void 0 : Q[R]),
9030
+ spd: ($ = T[w].spd) == null ? void 0 : $[R]
9030
9031
  });
9031
9032
  D.push(J);
9032
9033
  }
9033
- }) : C.forEach((k, R) => {
9034
+ }) : C.forEach((_, R) => {
9034
9035
  var F, V, X, Y, Q, $;
9035
- if (x < 2) {
9036
- if ((k >= 0 && k <= 360 || k >= -360 && k <= 0) && k % 10 === 0) {
9037
- const J = G.point([k, z], {
9038
- val: ((F = T[z].val) == null ? void 0 : F[R]) || ((V = T[z].dir) == null ? void 0 : V[R]),
9039
- spd: (X = T[z].spd) == null ? void 0 : X[R]
9036
+ if (v < 2) {
9037
+ if ((_ >= 0 && _ <= 360 || _ >= -360 && _ <= 0) && _ % 10 === 0) {
9038
+ const J = G.point([_, w], {
9039
+ val: ((F = T[w].val) == null ? void 0 : F[R]) || ((V = T[w].dir) == null ? void 0 : V[R]),
9040
+ spd: (X = T[w].spd) == null ? void 0 : X[R]
9040
9041
  });
9041
9042
  D.push(J);
9042
9043
  }
9043
- } else if (k >= x && k <= L && (!(a <= this.zoom) || k % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9044
- const J = G.point([k, z], {
9045
- val: ((Y = T[z].val) == null ? void 0 : Y[R]) || ((Q = T[z].dir) == null ? void 0 : Q[R]),
9046
- spd: ($ = T[z].spd) == null ? void 0 : $[R]
9044
+ } else if (_ >= v && _ <= L && (!(a <= this.zoom) || _ % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9045
+ const J = G.point([_, w], {
9046
+ val: ((Y = T[w].val) == null ? void 0 : Y[R]) || ((Q = T[w].dir) == null ? void 0 : Q[R]),
9047
+ spd: ($ = T[w].spd) == null ? void 0 : $[R]
9047
9048
  });
9048
9049
  D.push(J);
9049
9050
  }
9050
9051
  });
9051
9052
  }
9052
9053
  o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("swell direction elapsed: ", o, ", total: ", e += o);
9053
- const v = this.weatherLayers[y].height;
9054
- if (v) {
9055
- if (!v.data) {
9056
- const z = [];
9057
- for (const C in (c = v.raw) == null ? void 0 : c.LineString) {
9058
- const k = v.raw.LineString[C];
9059
- for (const R of k)
9060
- z.push(
9054
+ const z = this.weatherLayers[y].height;
9055
+ if (z) {
9056
+ if (!z.data) {
9057
+ const w = [];
9058
+ for (const C in (c = z.raw) == null ? void 0 : c.LineString) {
9059
+ const _ = z.raw.LineString[C];
9060
+ for (const R of _)
9061
+ w.push(
9061
9062
  G.lineString(R, {
9062
9063
  val: Number(C)
9063
9064
  })
9064
9065
  );
9065
- v.data = G.featureCollection(z);
9066
+ z.data = G.featureCollection(w);
9066
9067
  }
9067
9068
  }
9068
- if (v.data) {
9069
- const z = this.handleBboxClip(v.data, i);
9070
- D = D.concat(z);
9069
+ if (z.data) {
9070
+ const w = this.handleBboxClip(z.data, i);
9071
+ D = D.concat(w);
9071
9072
  }
9072
9073
  o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("swell height elapsed: ", o, ", total: ", e += o);
9073
9074
  }
9074
9075
  } else if (y === "current") {
9075
9076
  B = !0;
9076
9077
  const T = ((f = this.weatherLayers[y]) == null ? void 0 : f.direction) || {};
9077
- for (const z in T)
9078
- if (z > _ && z < P && (!(a <= this.zoom) || z % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9079
- const C = T[z].lng;
9080
- x > L ? C.forEach((k, R) => {
9078
+ for (const w in T)
9079
+ if (w > k && w < P && (!(a <= this.zoom) || w % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9080
+ const C = T[w].lng;
9081
+ v > L ? C.forEach((_, R) => {
9081
9082
  var F, V, X, Y, Q, $;
9082
9083
  if (a < 2) {
9083
- if ((k >= 0 && k <= 360 || k >= -360 && k <= 0) && k % 10 === 0) {
9084
- const J = G.point([k, z], {
9085
- val: ((F = T[z].val) == null ? void 0 : F[R]) || ((V = T[z].dir) == null ? void 0 : V[R]),
9086
- spd: (X = T[z].spd) == null ? void 0 : X[R]
9084
+ if ((_ >= 0 && _ <= 360 || _ >= -360 && _ <= 0) && _ % 10 === 0) {
9085
+ const J = G.point([_, w], {
9086
+ val: ((F = T[w].val) == null ? void 0 : F[R]) || ((V = T[w].dir) == null ? void 0 : V[R]),
9087
+ spd: (X = T[w].spd) == null ? void 0 : X[R]
9087
9088
  });
9088
9089
  D.push(J);
9089
9090
  }
9090
- } else if ((k >= x && k <= 180 || k >= -180 && k <= L) && (!(a <= this.zoom) || k % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9091
- const J = G.point([k, z], {
9092
- val: ((Y = T[z].val) == null ? void 0 : Y[R]) || ((Q = T[z].dir) == null ? void 0 : Q[R]),
9093
- spd: ($ = T[z].spd) == null ? void 0 : $[R]
9091
+ } else if ((_ >= v && _ <= 180 || _ >= -180 && _ <= L) && (!(a <= this.zoom) || _ % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9092
+ const J = G.point([_, w], {
9093
+ val: ((Y = T[w].val) == null ? void 0 : Y[R]) || ((Q = T[w].dir) == null ? void 0 : Q[R]),
9094
+ spd: ($ = T[w].spd) == null ? void 0 : $[R]
9094
9095
  });
9095
9096
  D.push(J);
9096
9097
  }
9097
- }) : C.forEach((k, R) => {
9098
+ }) : C.forEach((_, R) => {
9098
9099
  var F, V, X, Y, Q, $;
9099
- if (x < 2) {
9100
- if ((k >= 0 && k <= 360 || k >= -360 && k <= 0) && k % 10 === 0) {
9101
- const J = G.point([k, z], {
9102
- val: ((F = T[z].val) == null ? void 0 : F[R]) || ((V = T[z].dir) == null ? void 0 : V[R]),
9103
- spd: (X = T[z].spd) == null ? void 0 : X[R]
9100
+ if (v < 2) {
9101
+ if ((_ >= 0 && _ <= 360 || _ >= -360 && _ <= 0) && _ % 10 === 0) {
9102
+ const J = G.point([_, w], {
9103
+ val: ((F = T[w].val) == null ? void 0 : F[R]) || ((V = T[w].dir) == null ? void 0 : V[R]),
9104
+ spd: (X = T[w].spd) == null ? void 0 : X[R]
9104
9105
  });
9105
9106
  D.push(J);
9106
9107
  }
9107
- } else if (k >= x && k <= L && (!(a <= this.zoom) || k % (a < this.zoom / 2 ? 5 : 3) === 0)) {
9108
- const J = G.point([k, z], {
9109
- val: ((Y = T[z].val) == null ? void 0 : Y[R]) || ((Q = T[z].dir) == null ? void 0 : Q[R]),
9110
- spd: ($ = T[z].spd) == null ? void 0 : $[R]
9108
+ } else if (_ >= v && _ <= L && (!(a <= this.zoom) || _ % (a < this.zoom / 2 ? 5 : 3) === 0)) {
9109
+ const J = G.point([_, w], {
9110
+ val: ((Y = T[w].val) == null ? void 0 : Y[R]) || ((Q = T[w].dir) == null ? void 0 : Q[R]),
9111
+ spd: ($ = T[w].spd) == null ? void 0 : $[R]
9111
9112
  });
9112
9113
  D.push(J);
9113
9114
  }
9114
9115
  });
9115
9116
  }
9116
9117
  o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("current direction elapsed: ", o, ", total: ", e += o);
9117
- const v = this.weatherLayers[y].speed;
9118
- if (v) {
9119
- if (!v.data) {
9118
+ const z = this.weatherLayers[y].speed;
9119
+ if (z) {
9120
+ if (!z.data) {
9120
9121
  const C = [];
9121
- for (const k in (d = v.raw) == null ? void 0 : d.Polygon) {
9122
- const R = v.raw.Polygon[k];
9122
+ for (const _ in (d = z.raw) == null ? void 0 : d.Polygon) {
9123
+ const R = z.raw.Polygon[_];
9123
9124
  for (const F of R)
9124
9125
  C.push(
9125
9126
  G.polygon(F, {
9126
- val: Number(k)
9127
+ val: Number(_)
9127
9128
  })
9128
9129
  );
9129
9130
  }
9130
- v.data = G.featureCollection(C);
9131
+ z.data = G.featureCollection(C);
9131
9132
  }
9132
- const z = a < this.zoom ? v.data.features.filter((C) => C.properties.val > 0.5) : v.data.features;
9133
- D = D.concat(z), o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("current speed elapsed: ", o, ", total: ", e += o);
9133
+ const w = a < this.zoom ? z.data.features.filter((C) => C.properties.val > 0.5) : z.data.features;
9134
+ D = D.concat(w), o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("current speed elapsed: ", o, ", total: ", e += o);
9134
9135
  }
9135
9136
  } else if (y === "wind") {
9136
9137
  B = !0;
9137
9138
  const T = this.weatherLayers.wind.raw;
9138
- for (const v in T)
9139
- if (v > _ && v < P && (!(a <= this.zoom) || v % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9140
- const z = T[v].lng;
9141
- x > L ? z.forEach((C, k) => {
9139
+ for (const z in T)
9140
+ if (z > k && z < P && (!(a <= this.zoom) || z % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9141
+ const w = T[z].lng;
9142
+ v > L ? w.forEach((C, _) => {
9142
9143
  var R, F, V, X;
9143
9144
  if (a < 2) {
9144
9145
  if ((C >= 0 && C <= 360 || C >= -360 && C <= 0) && C % 10 === 0) {
9145
- const Y = G.point([C, v], {
9146
- dir: ((R = T[v].val) == null ? void 0 : R[k]) || ((F = T[v].dir) == null ? void 0 : F[k]),
9147
- spd: T[v].spd[k]
9146
+ const Y = G.point([C, z], {
9147
+ dir: ((R = T[z].val) == null ? void 0 : R[_]) || ((F = T[z].dir) == null ? void 0 : F[_]),
9148
+ spd: T[z].spd[_]
9148
9149
  });
9149
9150
  D.push(Y);
9150
9151
  }
9151
- } else if ((C >= x && C <= 180 || C >= -180 && C <= L) && (!(a <= this.zoom) || C % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9152
- const Y = G.point([C, v], {
9153
- dir: ((V = T[v].val) == null ? void 0 : V[k]) || ((X = T[v].dir) == null ? void 0 : X[k]),
9154
- spd: T[v].spd[k]
9152
+ } else if ((C >= v && C <= 180 || C >= -180 && C <= L) && (!(a <= this.zoom) || C % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9153
+ const Y = G.point([C, z], {
9154
+ dir: ((V = T[z].val) == null ? void 0 : V[_]) || ((X = T[z].dir) == null ? void 0 : X[_]),
9155
+ spd: T[z].spd[_]
9155
9156
  });
9156
9157
  D.push(Y);
9157
9158
  }
9158
- }) : z.forEach((C, k) => {
9159
+ }) : w.forEach((C, _) => {
9159
9160
  var R, F, V, X;
9160
9161
  if (a < 2) {
9161
9162
  if ((C >= 0 && C <= 360 || C >= -360 && C <= 0) && C % 10 === 0) {
9162
- const Y = G.point([C, v], {
9163
- dir: ((R = T[v].val) == null ? void 0 : R[k]) || ((F = T[v].dir) == null ? void 0 : F[k]),
9164
- spd: T[v].spd[k]
9163
+ const Y = G.point([C, z], {
9164
+ dir: ((R = T[z].val) == null ? void 0 : R[_]) || ((F = T[z].dir) == null ? void 0 : F[_]),
9165
+ spd: T[z].spd[_]
9165
9166
  });
9166
9167
  D.push(Y);
9167
9168
  }
9168
- } else if (C >= x && C <= L && (!(a <= this.zoom) || C % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9169
- const Y = G.point([C, v], {
9170
- dir: ((V = T[v].val) == null ? void 0 : V[k]) || ((X = T[v].dir) == null ? void 0 : X[k]),
9171
- spd: T[v].spd[k]
9169
+ } else if (C >= v && C <= L && (!(a <= this.zoom) || C % (a < 2 ? 10 : a < 4 ? 5 : 3) === 0)) {
9170
+ const Y = G.point([C, z], {
9171
+ dir: ((V = T[z].val) == null ? void 0 : V[_]) || ((X = T[z].dir) == null ? void 0 : X[_]),
9172
+ spd: T[z].spd[_]
9172
9173
  });
9173
9174
  D.push(Y);
9174
9175
  }
@@ -9182,35 +9183,35 @@ const bn = {
9182
9183
  B = !0;
9183
9184
  const T = this.weatherLayers[y].raw;
9184
9185
  if (T) {
9185
- const v = [];
9186
- for (const z in T.Polygon) {
9187
- const C = T.Polygon[z];
9188
- for (const k of C)
9189
- v.push(
9190
- G.polygon(k, {
9191
- val: Number(z)
9186
+ const z = [];
9187
+ for (const w in T.Polygon) {
9188
+ const C = T.Polygon[w];
9189
+ for (const _ of C)
9190
+ z.push(
9191
+ G.polygon(_, {
9192
+ val: Number(w)
9192
9193
  })
9193
9194
  );
9194
9195
  }
9195
- for (const z in T.MultiPolygon) {
9196
- const C = T.MultiPolygon[z];
9197
- for (const k of C)
9198
- v.push(
9199
- G.multiPolygon(k, {
9200
- val: Number(z)
9196
+ for (const w in T.MultiPolygon) {
9197
+ const C = T.MultiPolygon[w];
9198
+ for (const _ of C)
9199
+ z.push(
9200
+ G.multiPolygon(_, {
9201
+ val: Number(w)
9201
9202
  })
9202
9203
  );
9203
9204
  }
9204
- for (const z in T.Point) {
9205
- const C = T.Point[z];
9206
- for (let k = 0; k < ((b = C.lng) == null ? void 0 : b.length); k++)
9207
- v.push(
9208
- G.point([C.lng[k], z], {
9209
- val: Number(C.val[k])
9205
+ for (const w in T.Point) {
9206
+ const C = T.Point[w];
9207
+ for (let _ = 0; _ < ((b = C.lng) == null ? void 0 : b.length); _++)
9208
+ z.push(
9209
+ G.point([C.lng[_], w], {
9210
+ val: Number(C.val[_])
9210
9211
  })
9211
9212
  );
9212
9213
  }
9213
- D = D.concat(v);
9214
+ D = D.concat(z);
9214
9215
  }
9215
9216
  }
9216
9217
  o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("sig-wave-height elapsed: ", o, ", total: ", e += o);
@@ -9221,26 +9222,26 @@ const bn = {
9221
9222
  B = !0;
9222
9223
  const T = this.weatherLayers[y].raw;
9223
9224
  if (T) {
9224
- const v = [];
9225
- for (const z in T.LineString) {
9226
- const C = T.LineString[z];
9227
- for (const k of C)
9228
- v.push(
9229
- G.lineString(k, {
9230
- val: Number(z)
9225
+ const z = [];
9226
+ for (const w in T.LineString) {
9227
+ const C = T.LineString[w];
9228
+ for (const _ of C)
9229
+ z.push(
9230
+ G.lineString(_, {
9231
+ val: Number(w)
9231
9232
  })
9232
9233
  );
9233
9234
  }
9234
- for (const z in T.Point)
9235
- T.Point[z].lng.forEach((C, k) => {
9236
- C = q.convertToStdLng(C), v.push(
9237
- G.point([C, z], {
9238
- val: T.Point[z].val[k],
9239
- type: T.Point[z].type[k]
9235
+ for (const w in T.Point)
9236
+ T.Point[w].lng.forEach((C, _) => {
9237
+ C = q.convertToStdLng(C), z.push(
9238
+ G.point([C, w], {
9239
+ val: T.Point[w].val[_],
9240
+ type: T.Point[w].type[_]
9240
9241
  })
9241
9242
  );
9242
9243
  });
9243
- D = D.concat(v);
9244
+ D = D.concat(z);
9244
9245
  }
9245
9246
  }
9246
9247
  o = (/* @__PURE__ */ new Date()).valueOf() - (t + e), console.log("prmsl elapsed: ", o, ", total: ", e += o);
@@ -9292,7 +9293,7 @@ const bn = {
9292
9293
  }, On = { class: "text-body-1 py-2" }, Bn = { class: "text-body-1 font-weight-medium" }, jn = { class: "text-body-2 text-label" }, En = { class: "text-body-2 text-label" }, Nn = { class: "text-body-2 text-label mb-3" }, Fn = { class: "text-body-1 font-weight-medium" }, Hn = { class: "text-body-2 text-label" }, Gn = { class: "text-body-2 text-label" }, Wn = { class: "text-body-2 text-label mb-3" }, Un = { class: "text-body-1 py-2" }, Vn = { class: "text-body-1 font-weight-medium" }, Yn = { class: "text-body-2 text-label" }, Zn = { class: "text-body-2 text-label" }, Xn = { class: "text-body-2 text-label mb-3" }, qn = { class: "text-body-1 font-weight-medium" }, Kn = { class: "text-body-2 text-label" }, Jn = { class: "text-body-2 text-label" }, Qn = { class: "text-body-2 text-label mb-3" }, $n = { class: "text-body-1 py-2" }, ec = { class: "text-body-1 font-weight-medium" }, tc = { class: "text-body-2 text-label" }, oc = { class: "text-body-2 text-label" }, ac = { class: "text-body-2 text-label mb-3" };
9293
9294
  function ic(t, e, o, i, a, r) {
9294
9295
  var pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e, Ie, Ce;
9295
- const l = w("VBtn"), m = w("VTooltip"), c = w("VCol"), f = w("VRow"), d = w("VCardText"), b = w("VDivider"), x = w("VCard"), L = w("VSwitch"), _ = w("VBtnToggle"), P = w("VCardTitle"), y = w("VCardItem"), B = w("VCheckbox"), D = w("VRadio"), T = w("IdmWindBarb"), v = w("IdmSigWaveHeight"), z = w("IdmCurrentDirection"), C = w("IdmPrmsl"), k = w("IdmWindParticle"), R = w("IdmCurrentParticle"), F = w("IdmWave"), V = w("IdmSwell"), X = w("IdmIceEdge"), Y = w("IdmIceCover"), Q = w("IdmIceThickness"), $ = w("IdmPrecip3h"), J = w("IdmVisibility"), se = w("IdmWaterTemp"), le = w("IdmTemp");
9296
+ const l = x("VBtn"), m = x("VTooltip"), c = x("VCol"), f = x("VRow"), d = x("VCardText"), b = x("VDivider"), v = x("VCard"), L = x("VSwitch"), k = x("VBtnToggle"), P = x("VCardTitle"), y = x("VCardItem"), B = x("VCheckbox"), D = x("VRadio"), T = x("IdmWindBarb"), z = x("IdmSigWaveHeight"), w = x("IdmCurrentDirection"), C = x("IdmPrmsl"), _ = x("IdmWindParticle"), R = x("IdmCurrentParticle"), F = x("IdmWave"), V = x("IdmSwell"), X = x("IdmIceEdge"), Y = x("IdmIceCover"), Q = x("IdmIceThickness"), $ = x("IdmPrecip3h"), J = x("IdmVisibility"), se = x("IdmWaterTemp"), le = x("IdmTemp");
9296
9297
  return g(), S("div", wn, [
9297
9298
  s("div", {
9298
9299
  class: "menu-bar-box transition pa-1",
@@ -9347,7 +9348,7 @@ function ic(t, e, o, i, a, r) {
9347
9348
  _: 1
9348
9349
  })
9349
9350
  ], 4),
9350
- a.legendToggle ? (g(), A(x, {
9351
+ a.legendToggle ? (g(), A(v, {
9351
9352
  key: 0,
9352
9353
  elevation: "16",
9353
9354
  class: "card-info d-flex justify-center align-start",
@@ -9488,7 +9489,7 @@ function ic(t, e, o, i, a, r) {
9488
9489
  ]),
9489
9490
  o.simple ? (g(), S("div", In, [
9490
9491
  s("div", null, n(t.$t("weather.forecastModel")), 1),
9491
- p(_, {
9492
+ p(k, {
9492
9493
  modelValue: a.currentModel,
9493
9494
  "onUpdate:modelValue": e[2] || (e[2] = (H) => a.currentModel = H),
9494
9495
  rounded: "",
@@ -9532,7 +9533,7 @@ function ic(t, e, o, i, a, r) {
9532
9533
  s("div", {
9533
9534
  class: ye(["list-box scroll pl-4 pr-2 overflow-y-auto", a.autoActive ? "" : "cursor-not-allowed"])
9534
9535
  }, [
9535
- p(x, {
9536
+ p(v, {
9536
9537
  class: "block-bg mx-auto mb-3",
9537
9538
  elevation: "0"
9538
9539
  }, {
@@ -9572,7 +9573,7 @@ function ic(t, e, o, i, a, r) {
9572
9573
  ]),
9573
9574
  _: 1
9574
9575
  }),
9575
- p(x, {
9576
+ p(v, {
9576
9577
  class: "block-bg mx-auto mb-3",
9577
9578
  elevation: "0"
9578
9579
  }, {
@@ -9639,7 +9640,7 @@ function ic(t, e, o, i, a, r) {
9639
9640
  "hide-details": ""
9640
9641
  }, null, 8, ["modelValue"])
9641
9642
  ])) : I("", !0),
9642
- a.renderKey === "wave-group" && H.key === "wave-group" ? (g(), A(_, {
9643
+ a.renderKey === "wave-group" && H.key === "wave-group" ? (g(), A(k, {
9643
9644
  key: 2,
9644
9645
  modelValue: a.waveToggleValue,
9645
9646
  "onUpdate:modelValue": e[7] || (e[7] = (oe) => a.waveToggleValue = oe),
@@ -9682,7 +9683,7 @@ function ic(t, e, o, i, a, r) {
9682
9683
  ]),
9683
9684
  _: 1
9684
9685
  }, 8, ["modelValue", "disabled"])) : I("", !0),
9685
- a.renderKey === "ice-forecast" && H.key === "ice-forecast" ? (g(), A(_, {
9686
+ a.renderKey === "ice-forecast" && H.key === "ice-forecast" ? (g(), A(k, {
9686
9687
  key: 3,
9687
9688
  modelValue: a.iceToggleValue,
9688
9689
  "onUpdate:modelValue": e[8] || (e[8] = (oe) => a.iceToggleValue = oe),
@@ -9732,7 +9733,7 @@ function ic(t, e, o, i, a, r) {
9732
9733
  ]),
9733
9734
  _: 1
9734
9735
  }),
9735
- p(x, {
9736
+ p(v, {
9736
9737
  class: "block-bg mx-auto mb-3",
9737
9738
  elevation: "0"
9738
9739
  }, {
@@ -9798,7 +9799,7 @@ function ic(t, e, o, i, a, r) {
9798
9799
  wind: (pe = a.weatherLayers) == null ? void 0 : pe.wind,
9799
9800
  "menu-toggle": o.menuToggle
9800
9801
  }, t.$attrs), null, 16, ["map", "map-feather", "wind", "menu-toggle"])) : I("", !0),
9801
- o.map ? (g(), A(v, j({
9802
+ o.map ? (g(), A(z, j({
9802
9803
  key: 2,
9803
9804
  map: o.map,
9804
9805
  "before-layer": "empty-layer-2",
@@ -9806,7 +9807,7 @@ function ic(t, e, o, i, a, r) {
9806
9807
  "menu-toggle": o.menuToggle,
9807
9808
  "active-weather-layers": a.activeWeatherLayers
9808
9809
  }, t.$attrs), null, 16, ["map", "sig-wave-height", "menu-toggle", "active-weather-layers"])) : I("", !0),
9809
- o.map ? (g(), A(z, j({
9810
+ o.map ? (g(), A(w, j({
9810
9811
  key: 3,
9811
9812
  map: o.map,
9812
9813
  "map-feather": o.mapFeather,
@@ -9822,7 +9823,7 @@ function ic(t, e, o, i, a, r) {
9822
9823
  "menu-toggle": o.menuToggle,
9823
9824
  "active-weather-layers": a.activeWeatherLayers
9824
9825
  }, t.$attrs, { theme: o.theme }), null, 16, ["map", "prmsl", "menu-toggle", "active-weather-layers", "theme"])) : I("", !0),
9825
- o.map ? (g(), A(k, j({
9826
+ o.map ? (g(), A(_, j({
9826
9827
  key: 5,
9827
9828
  viewport: a.viewport,
9828
9829
  factor: (me = a.weatherLayers) == null ? void 0 : me["wind-particle"],
@@ -10221,18 +10222,18 @@ class Ya {
10221
10222
  const a = e.toLowerCase().split(","), r = [], l = [];
10222
10223
  for (const m of a) {
10223
10224
  let c = Lo.find((d) => {
10224
- var b, x, L;
10225
- return ((b = d.models) == null ? void 0 : b.includes(m)) || ((x = d.alias) == null ? void 0 : x.toLowerCase()) === m || ((L = d.name) == null ? void 0 : L.toLowerCase()) === m;
10225
+ var b, v, L;
10226
+ return ((b = d.models) == null ? void 0 : b.includes(m)) || ((v = d.alias) == null ? void 0 : v.toLowerCase()) === m || ((L = d.name) == null ? void 0 : L.toLowerCase()) === m;
10226
10227
  }), f = Po.find((d) => {
10227
- var b, x, L;
10228
- return ((b = d.models) == null ? void 0 : b.includes(m)) || ((x = d.alias) == null ? void 0 : x.toLowerCase()) === m || ((L = d.name) == null ? void 0 : L.toLowerCase()) === m;
10228
+ var b, v, L;
10229
+ return ((b = d.models) == null ? void 0 : b.includes(m)) || ((v = d.alias) == null ? void 0 : v.toLowerCase()) === m || ((L = d.name) == null ? void 0 : L.toLowerCase()) === m;
10229
10230
  });
10230
10231
  c = c || Lo.find((d) => {
10231
- var b, x;
10232
- return ((b = d.alias) == null ? void 0 : b.toLowerCase()) === ((x = f == null ? void 0 : f.alias) == null ? void 0 : x.toLowerCase());
10232
+ var b, v;
10233
+ return ((b = d.alias) == null ? void 0 : b.toLowerCase()) === ((v = f == null ? void 0 : f.alias) == null ? void 0 : v.toLowerCase());
10233
10234
  }), f = f || Po.find((d) => {
10234
- var b, x;
10235
- return ((b = d.alias) == null ? void 0 : b.toLowerCase()) === ((x = c == null ? void 0 : c.alias) == null ? void 0 : x.toLowerCase());
10235
+ var b, v;
10236
+ return ((b = d.alias) == null ? void 0 : b.toLowerCase()) === ((v = c == null ? void 0 : c.alias) == null ? void 0 : v.toLowerCase());
10236
10237
  }), c = c || Lo[0], f = f || Po[0], r.push((o = c.models) != null && o.includes(m) ? m : c.model), l.push((i = f.models) != null && i.includes(m) ? m : f.model);
10237
10238
  }
10238
10239
  return {
@@ -10250,7 +10251,7 @@ class Ya {
10250
10251
  }), a;
10251
10252
  }
10252
10253
  static pickHourly(e, o) {
10253
- var i, a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e, Ie, Ce, H, oe, He, Oe, ge, Re;
10254
+ var i, a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e, Ie, Ce, H, oe, He, Oe, ge, Re;
10254
10255
  const W = typeof o == "string" ? M(o) : o, fe = e == null ? void 0 : e.weather, ae = e == null ? void 0 : e.marine, re = M((a = (i = fe == null ? void 0 : fe[0]) == null ? void 0 : i.hourly) == null ? void 0 : a.date).utc(), je = re.clone().add((m = (l = (r = fe == null ? void 0 : fe[0]) == null ? void 0 : r.hourly) == null ? void 0 : l.time) == null ? void 0 : m.at(0), "h"), Ge = re.clone().add((d = (f = (c = fe == null ? void 0 : fe[0]) == null ? void 0 : c.hourly) == null ? void 0 : f.time) == null ? void 0 : d.at(-1), "h"), We = [];
10255
10256
  if (W.isBetween(je, Ge, "millisecond", "[]")) {
10256
10257
  const E = W.utc().diff(je, "h", !1);
@@ -10262,25 +10263,25 @@ class Ya {
10262
10263
  for (let Le = E - (E - 1) % 3; Le <= E; Le++)
10263
10264
  Ee += (b = U == null ? void 0 : U.precipitation) == null ? void 0 : b.at(Le);
10264
10265
  for (let Le = E - (E - 1) % 6; Le <= E; Le++)
10265
- Ne += (x = U == null ? void 0 : U.precipitation) == null ? void 0 : x.at(Le);
10266
+ Ne += (v = U == null ? void 0 : U.precipitation) == null ? void 0 : v.at(Le);
10266
10267
  for (let Le = E - (E - 1) % 12; Le <= E; Le++)
10267
10268
  N += (L = U == null ? void 0 : U.precipitation) == null ? void 0 : L.at(Le);
10268
10269
  we = {
10269
- temp: (_ = U == null ? void 0 : U.temperature_2m) == null ? void 0 : _.at(E),
10270
+ temp: (k = U == null ? void 0 : U.temperature_2m) == null ? void 0 : k.at(E),
10270
10271
  apparentTemp: (P = U == null ? void 0 : U.apparent_temperature) == null ? void 0 : P.at(E),
10271
10272
  rh: (y = U == null ? void 0 : U.relative_humidity_2m) == null ? void 0 : y.at(E),
10272
10273
  dp: (B = U == null ? void 0 : U.dew_point_2m) == null ? void 0 : B.at(E),
10273
10274
  precip: {
10274
10275
  probability: (D = U == null ? void 0 : U.precipitation_probability) == null ? void 0 : D.at(E),
10275
10276
  sum: (T = U == null ? void 0 : U.precipitation) == null ? void 0 : T.at(E),
10276
- sum1Hours: (v = U == null ? void 0 : U.precipitation) == null ? void 0 : v.at(E),
10277
+ sum1Hours: (z = U == null ? void 0 : U.precipitation) == null ? void 0 : z.at(E),
10277
10278
  sum3Hours: Math.round(Ee * 100) / 100,
10278
10279
  sum6Hours: Math.round(Ne * 100) / 100,
10279
10280
  sum12Hours: Math.round(N * 100) / 100
10280
10281
  },
10281
- pmsl: (z = U == null ? void 0 : U.pressure_msl) == null ? void 0 : z.at(E),
10282
+ pmsl: (w = U == null ? void 0 : U.pressure_msl) == null ? void 0 : w.at(E),
10282
10283
  psurf: (C = U == null ? void 0 : U.surface_pressure) == null ? void 0 : C.at(E),
10283
- code: (k = U == null ? void 0 : U.weather_code) == null ? void 0 : k.at(E),
10284
+ code: (_ = U == null ? void 0 : U.weather_code) == null ? void 0 : _.at(E),
10284
10285
  visibility: this.m2nm((R = U == null ? void 0 : U.visibility) == null ? void 0 : R.at(E)),
10285
10286
  wind: {
10286
10287
  speed: (F = U == null ? void 0 : U.wind_speed_10m) == null ? void 0 : F.at(E),
@@ -10363,7 +10364,7 @@ class Ya {
10363
10364
  };
10364
10365
  }
10365
10366
  static pickDaily(e, o) {
10366
- var i, a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e;
10367
+ var i, a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e;
10367
10368
  const Ie = typeof o == "string" ? M(o) : o, Ce = e == null ? void 0 : e.weather, H = e == null ? void 0 : e.marine, oe = M((r = (a = (i = Ce == null ? void 0 : Ce[0]) == null ? void 0 : i.daily) == null ? void 0 : a.time) == null ? void 0 : r.at(0)), He = M((c = (m = (l = Ce == null ? void 0 : Ce[0]) == null ? void 0 : l.daily) == null ? void 0 : m.time) == null ? void 0 : c.at(-1)), Oe = [];
10368
10369
  if (Ie.isBetween(oe, He, "millisecond", "[]")) {
10369
10370
  let ge, Re;
@@ -10376,11 +10377,11 @@ class Ya {
10376
10377
  temp: {
10377
10378
  max: (d = ae.temperature_2m_max) == null ? void 0 : d.at(W),
10378
10379
  min: (b = ae.temperature_2m_min) == null ? void 0 : b.at(W),
10379
- mean: (x = ae.temperature_2m_mean) == null ? void 0 : x.at(W)
10380
+ mean: (v = ae.temperature_2m_mean) == null ? void 0 : v.at(W)
10380
10381
  },
10381
10382
  apparentTemp: {
10382
10383
  max: (L = ae.apparent_temperature_max) == null ? void 0 : L.at(W),
10383
- min: (_ = ae.apparent_temperature_min) == null ? void 0 : _.at(W)
10384
+ min: (k = ae.apparent_temperature_min) == null ? void 0 : k.at(W)
10384
10385
  },
10385
10386
  precip: {
10386
10387
  sum: (P = ae.precipitation_sum) == null ? void 0 : P.at(W),
@@ -10388,12 +10389,12 @@ class Ya {
10388
10389
  snowfallSum: (B = ae.snowfall_sum) == null ? void 0 : B.at(W),
10389
10390
  showersSum: (D = ae.showers_sum) == null ? void 0 : D.at(W),
10390
10391
  hours: (T = ae.precipitation_hours) == null ? void 0 : T.at(W),
10391
- probability: (v = ae.precipitation_probability_max) == null ? void 0 : v.at(W)
10392
+ probability: (z = ae.precipitation_probability_max) == null ? void 0 : z.at(W)
10392
10393
  },
10393
10394
  rh: {
10394
- max: (z = ae.relative_humidity_2m_max) == null ? void 0 : z.at(W),
10395
+ max: (w = ae.relative_humidity_2m_max) == null ? void 0 : w.at(W),
10395
10396
  min: (C = ae.relative_humidity_2m_min) == null ? void 0 : C.at(W),
10396
- mean: (k = ae.relative_humidity_2m_mean) == null ? void 0 : k.at(W)
10397
+ mean: (_ = ae.relative_humidity_2m_mean) == null ? void 0 : _.at(W)
10397
10398
  },
10398
10399
  wind: {
10399
10400
  speed: (R = ae.wind_speed_10m_max) == null ? void 0 : R.at(W),
@@ -11058,9 +11059,9 @@ const sc = {
11058
11059
  },
11059
11060
  responseType: /\.(jpg|png)$/.test(f.tropicals) ? "blob" : "json"
11060
11061
  }).then((d) => {
11061
- var L, _, P;
11062
+ var L, k, P;
11062
11063
  const b = Va.convert2Geojson(((L = d == null ? void 0 : d.data) == null ? void 0 : L.data) || (d == null ? void 0 : d.data));
11063
- ((P = (_ = d == null ? void 0 : d.config) == null ? void 0 : _.headers) == null ? void 0 : P.key) && b && (this.tropicals = {
11064
+ ((P = (k = d == null ? void 0 : d.config) == null ? void 0 : k.headers) == null ? void 0 : P.key) && b && (this.tropicals = {
11064
11065
  data: b,
11065
11066
  active: !0,
11066
11067
  cached: !0,
@@ -11078,7 +11079,7 @@ const sc = {
11078
11079
  handleRefresh() {
11079
11080
  var e, o;
11080
11081
  (((o = (e = this.tropicals) == null ? void 0 : e.data) == null ? void 0 : o.features) || []).forEach((i) => {
11081
- var a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k;
11082
+ var a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _;
11082
11083
  if (((a = i.geometry) == null ? void 0 : a.type) === "Point") {
11083
11084
  let R = "";
11084
11085
  switch (!0) {
@@ -11091,10 +11092,10 @@ const sc = {
11091
11092
  case (((f = i.properties.wind) == null ? void 0 : f.kts) < 63 || ((d = i.properties) == null ? void 0 : d.kts) < 63):
11092
11093
  R = "STS";
11093
11094
  break;
11094
- case (((b = i.properties.wind) == null ? void 0 : b.kts) < 79 || ((x = i.properties) == null ? void 0 : x.kts) < 79):
11095
+ case (((b = i.properties.wind) == null ? void 0 : b.kts) < 79 || ((v = i.properties) == null ? void 0 : v.kts) < 79):
11095
11096
  R = "TY";
11096
11097
  break;
11097
- case (((L = i.properties.wind) == null ? void 0 : L.kts) < 94 || ((_ = i.properties) == null ? void 0 : _.kts) < 94):
11098
+ case (((L = i.properties.wind) == null ? void 0 : L.kts) < 94 || ((k = i.properties) == null ? void 0 : k.kts) < 94):
11098
11099
  R = "STY";
11099
11100
  break;
11100
11101
  case (((P = i.properties.wind) == null ? void 0 : P.kts) >= 94 || ((y = i.properties) == null ? void 0 : y.kts) >= 94):
@@ -11106,7 +11107,7 @@ const sc = {
11106
11107
  }
11107
11108
  i.properties.level = R;
11108
11109
  }
11109
- ((B = i.geometry) == null ? void 0 : B.type) === "Point" && ((D = i.properties) != null && D.important) && (i.properties.format = (v = (T = M(i.properties.date)) == null ? void 0 : T.utcOffset(this.timeZone)) == null ? void 0 : v.format(`MMM-DD/HHmm [(utc${this.computeTimezone})]`)), ((z = i.geometry) == null ? void 0 : z.type) === "Point" && (i.properties.Name = ((k = (C = i.properties.name) == null ? void 0 : C.trim()) == null ? void 0 : k.replace(/^./, (R) => R.toUpperCase())) || i.properties.nameCn, i.properties.nameCn = i.properties.nameCn || i.properties.Name || "-");
11110
+ ((B = i.geometry) == null ? void 0 : B.type) === "Point" && ((D = i.properties) != null && D.important) && (i.properties.format = (z = (T = M(i.properties.date)) == null ? void 0 : T.utcOffset(this.timeZone)) == null ? void 0 : z.format(`MMM-DD/HHmm [(utc${this.computeTimezone})]`)), ((w = i.geometry) == null ? void 0 : w.type) === "Point" && (i.properties.Name = ((_ = (C = i.properties.name) == null ? void 0 : C.trim()) == null ? void 0 : _.replace(/^./, (R) => R.toUpperCase())) || i.properties.nameCn, i.properties.nameCn = i.properties.nameCn || i.properties.Name || "-");
11110
11111
  }), this.handleInit();
11111
11112
  },
11112
11113
  handleInit() {
@@ -11117,8 +11118,8 @@ const sc = {
11117
11118
  var t, e, o, i, a, r, l, m, c, f;
11118
11119
  if (this.tropicals && this.map) {
11119
11120
  const d = (/* @__PURE__ */ new Date()).valueOf();
11120
- let b = 0, x = 0;
11121
- (t = this.map) != null && t.getSource(this.source) ? ((o = this.map) == null || o.getSource(this.source).setData((e = this.tropicals) != null && e.active ? this.tropicals.data : this.empty), x = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropicals] update elapsed: ", x, ", total: ", b += x)) : (this.map.addSource(this.source, {
11121
+ let b = 0, v = 0;
11122
+ (t = this.map) != null && t.getSource(this.source) ? ((o = this.map) == null || o.getSource(this.source).setData((e = this.tropicals) != null && e.active ? this.tropicals.data : this.empty), v = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropicals] update elapsed: ", v, ", total: ", b += v)) : (this.map.addSource(this.source, {
11122
11123
  type: "geojson",
11123
11124
  data: (i = this.tropicals) != null && i.active ? (a = this.tropicals) == null ? void 0 : a.data : this.empty
11124
11125
  }), this.map.addLayer({
@@ -11199,7 +11200,7 @@ const sc = {
11199
11200
  ],
11200
11201
  "text-halo-width": 4
11201
11202
  }
11202
- }, this.beforeLayer), x = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", x, ", total: ", b += x)), (r = this.map) != null && r.getSource(this.clusterSource) ? ((m = this.map) == null || m.getSource(this.clusterSource).setData((l = this.tropicals) != null && l.active ? this.tropicals.data : this.empty), x = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] update elapsed: ", x, ", total: ", b += x)) : (this.map.addSource(this.clusterSource, {
11203
+ }, this.beforeLayer), v = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", v, ", total: ", b += v)), (r = this.map) != null && r.getSource(this.clusterSource) ? ((m = this.map) == null || m.getSource(this.clusterSource).setData((l = this.tropicals) != null && l.active ? this.tropicals.data : this.empty), v = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] update elapsed: ", v, ", total: ", b += v)) : (this.map.addSource(this.clusterSource, {
11203
11204
  type: "geojson",
11204
11205
  data: (c = this.tropicals) != null && c.active ? (f = this.tropicals) == null ? void 0 : f.data : this.empty
11205
11206
  // cluster: true,
@@ -11315,7 +11316,7 @@ const sc = {
11315
11316
  "text-halo-color": "#ffffff",
11316
11317
  "text-halo-width": 2
11317
11318
  }
11318
- }, this.beforeLayer), x = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", x, ", total: ", b += x));
11319
+ }, this.beforeLayer), v = (/* @__PURE__ */ new Date()).valueOf() - (d + b), console.log("[tropical] add elapsed: ", v, ", total: ", b += v));
11319
11320
  const L = Va.interpolate(this.tropicals, 1);
11320
11321
  this.interpolateData = JSON.parse(JSON.stringify(L)), this.handleDateChange();
11321
11322
  }
@@ -11325,7 +11326,7 @@ const sc = {
11325
11326
  this.map && (this.map.getLayer(this.historyLayer) && this.map.removeLayer(this.historyLayer), this.map.getLayer(this.forecastLayer) && this.map.removeLayer(this.forecastLayer), this.map.getLayer(this.forecastModelLayer) && this.map.removeLayer(this.forecastModelLayer), this.map.getLayer(this.forecastNameLayer) && this.map.removeLayer(this.forecastNameLayer), this.map.getLayer(this.pointCircleLayer) && this.map.removeLayer(this.pointCircleLayer), this.map.getLayer(this.pointCircleLayer + "-border") && this.map.removeLayer(this.pointCircleLayer + "-border"), this.map.getLayer(this.pointLabelLayer) && this.map.removeLayer(this.pointLabelLayer), this.map.getLayer(this.historyPointCircleLayer) && this.map.removeLayer(this.historyPointCircleLayer), this.map.getLayer(this.historyPointCircleLayer + "-border") && this.map.removeLayer(this.historyPointCircleLayer + "-border"), this.map.getLayer(this.historyPointCircleLayer + "-inner") && this.map.removeLayer(this.historyPointCircleLayer + "-inner"), this.map.getLayer(this.historyPointLabelLayer) && this.map.removeLayer(this.historyPointLabelLayer), this.map.getLayer(this.interpolateLineLayer) && this.map.removeLayer(this.interpolateLineLayer), (t = this.interpolateMarkers) == null || t.forEach((a) => a == null ? void 0 : a.remove()), this.map.getSource(this.source) && this.map.removeSource(this.source), this.map.getSource(this.clusterSource) && this.map.removeSource(this.clusterSource), this.map.getSource(this.interpolateSource) && this.map.removeSource(this.interpolateSource)), (e = this.map) == null || e.off("click", this.clickLayers, this.handleClick), (o = this.map) == null || o.off("mousemove", this.hoverLayers, this.handleHover), (i = this.map) == null || i.off("mouseleave", this.hoverLayers, this.handleLeave), this.handleCloseInfoMarker();
11326
11327
  },
11327
11328
  handleDateChange() {
11328
- var t, e, o, i, a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe;
11329
+ var t, e, o, i, a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe;
11329
11330
  if ((t = this.interpolateMarkers) == null || t.forEach((ie) => ie == null ? void 0 : ie.remove()), (e = this.interpolateData) != null && e.length && this.tropicals.active) {
11330
11331
  const ie = M(this.realTime).utc().set({ minute: 0, second: 0, millisecond: 0 }), ce = this.interpolateData.filter((O) => O.properties.date === (ie == null ? void 0 : ie.format()) && !O.properties.disabled), ue = this.handleComputePolygons(ce), me = G.featureCollection([...ce]);
11331
11332
  ue.forEach((O) => {
@@ -11366,7 +11367,7 @@ const sc = {
11366
11367
  O.properties.nameCn = Te, O.properties.Name = ((d = (f = O.properties.name) == null ? void 0 : f.trim()) == null ? void 0 : d.replace(/^./, (_e) => _e.toUpperCase())) || O.properties.nameCn, he.push(O);
11367
11368
  }
11368
11369
  let te = this.Theme.current.value.colors["tropicals-ty"];
11369
- ((x = (b = O.properties) == null ? void 0 : b.wind) == null ? void 0 : x.kts) < 32 || !((_ = (L = O.properties) == null ? void 0 : L.wind) != null && _.kts) ? te = this.Theme.current.value.colors["tropicals-td"] : ((y = (P = O.properties) == null ? void 0 : P.wind) == null ? void 0 : y.kts) >= 32 && ((D = (B = O.properties) == null ? void 0 : B.wind) == null ? void 0 : D.kts) < 47 ? te = this.Theme.current.value.colors["tropicals-ts"] : ((v = (T = O.properties) == null ? void 0 : T.wind) == null ? void 0 : v.kts) >= 47 && ((C = (z = O.properties) == null ? void 0 : z.wind) == null ? void 0 : C.kts) < 63 ? te = this.Theme.current.value.colors["tropicals-sts"] : ((R = (k = O.properties) == null ? void 0 : k.wind) == null ? void 0 : R.kts) >= 63 && ((V = (F = O.properties) == null ? void 0 : F.wind) == null ? void 0 : V.kts) < 79 ? te = this.Theme.current.value.colors["tropicals-ty"] : ((Y = (X = O.properties) == null ? void 0 : X.wind) == null ? void 0 : Y.kts) >= 79 && (($ = (Q = O.properties) == null ? void 0 : Q.wind) == null ? void 0 : $.kts) < 94 ? te = this.Theme.current.value.colors["tropicals-sty"] : ((se = (J = O.properties) == null ? void 0 : J.wind) == null ? void 0 : se.kts) >= 94 ? te = this.Theme.current.value.colors["tropicals-super-ty"] : te = this.Theme.current.value.colors["tropicals-ty"];
11370
+ ((v = (b = O.properties) == null ? void 0 : b.wind) == null ? void 0 : v.kts) < 32 || !((k = (L = O.properties) == null ? void 0 : L.wind) != null && k.kts) ? te = this.Theme.current.value.colors["tropicals-td"] : ((y = (P = O.properties) == null ? void 0 : P.wind) == null ? void 0 : y.kts) >= 32 && ((D = (B = O.properties) == null ? void 0 : B.wind) == null ? void 0 : D.kts) < 47 ? te = this.Theme.current.value.colors["tropicals-ts"] : ((z = (T = O.properties) == null ? void 0 : T.wind) == null ? void 0 : z.kts) >= 47 && ((C = (w = O.properties) == null ? void 0 : w.wind) == null ? void 0 : C.kts) < 63 ? te = this.Theme.current.value.colors["tropicals-sts"] : ((R = (_ = O.properties) == null ? void 0 : _.wind) == null ? void 0 : R.kts) >= 63 && ((V = (F = O.properties) == null ? void 0 : F.wind) == null ? void 0 : V.kts) < 79 ? te = this.Theme.current.value.colors["tropicals-ty"] : ((Y = (X = O.properties) == null ? void 0 : X.wind) == null ? void 0 : Y.kts) >= 79 && (($ = (Q = O.properties) == null ? void 0 : Q.wind) == null ? void 0 : $.kts) < 94 ? te = this.Theme.current.value.colors["tropicals-sty"] : ((se = (J = O.properties) == null ? void 0 : J.wind) == null ? void 0 : se.kts) >= 94 ? te = this.Theme.current.value.colors["tropicals-super-ty"] : te = this.Theme.current.value.colors["tropicals-ty"];
11370
11371
  const be = `<svg t="1719918955501"
11371
11372
  class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" p-id="18382"
11372
11373
  xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200">
@@ -11391,7 +11392,7 @@ const sc = {
11391
11392
  (le = this.map) != null && le.getSource(this.interpolateSource) && ((pe = this.map) == null || pe.getSource(this.interpolateSource).setData(this.empty));
11392
11393
  },
11393
11394
  handleClick(t) {
11394
- var a, r, l, m, c, f, d, b, x, L, _;
11395
+ var a, r, l, m, c, f, d, b, v, L, k;
11395
11396
  const e = t.features[0], o = (r = (a = this.tropicals) == null ? void 0 : a.data) == null ? void 0 : r.features.filter(
11396
11397
  (P) => {
11397
11398
  var y;
@@ -11408,8 +11409,8 @@ const sc = {
11408
11409
  nameCn: ((f = e == null ? void 0 : e.properties) == null ? void 0 : f.nameCn) || ((d = e == null ? void 0 : e.properties) == null ? void 0 : d.name) || "-",
11409
11410
  Name: ((b = e == null ? void 0 : e.properties) == null ? void 0 : b.Name) || "-",
11410
11411
  forecasts: o.map((P) => P.properties),
11411
- history: (x = i[0]) == null ? void 0 : x.properties,
11412
- showCircle: (_ = (L = o[0]) == null ? void 0 : L.properties) == null ? void 0 : _.showCircle
11412
+ history: (v = i[0]) == null ? void 0 : v.properties,
11413
+ showCircle: (k = (L = o[0]) == null ? void 0 : L.properties) == null ? void 0 : k.showCircle
11413
11414
  }, this.showTropicalsInfo = !0, this.simple || this.drawTropicalsInfoMaker([t.lngLat.lng, t.lngLat.lat]);
11414
11415
  },
11415
11416
  drawTropicalsInfoMaker(t) {
@@ -11562,7 +11563,7 @@ const sc = {
11562
11563
  class: "d-flex justify-start align-center"
11563
11564
  }, Qc = { class: "text-label pr-1" }, $c = { class: "d-flex justify-start align-center" }, em = { class: "text-label pr-1" };
11564
11565
  function tm(t, e, o, i, a, r) {
11565
- const l = w("VBtn"), m = w("VTooltip"), c = w("VCardText"), f = w("VDivider"), d = w("VCardActions"), b = w("VCard"), x = w("v-card-title"), L = w("v-divider");
11566
+ const l = x("VBtn"), m = x("VTooltip"), c = x("VCardText"), f = x("VDivider"), d = x("VCardActions"), b = x("VCard"), v = x("v-card-title"), L = x("v-divider");
11566
11567
  return g(), S("div", lc, [
11567
11568
  s("div", {
11568
11569
  class: "menu-bar-box transition pa-1",
@@ -11572,8 +11573,8 @@ function tm(t, e, o, i, a, r) {
11572
11573
  text: t.$t("tropical.tropicals"),
11573
11574
  location: "left"
11574
11575
  }, {
11575
- activator: u(({ props: _ }) => [
11576
- p(l, j(_, {
11576
+ activator: u(({ props: k }) => [
11577
+ p(l, j(k, {
11577
11578
  "min-width": "32",
11578
11579
  width: "32",
11579
11580
  height: "32",
@@ -11602,11 +11603,11 @@ function tm(t, e, o, i, a, r) {
11602
11603
  default: u(() => [
11603
11604
  p(c, null, {
11604
11605
  default: u(() => {
11605
- var _, P, y, B, D, T, v, z, C, k, R, F;
11606
+ var k, P, y, B, D, T, z, w, C, _, R, F;
11606
11607
  return [
11607
11608
  s("div", nc, [
11608
- s("span", cc, n(o.locale === "en" ? (_ = a.activeTropicals) == null ? void 0 : _.Name : ((P = a.activeTropicals) == null ? void 0 : P.nameCn) || ((y = a.activeTropicals) == null ? void 0 : y.Name) || "-"), 1),
11609
- (D = (B = a.activeTropicals) == null ? void 0 : B.history) != null && D.level ? (g(), S("span", mc, ", " + n((v = (T = a.activeTropicals) == null ? void 0 : T.history) == null ? void 0 : v.level), 1)) : I("", !0)
11609
+ s("span", cc, n(o.locale === "en" ? (k = a.activeTropicals) == null ? void 0 : k.Name : ((P = a.activeTropicals) == null ? void 0 : P.nameCn) || ((y = a.activeTropicals) == null ? void 0 : y.Name) || "-"), 1),
11610
+ (D = (B = a.activeTropicals) == null ? void 0 : B.history) != null && D.level ? (g(), S("span", mc, ", " + n((z = (T = a.activeTropicals) == null ? void 0 : T.history) == null ? void 0 : z.level), 1)) : I("", !0)
11610
11611
  ]),
11611
11612
  p(l, {
11612
11613
  icon: "",
@@ -11623,7 +11624,7 @@ function tm(t, e, o, i, a, r) {
11623
11624
  }, 8, ["onClick"]),
11624
11625
  s("div", hc, [
11625
11626
  s("span", dc, n(t.$t("actions.lastUpdate")) + ": ", 1),
11626
- s("span", null, n(r.computeTime(((C = (z = a.activeTropicals) == null ? void 0 : z.history) == null ? void 0 : C.updated) || ((F = (R = (k = a.activeTropicals) == null ? void 0 : k.forecasts) == null ? void 0 : R.filter((V) => !V.disabled)[0]) == null ? void 0 : F.date), o.timeZone)), 1)
11627
+ s("span", null, n(r.computeTime(((C = (w = a.activeTropicals) == null ? void 0 : w.history) == null ? void 0 : C.updated) || ((F = (R = (_ = a.activeTropicals) == null ? void 0 : _.forecasts) == null ? void 0 : R.filter((V) => !V.disabled)[0]) == null ? void 0 : F.date), o.timeZone)), 1)
11627
11628
  ])
11628
11629
  ];
11629
11630
  }),
@@ -11632,12 +11633,12 @@ function tm(t, e, o, i, a, r) {
11632
11633
  p(f),
11633
11634
  p(c, { class: "text-body-1 py-3" }, {
11634
11635
  default: u(() => {
11635
- var _, P, y, B, D, T, v, z, C;
11636
+ var k, P, y, B, D, T, z, w, C;
11636
11637
  return [
11637
11638
  s("div", pc, [
11638
11639
  s("div", uc, [
11639
11640
  s("label", gc, n(t.$t("weather.windSpeed")) + " : ", 1),
11640
- s("span", null, n(((P = (_ = a.activeTropicals) == null ? void 0 : _.history) == null ? void 0 : P.kts) || "-") + " kts", 1),
11641
+ s("span", null, n(((P = (k = a.activeTropicals) == null ? void 0 : k.history) == null ? void 0 : P.kts) || "-") + " kts", 1),
11641
11642
  s("span", null, ", BF " + n(r.computeBF(((B = (y = a.activeTropicals) == null ? void 0 : y.history) == null ? void 0 : B.kts) || "-")), 1)
11642
11643
  ]),
11643
11644
  s("div", fc, [
@@ -11648,27 +11649,27 @@ function tm(t, e, o, i, a, r) {
11648
11649
  s("div", bc, [
11649
11650
  s("div", wc, [
11650
11651
  s("label", xc, n(t.$t("tropical.moveSpeed")) + " : ", 1),
11651
- s("span", null, n(((v = r.computeMovement(a.activeTropicals)) == null ? void 0 : v.kts) || "-") + " kts", 1)
11652
+ s("span", null, n(((z = r.computeMovement(a.activeTropicals)) == null ? void 0 : z.kts) || "-") + " kts", 1)
11652
11653
  ]),
11653
11654
  s("div", vc, [
11654
11655
  s("label", _c, n(t.$t("tropical.moveDir")) + " : ", 1),
11655
- s("span", null, n(((z = r.computeMovement(a.activeTropicals)) == null ? void 0 : z.deg) || "-") + "°", 1)
11656
+ s("span", null, n(((w = r.computeMovement(a.activeTropicals)) == null ? void 0 : w.deg) || "-") + "°", 1)
11656
11657
  ])
11657
11658
  ]),
11658
11659
  s("div", kc, [
11659
11660
  s("label", zc, n(t.$t("weather.forecastModels")) + " : ", 1),
11660
11661
  s("div", Lc, [
11661
- (g(!0), S(xe, null, ke((C = a.activeTropicals) == null ? void 0 : C.forecasts, (k, R) => (g(), A(l, {
11662
+ (g(!0), S(xe, null, ke((C = a.activeTropicals) == null ? void 0 : C.forecasts, (_, R) => (g(), A(l, {
11662
11663
  key: R,
11663
11664
  density: "compact",
11664
- variant: k.disabled ? "text" : "flat",
11665
- color: k.disabled ? "" : "primary",
11665
+ variant: _.disabled ? "text" : "flat",
11666
+ color: _.disabled ? "" : "primary",
11666
11667
  "min-width": 30,
11667
- class: ye(["model text-none text-body-1 px-1", k.disabled ? "btn-border-1 btn-bg-1" : ""]),
11668
- onClick: Se((F) => r.handleForecastToggle(k), ["stop"])
11668
+ class: ye(["model text-none text-body-1 px-1", _.disabled ? "btn-border-1 btn-bg-1" : ""]),
11669
+ onClick: Se((F) => r.handleForecastToggle(_), ["stop"])
11669
11670
  }, {
11670
11671
  default: u(() => [
11671
- K(n(k.model), 1)
11672
+ K(n(_.model), 1)
11672
11673
  ]),
11673
11674
  _: 2
11674
11675
  }, 1032, ["variant", "color", "class", "onClick"]))), 128))
@@ -11690,7 +11691,7 @@ function tm(t, e, o, i, a, r) {
11690
11691
  variant: "text",
11691
11692
  color: a.showLegend ? "primary" : "",
11692
11693
  class: "text-none text-body-1",
11693
- onClick: e[0] || (e[0] = Se((_) => a.showLegend = !a.showLegend, ["stop"]))
11694
+ onClick: e[0] || (e[0] = Se((k) => a.showLegend = !a.showLegend, ["stop"]))
11694
11695
  }, {
11695
11696
  prepend: u(() => e[5] || (e[5] = [
11696
11697
  s("i", { class: "iconfont icon-Legend text-h4" }, null, -1)
@@ -11706,7 +11707,7 @@ function tm(t, e, o, i, a, r) {
11706
11707
  variant: "text",
11707
11708
  density: "compact",
11708
11709
  class: "text-none text-body-1",
11709
- onClick: e[1] || (e[1] = Se((_) => r.handleNotification(a.activeTropicals), ["stop"]))
11710
+ onClick: e[1] || (e[1] = Se((k) => r.handleNotification(a.activeTropicals), ["stop"]))
11710
11711
  }, {
11711
11712
  default: u(() => [
11712
11713
  K(n(t.$t("actions.notify")), 1)
@@ -11718,7 +11719,7 @@ function tm(t, e, o, i, a, r) {
11718
11719
  density: "compact",
11719
11720
  "append-icon": "mdi-chevron-right",
11720
11721
  class: "text-none text-body-1",
11721
- onClick: e[2] || (e[2] = Se((_) => r.handleStrikeProbability(a.activeTropicals), ["stop"]))
11722
+ onClick: e[2] || (e[2] = Se((k) => r.handleStrikeProbability(a.activeTropicals), ["stop"]))
11722
11723
  }, {
11723
11724
  default: u(() => [
11724
11725
  K(n(t.$t("actions.viewReport")), 1)
@@ -11803,12 +11804,12 @@ function tm(t, e, o, i, a, r) {
11803
11804
  "max-width": "280"
11804
11805
  }, {
11805
11806
  default: u(() => [
11806
- p(x, null, {
11807
+ p(v, null, {
11807
11808
  default: u(() => {
11808
- var _, P, y, B;
11809
+ var k, P, y, B;
11809
11810
  return [
11810
11811
  s("div", Dc, [
11811
- s("span", Ic, n(o.locale === "en" ? (_ = a.hoverPoint) == null ? void 0 : _.Name : ((P = a.hoverPoint) == null ? void 0 : P.nameCn) || ((y = a.hoverPoint) == null ? void 0 : y.Name)), 1),
11812
+ s("span", Ic, n(o.locale === "en" ? (k = a.hoverPoint) == null ? void 0 : k.Name : ((P = a.hoverPoint) == null ? void 0 : P.nameCn) || ((y = a.hoverPoint) == null ? void 0 : y.Name)), 1),
11812
11813
  s("span", Rc, "[ " + n((B = a.hoverPoint) == null ? void 0 : B.level) + " ]", 1)
11813
11814
  ])
11814
11815
  ];
@@ -11818,10 +11819,10 @@ function tm(t, e, o, i, a, r) {
11818
11819
  p(L),
11819
11820
  p(c, { class: "text-body-1" }, {
11820
11821
  default: u(() => {
11821
- var _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le;
11822
+ var k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le;
11822
11823
  return [
11823
11824
  s("div", Ac, [
11824
- ((_ = a.hoverPoint) == null ? void 0 : _.type) === "forecast" ? (g(), S("div", Oc, [
11825
+ ((k = a.hoverPoint) == null ? void 0 : k.type) === "forecast" ? (g(), S("div", Oc, [
11825
11826
  s("label", Bc, n(t.$t("tropical.updated")) + " : ", 1),
11826
11827
  s("span", null, n(r.computeTzTime((P = a.hoverPoint) == null ? void 0 : P.update, o.timeZone)), 1)
11827
11828
  ])) : I("", !0),
@@ -11833,13 +11834,13 @@ function tm(t, e, o, i, a, r) {
11833
11834
  s("label", Fc, n(t.$t("tropical.forecast")) + " : ", 1),
11834
11835
  s("span", null, n(r.computeTzTime((T = a.hoverPoint) == null ? void 0 : T.date, o.timeZone)), 1)
11835
11836
  ])) : I("", !0),
11836
- ((v = a.hoverPoint) == null ? void 0 : v.type) === "forecast" ? (g(), S("div", Hc, [
11837
+ ((z = a.hoverPoint) == null ? void 0 : z.type) === "forecast" ? (g(), S("div", Hc, [
11837
11838
  s("label", Gc, n(t.$t("tropical.model")) + " : ", 1),
11838
- s("span", null, n(((z = a.hoverPoint) == null ? void 0 : z.model) ?? "-"), 1)
11839
+ s("span", null, n(((w = a.hoverPoint) == null ? void 0 : w.model) ?? "-"), 1)
11839
11840
  ])) : I("", !0),
11840
11841
  ((C = a.hoverPoint) == null ? void 0 : C.type) === "forecast" ? (g(), S("div", Wc, [
11841
11842
  s("label", Uc, n(t.$t("weather.wind")) + " : ", 1),
11842
- s("span", null, n(((R = JSON.parse((k = a.hoverPoint) == null ? void 0 : k.wind)) == null ? void 0 : R.kts) ?? "-") + " kts", 1)
11843
+ s("span", null, n(((R = JSON.parse((_ = a.hoverPoint) == null ? void 0 : _.wind)) == null ? void 0 : R.kts) ?? "-") + " kts", 1)
11843
11844
  ])) : I("", !0),
11844
11845
  ((F = a.hoverPoint) == null ? void 0 : F.type) === "history" ? (g(), S("div", Vc, [
11845
11846
  s("label", Yc, n(t.$t("weather.wind")) + " : ", 1),
@@ -12068,7 +12069,7 @@ const om = {
12068
12069
  style: { height: "56px" }
12069
12070
  };
12070
12071
  function nm(t, e, o, i, a, r) {
12071
- const l = w("VDatePicker"), m = w("VDivider"), c = w("VListItemTitle"), f = w("VListItem"), d = w("VList"), b = w("VCardText"), x = w("VBtn"), L = w("VCardActions"), _ = w("VCard");
12072
+ const l = x("VDatePicker"), m = x("VDivider"), c = x("VListItemTitle"), f = x("VListItem"), d = x("VList"), b = x("VCardText"), v = x("VBtn"), L = x("VCardActions"), k = x("VCard");
12072
12073
  return g(), S("div", am, [
12073
12074
  s("div", {
12074
12075
  style: ee({ height: o.height + "px", width: o.width + "px" }),
@@ -12077,7 +12078,7 @@ function nm(t, e, o, i, a, r) {
12077
12078
  }, [
12078
12079
  s("span", im, n(a.currentDateTime) + " | UTC " + n(o.timeZone < 0 ? o.timeZone : "+" + o.timeZone), 1)
12079
12080
  ], 6),
12080
- a.showDatePicker ? (g(), A(_, {
12081
+ a.showDatePicker ? (g(), A(k, {
12081
12082
  key: 0,
12082
12083
  class: "card-box d-flex flex-column border",
12083
12084
  style: ee(r.getStyle)
@@ -12143,7 +12144,7 @@ function nm(t, e, o, i, a, r) {
12143
12144
  style: { height: "50px" }
12144
12145
  }, {
12145
12146
  default: u(() => [
12146
- p(x, {
12147
+ p(v, {
12147
12148
  size: "small",
12148
12149
  variant: "tonal",
12149
12150
  class: "text-none text-body-2",
@@ -12154,7 +12155,7 @@ function nm(t, e, o, i, a, r) {
12154
12155
  ]),
12155
12156
  _: 1
12156
12157
  }, 8, ["onClick"]),
12157
- p(x, {
12158
+ p(v, {
12158
12159
  size: "small",
12159
12160
  variant: "flat",
12160
12161
  color: "primary",
@@ -12364,7 +12365,7 @@ const cm = {
12364
12365
  ref: "idmGl4DatePicker"
12365
12366
  }, hm = { class: "flex-1-1-0" }, dm = { class: "pa-0" };
12366
12367
  function pm(t, e, o, i, a, r) {
12367
- const l = w("VIcon"), m = w("VDatePicker"), c = w("VCardText"), f = w("VDivider"), d = w("VBtn"), b = w("VCardActions"), x = w("VCard");
12368
+ const l = x("VIcon"), m = x("VDatePicker"), c = x("VCardText"), f = x("VDivider"), d = x("VBtn"), b = x("VCardActions"), v = x("VCard");
12368
12369
  return g(), S("div", mm, [
12369
12370
  s("div", {
12370
12371
  style: ee({ height: o.height + "px", width: o.width + "px" }),
@@ -12379,7 +12380,7 @@ function pm(t, e, o, i, a, r) {
12379
12380
  onClick: Se(r.handleClearDate, ["stop"])
12380
12381
  }, null, 8, ["onClick"])) : I("", !0)
12381
12382
  ], 4),
12382
- a.showDatePicker ? (g(), A(x, {
12383
+ a.showDatePicker ? (g(), A(v, {
12383
12384
  key: 0,
12384
12385
  class: "card-box d-flex flex-column border",
12385
12386
  style: ee(r.getStyle)
@@ -12497,8 +12498,789 @@ const um = {
12497
12498
  type: String
12498
12499
  },
12499
12500
  followList: {
12500
- type: Array,
12501
- default: []
12501
+ type: Array
12502
+ // default: () => {
12503
+ // return [
12504
+ // {
12505
+ // "id": "cm8ntkge601bn23o84p2e4pkf",
12506
+ // "platId": "gd0mt1d",
12507
+ // "coordinate": null,
12508
+ // "vessel": {
12509
+ // "id": "cm4s8gvu700kp0mqtdfkebp0s",
12510
+ // "name": "HG BREMEN",
12511
+ // "imo": 9955002,
12512
+ // "mmsi": 636023376,
12513
+ // "callSign": "5LNK4",
12514
+ // "ais": {
12515
+ // "cog": 253.2,
12516
+ // "eta": "2025-09-29T06:00:00Z",
12517
+ // "hdg": 251,
12518
+ // "imo": "9955002",
12519
+ // "lat": -26.914428,
12520
+ // "lng": 42.621778,
12521
+ // "rot": -4,
12522
+ // "sog": 14,
12523
+ // "utc": "2025-09-15T02:16:17Z",
12524
+ // "eta1": "2025-09-29T06:00:00Z",
12525
+ // "mmsi": 636023376,
12526
+ // "factor": {
12527
+ // "eta": "2025-09-15T02:16:17Z",
12528
+ // "etd": "2025-09-15T02:16:17Z",
12529
+ // "lat": -26.914428,
12530
+ // "lng": 42.621778,
12531
+ // "meteo": {
12532
+ // "sst": 23.299999,
12533
+ // "url": "https://osshz.idmwx.com/asset/weather/01n.svg",
12534
+ // "utc": "2025-09-15T02:00:00Z",
12535
+ // "code": 0,
12536
+ // "name": "Clear",
12537
+ // "temp": 22.65,
12538
+ // "wave": {
12539
+ // "wd": {
12540
+ // "scale": "Moderate",
12541
+ // "degree": 92,
12542
+ // "height": 1.36,
12543
+ // "period": 8,
12544
+ // "bearing": 272,
12545
+ // "direction": "E",
12546
+ // "peakPeriod": null
12547
+ // },
12548
+ // "sig": {
12549
+ // "scale": "Moderate",
12550
+ // "degree": 207,
12551
+ // "height": 2.42,
12552
+ // "period": 16.450001,
12553
+ // "bearing": 27,
12554
+ // "direction": "SSW"
12555
+ // },
12556
+ // "swell": {
12557
+ // "scale": "Moderate",
12558
+ // "degree": 211,
12559
+ // "height": 1.62,
12560
+ // "period": 14.2,
12561
+ // "bearing": 31,
12562
+ // "direction": "SSW",
12563
+ // "peakPeriod": null
12564
+ // }
12565
+ // },
12566
+ // "wind": {
12567
+ // "kts": 13.834078,
12568
+ // "gusts": 16.328255,
12569
+ // "scale": 4,
12570
+ // "speed": 13.834078,
12571
+ // "degree": 109.708076,
12572
+ // "bearing": 289.708076,
12573
+ // "direction": "ESE"
12574
+ // },
12575
+ // "gusts": {
12576
+ // "kts": 16.328255
12577
+ // },
12578
+ // "height": 0.22,
12579
+ // "precip": {
12580
+ // "sum": 0,
12581
+ // "sum3Hours": 0,
12582
+ // "sum6Hours": 0,
12583
+ // "probability": null
12584
+ // },
12585
+ // "source": "gfs_seamless",
12586
+ // "current": {
12587
+ // "kts": 2.192751,
12588
+ // "speed": 2.192751,
12589
+ // "degree": 257.19574,
12590
+ // "bearing": 257.19574,
12591
+ // "direction": "WSW"
12592
+ // },
12593
+ // "visibility": 13.0346
12594
+ // },
12595
+ // "speed": 15.77,
12596
+ // "cFactor": 2.18,
12597
+ // "wxFactor": -0.41
12598
+ // },
12599
+ // "method": "position",
12600
+ // "status": 0,
12601
+ // "vendor": "myVessel",
12602
+ // "deleted": false,
12603
+ // "draught": 12.3,
12604
+ // "labelCn": "在航(主机推动)",
12605
+ // "labelEn": "Underway Using Engine",
12606
+ // "syncTime": "2025-09-15T02:30:32Z",
12607
+ // "destination": "ABIDJAN",
12608
+ // "meteoVendor": "GFS",
12609
+ // "positionTime": 1757902577
12610
+ // }
12611
+ // },
12612
+ // "port": null,
12613
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12614
+ // "owner": {
12615
+ // "id": "cm0vw720z004wayoc8awvaug6",
12616
+ // "email": "monica@ormwx.com"
12617
+ // },
12618
+ // "createdAt": "2025-03-25T01:30:54.079Z",
12619
+ // "remark": null,
12620
+ // "voyage": {
12621
+ // "id": "cmcyl9fkz01bj0nnxd9gzc62e",
12622
+ // "number": "20250711016",
12623
+ // "status": "Underway",
12624
+ // "loadCondition": "Laden",
12625
+ // "companyId": "cltzog33o000nxglt3afwd7b3",
12626
+ // "vesselId": "cm4s8gvu700kp0mqtdfkebp0s"
12627
+ // }
12628
+ // },
12629
+ // {
12630
+ // "id": "cm8ntkh1x03qj0nnt6tal6c1u",
12631
+ // "platId": "gd0mt1d",
12632
+ // "coordinate": null,
12633
+ // "vessel": {
12634
+ // "id": "clyfa7be905to3wqk7xhdg1gp",
12635
+ // "name": "APRIL",
12636
+ // "imo": 9384916,
12637
+ // "mmsi": 352003739,
12638
+ // "callSign": "3E5840",
12639
+ // "ais": {
12640
+ // "cog": 323,
12641
+ // "eta": "2025-09-22T14:00:00Z",
12642
+ // "hdg": 324,
12643
+ // "imo": "9384916",
12644
+ // "lat": 11.68535,
12645
+ // "lng": 74.573017,
12646
+ // "rot": 0,
12647
+ // "sog": 10.6,
12648
+ // "utc": "2025-09-15T02:05:10Z",
12649
+ // "eta1": "2025-09-22T14:00:00Z",
12650
+ // "mmsi": 352003739,
12651
+ // "factor": {
12652
+ // "eta": "2025-09-15T02:05:10Z",
12653
+ // "etd": "2025-09-15T02:05:10Z",
12654
+ // "lat": 11.68535,
12655
+ // "lng": 74.573017,
12656
+ // "meteo": {
12657
+ // "sst": 27.950001,
12658
+ // "url": "https://osshz.idmwx.com/asset/weather/09d.svg",
12659
+ // "utc": "2025-09-15T02:00:00Z",
12660
+ // "code": 80,
12661
+ // "name": "Light Showers",
12662
+ // "temp": 26.9,
12663
+ // "wave": {
12664
+ // "wd": {
12665
+ // "scale": "Smooth",
12666
+ // "degree": 305,
12667
+ // "height": 0.24,
12668
+ // "period": 2.35,
12669
+ // "bearing": 125,
12670
+ // "direction": "NW",
12671
+ // "peakPeriod": null
12672
+ // },
12673
+ // "sig": {
12674
+ // "scale": "Moderate",
12675
+ // "degree": 232,
12676
+ // "height": 1.26,
12677
+ // "period": 9.65,
12678
+ // "bearing": 52,
12679
+ // "direction": "SW"
12680
+ // },
12681
+ // "swell": {
12682
+ // "scale": "Slight",
12683
+ // "degree": 272,
12684
+ // "height": 0.88,
12685
+ // "period": 6.45,
12686
+ // "bearing": 92,
12687
+ // "direction": "W",
12688
+ // "peakPeriod": null
12689
+ // }
12690
+ // },
12691
+ // "wind": {
12692
+ // "kts": 9.052954,
12693
+ // "gusts": 12.829344,
12694
+ // "scale": 3,
12695
+ // "speed": 9.052954,
12696
+ // "degree": 284.931458,
12697
+ // "bearing": 104.93145800000002,
12698
+ // "direction": "WNW"
12699
+ // },
12700
+ // "gusts": {
12701
+ // "kts": 12.829344
12702
+ // },
12703
+ // "height": 0.59,
12704
+ // "precip": {
12705
+ // "sum": 0.2,
12706
+ // "sum3Hours": 0.2,
12707
+ // "sum6Hours": 0.2,
12708
+ // "probability": 25
12709
+ // },
12710
+ // "source": "best_match",
12711
+ // "current": {
12712
+ // "kts": 0.307348,
12713
+ // "speed": 0.307348,
12714
+ // "degree": 161.564941,
12715
+ // "bearing": 161.564941,
12716
+ // "direction": "SSE"
12717
+ // },
12718
+ // "visibility": 6.5119
12719
+ // },
12720
+ // "speed": 10.08,
12721
+ // "cFactor": -0.29,
12722
+ // "wxFactor": -0.23
12723
+ // },
12724
+ // "method": "position",
12725
+ // "status": 0,
12726
+ // "vendor": "myVessel",
12727
+ // "deleted": false,
12728
+ // "draught": 10.9,
12729
+ // "labelCn": "在航(主机推动)",
12730
+ // "labelEn": "Underway Using Engine",
12731
+ // "syncTime": "2025-09-15T02:13:47Z",
12732
+ // "destination": "BH AHD",
12733
+ // "positionTime": 1757901910
12734
+ // }
12735
+ // },
12736
+ // "port": null,
12737
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12738
+ // "owner": {
12739
+ // "id": "cm0vw720z004wayoc8awvaug6",
12740
+ // "email": "monica@ormwx.com"
12741
+ // },
12742
+ // "createdAt": "2025-03-25T01:30:54.935Z",
12743
+ // "remark": null
12744
+ // },
12745
+ // {
12746
+ // "id": "cm8y716xs02rm0mo1e8lt3tfw",
12747
+ // "platId": "gd0mt1d",
12748
+ // "coordinate": null,
12749
+ // "vessel": null,
12750
+ // "port": {
12751
+ // "id": "clbhyi0x601wcwzpi8xx3xlo5",
12752
+ // "name": "Shanghai",
12753
+ // "loCode": "CNSHA",
12754
+ // "abcAlias": null,
12755
+ // "abcCode": "CN0116",
12756
+ // "abcLoCode": "CNSHA",
12757
+ // "city": "Shanghai",
12758
+ // "cntLoCode": "CN",
12759
+ // "continent": "ASIA",
12760
+ // "country": "China",
12761
+ // "lat": 31.25833320617676,
12762
+ // "lng": 121.5433349609375,
12763
+ // "status": 1,
12764
+ // "timezone": {
12765
+ // "RawOffset": 8,
12766
+ // "TimezoneId": "Asia/Shanghai",
12767
+ // "DisplayName": "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",
12768
+ // "UtcCurrentOffset": 8
12769
+ // },
12770
+ // "zoneId": "zk3c0bcq"
12771
+ // },
12772
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12773
+ // "owner": {
12774
+ // "id": "cm0vw720z004wayoc8awvaug6",
12775
+ // "email": "monica@ormwx.com"
12776
+ // },
12777
+ // "createdAt": "2025-04-01T07:45:31.745Z",
12778
+ // "remark": ""
12779
+ // },
12780
+ // {
12781
+ // "id": "cmag92m9s00vl0nmc7ksveh0v",
12782
+ // "platId": "gd0mt1d",
12783
+ // "coordinate": {
12784
+ // "lat": 34.15792410669758,
12785
+ // "lng": 127.81907847477157
12786
+ // },
12787
+ // "vessel": null,
12788
+ // "port": null,
12789
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12790
+ // "owner": {
12791
+ // "id": "cm0vw720z004wayoc8awvaug6",
12792
+ // "email": "monica@ormwx.com"
12793
+ // },
12794
+ // "createdAt": "2025-05-09T03:42:11.009Z",
12795
+ // "remark": ""
12796
+ // },
12797
+ // {
12798
+ // "id": "cmag93pmq00wd0nmc1qgp9qsa",
12799
+ // "platId": "gd0mt1d",
12800
+ // "coordinate": {
12801
+ // "lat": -37.63432796286481,
12802
+ // "lng": 52.32165422235994
12803
+ // },
12804
+ // "vessel": null,
12805
+ // "port": null,
12806
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12807
+ // "owner": {
12808
+ // "id": "cm0vw720z004wayoc8awvaug6",
12809
+ // "email": "monica@ormwx.com"
12810
+ // },
12811
+ // "createdAt": "2025-05-09T03:43:02.019Z",
12812
+ // "remark": ""
12813
+ // },
12814
+ // {
12815
+ // "id": "cmd2jse3e0dvb0nnx21ga822x",
12816
+ // "platId": "gd0mt1d",
12817
+ // "coordinate": {
12818
+ // "lat": 10,
12819
+ // "lng": -14
12820
+ // },
12821
+ // "vessel": null,
12822
+ // "port": null,
12823
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12824
+ // "owner": {
12825
+ // "id": "cm0vw720z004wayoc8awvaug6",
12826
+ // "email": "monica@ormwx.com"
12827
+ // },
12828
+ // "createdAt": "2025-07-14T03:32:30.171Z",
12829
+ // "remark": ""
12830
+ // },
12831
+ // {
12832
+ // "id": "cmd2jx5ym0e840mpj80n60187",
12833
+ // "platId": "gd0mt1d",
12834
+ // "coordinate": {
12835
+ // "lat": 10,
12836
+ // "lng": -16
12837
+ // },
12838
+ // "vessel": null,
12839
+ // "port": null,
12840
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12841
+ // "owner": {
12842
+ // "id": "cm0vw720z004wayoc8awvaug6",
12843
+ // "email": "monica@ormwx.com"
12844
+ // },
12845
+ // "createdAt": "2025-07-14T03:36:12.911Z",
12846
+ // "remark": ""
12847
+ // },
12848
+ // {
12849
+ // "id": "cmfdgil9a01i10lqacxdz27pc",
12850
+ // "platId": "gd0mt1d",
12851
+ // "coordinate": {
12852
+ // "lat": -1.3101652000000001,
12853
+ // "lng": 55.488281
12854
+ // },
12855
+ // "vessel": null,
12856
+ // "port": null,
12857
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12858
+ // "owner": {
12859
+ // "id": "cm0vw720z004wayoc8awvaug6",
12860
+ // "email": "monica@ormwx.com"
12861
+ // },
12862
+ // "createdAt": "2025-09-10T04:05:46.656Z",
12863
+ // "remark": null
12864
+ // },
12865
+ // {
12866
+ // "id": "cmfdlcx6r01y60lqab6q885ev",
12867
+ // "platId": "gd0mt1d",
12868
+ // "coordinate": {
12869
+ // "lat": 0.99837475,
12870
+ // "lng": -104.59375
12871
+ // },
12872
+ // "vessel": null,
12873
+ // "port": null,
12874
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12875
+ // "owner": {
12876
+ // "id": "cm0vw720z004wayoc8awvaug6",
12877
+ // "email": "monica@ormwx.com"
12878
+ // },
12879
+ // "createdAt": "2025-09-10T06:21:20.262Z",
12880
+ // "remark": null
12881
+ // },
12882
+ // {
12883
+ // "id": "cmfdo9ksp06gl0msh8kanel7s",
12884
+ // "platId": "gd0mt1d",
12885
+ // "coordinate": null,
12886
+ // "vessel": {
12887
+ // "id": "clcbmc4m3000h6ngq461sabxx",
12888
+ // "name": "ZHONG DA 88",
12889
+ // "imo": 9957191,
12890
+ // "mmsi": 413294670,
12891
+ // "callSign": "BOSV9",
12892
+ // "ais": {
12893
+ // "cog": 160.7,
12894
+ // "hdg": 158,
12895
+ // "imo": "9957191",
12896
+ // "lat": 22.11045,
12897
+ // "lng": 113.44941,
12898
+ // "rot": 0,
12899
+ // "sog": 10,
12900
+ // "utc": "2024-03-27T14:00:07Z",
12901
+ // "mmsi": 413294670,
12902
+ // "method": "position",
12903
+ // "status": 0,
12904
+ // "vendor": "myship",
12905
+ // "draught": 4.1,
12906
+ // "syncTime": "2024-03-27T14:00:18Z",
12907
+ // "positionTime": 1711548007
12908
+ // }
12909
+ // },
12910
+ // "port": null,
12911
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
12912
+ // "owner": {
12913
+ // "id": "cm0vw720z004wayoc8awvaug6",
12914
+ // "email": "monica@ormwx.com"
12915
+ // },
12916
+ // "createdAt": "2025-09-10T07:42:43.082Z",
12917
+ // "remark": null
12918
+ // },
12919
+ // {
12920
+ // "id": "cmfermo1i02y70mqydv673mgu",
12921
+ // "platId": "gd0mt1d",
12922
+ // "coordinate": null,
12923
+ // "vessel": {
12924
+ // "id": "clcbmc4ag000c6ngq7p1n1nhv",
12925
+ // "name": "EKMEN STAR",
12926
+ // "imo": 9218193,
12927
+ // "mmsi": 314525000,
12928
+ // "callSign": "8PAX6",
12929
+ // "ais": {
12930
+ // "cog": 82,
12931
+ // "eta": "2025-09-22T05:00:00Z",
12932
+ // "hdg": 84,
12933
+ // "imo": "9218193",
12934
+ // "lat": 36.0301,
12935
+ // "lng": -4.723353,
12936
+ // "rot": 0,
12937
+ // "sog": 11.9,
12938
+ // "utc": "2025-09-14T11:28:29Z",
12939
+ // "eta1": "2025-09-22T05:00:00Z",
12940
+ // "mmsi": 314525000,
12941
+ // "factor": {
12942
+ // "eta": "2025-09-14T11:28:29Z",
12943
+ // "etd": "2025-09-14T11:28:29Z",
12944
+ // "lat": 36.0301,
12945
+ // "lng": -4.723353,
12946
+ // "meteo": {
12947
+ // "sst": 22.15,
12948
+ // "url": "https://osshz.idmwx.com/asset/weather/01d.svg",
12949
+ // "utc": "2025-09-14T11:00:00Z",
12950
+ // "code": 0,
12951
+ // "name": "Sunny",
12952
+ // "temp": 22.65,
12953
+ // "wave": {
12954
+ // "wd": {
12955
+ // "scale": "Smooth",
12956
+ // "degree": 286,
12957
+ // "height": 0.28,
12958
+ // "period": 2.35,
12959
+ // "bearing": 106,
12960
+ // "direction": "WNW",
12961
+ // "peakPeriod": 1
12962
+ // },
12963
+ // "sig": {
12964
+ // "scale": "Slight",
12965
+ // "degree": 286,
12966
+ // "height": 0.58,
12967
+ // "period": 3.85,
12968
+ // "bearing": 106,
12969
+ // "direction": "WNW"
12970
+ // },
12971
+ // "swell": {
12972
+ // "scale": "Smooth",
12973
+ // "degree": 285,
12974
+ // "height": 0.36,
12975
+ // "period": 3.5,
12976
+ // "bearing": 105,
12977
+ // "direction": "WNW",
12978
+ // "peakPeriod": 5.2
12979
+ // }
12980
+ // },
12981
+ // "wind": {
12982
+ // "kts": 4.587627,
12983
+ // "gusts": 7.77536,
12984
+ // "scale": 2,
12985
+ // "speed": 4.587627,
12986
+ // "degree": 306.38446,
12987
+ // "bearing": 126.38446,
12988
+ // "direction": "NW"
12989
+ // },
12990
+ // "gusts": {
12991
+ // "kts": 7.77536
12992
+ // },
12993
+ // "height": -0.39,
12994
+ // "precip": {
12995
+ // "sum": 0,
12996
+ // "sum3Hours": 0,
12997
+ // "sum6Hours": 0,
12998
+ // "probability": 0
12999
+ // },
13000
+ // "source": "best_match",
13001
+ // "current": {
13002
+ // "kts": 0.307348,
13003
+ // "speed": 0.307348,
13004
+ // "degree": 71.564941,
13005
+ // "bearing": 71.564941,
13006
+ // "direction": "ENE"
13007
+ // },
13008
+ // "visibility": 23.4341
13009
+ // },
13010
+ // "speed": 12.13,
13011
+ // "cFactor": 0.3,
13012
+ // "wxFactor": -0.07
13013
+ // },
13014
+ // "method": "position",
13015
+ // "status": 0,
13016
+ // "vendor": "myVessel",
13017
+ // "deleted": false,
13018
+ // "draught": 7.4,
13019
+ // "labelCn": "在航(主机推动)",
13020
+ // "labelEn": "Underway Using Engine",
13021
+ // "syncTime": "2025-09-14T11:30:04Z",
13022
+ // "destination": "ILHFA",
13023
+ // "positionTime": 1757849309
13024
+ // }
13025
+ // },
13026
+ // "port": null,
13027
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13028
+ // "owner": {
13029
+ // "id": "cm0vw720z004wayoc8awvaug6",
13030
+ // "email": "monica@ormwx.com"
13031
+ // },
13032
+ // "createdAt": "2025-09-11T02:04:38.839Z",
13033
+ // "remark": null
13034
+ // },
13035
+ // {
13036
+ // "id": "cmfgjlseq0a080lqk0wd1c0ez",
13037
+ // "platId": "gd0mt1d",
13038
+ // "coordinate": null,
13039
+ // "vessel": null,
13040
+ // "port": {
13041
+ // "id": "clbhyg0e80018wzpivgy9ronc",
13042
+ // "name": "Akrotiri",
13043
+ // "loCode": "CYAKT",
13044
+ // "abcAlias": null,
13045
+ // "abcCode": "CY0001",
13046
+ // "abcLoCode": "CYAKT",
13047
+ // "city": "Bucharest",
13048
+ // "cntLoCode": "CY",
13049
+ // "continent": "EUROPE",
13050
+ // "country": "Cyprus",
13051
+ // "lat": 34.57192611694336,
13052
+ // "lng": 33.03478240966797,
13053
+ // "status": 1,
13054
+ // "timezone": {
13055
+ // "RawOffset": 2,
13056
+ // "TimezoneId": "Europe/Bucharest",
13057
+ // "DisplayName": "(UTC+02:00) Athens, Bucharest",
13058
+ // "UtcCurrentOffset": 3
13059
+ // },
13060
+ // "zoneId": "0a3i0buw"
13061
+ // },
13062
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13063
+ // "owner": {
13064
+ // "id": "cm0vw720z004wayoc8awvaug6",
13065
+ // "email": "monica@ormwx.com"
13066
+ // },
13067
+ // "createdAt": "2025-09-12T07:55:33.268Z",
13068
+ // "remark": null
13069
+ // },
13070
+ // {
13071
+ // "id": "cmfkf050h09i20mpbbtp20lxv",
13072
+ // "platId": "gd0mt1d",
13073
+ // "coordinate": null,
13074
+ // "vessel": null,
13075
+ // "port": {
13076
+ // "id": "clbhygf8600gewzpii4d8p5ao",
13077
+ // "name": "Dandong",
13078
+ // "loCode": "CNDDG",
13079
+ // "abcAlias": [
13080
+ // "Dadong"
13081
+ // ],
13082
+ // "abcCode": "CN0028",
13083
+ // "abcLoCode": "CNDDG",
13084
+ // "city": "Pyongyang",
13085
+ // "cntLoCode": "CN",
13086
+ // "continent": "ASIA",
13087
+ // "country": "China",
13088
+ // "lat": 39.81999969482422,
13089
+ // "lng": 124.1575012207031,
13090
+ // "status": 1,
13091
+ // "timezone": {
13092
+ // "RawOffset": 9,
13093
+ // "TimezoneId": "Asia/Pyongyang",
13094
+ // "DisplayName": "(UTC+09:00) Pyongyang",
13095
+ // "UtcCurrentOffset": 9
13096
+ // },
13097
+ // "zoneId": "zk3c0bcq"
13098
+ // },
13099
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13100
+ // "owner": {
13101
+ // "id": "cm0vw720z004wayoc8awvaug6",
13102
+ // "email": "monica@ormwx.com"
13103
+ // },
13104
+ // "createdAt": "2025-09-15T00:57:49.411Z",
13105
+ // "remark": null
13106
+ // },
13107
+ // {
13108
+ // "id": "cmfkf2lif09ts0lqn1nfmd4ev",
13109
+ // "platId": "gd0mt1d",
13110
+ // "coordinate": null,
13111
+ // "vessel": null,
13112
+ // "port": {
13113
+ // "id": "clbhygu5h00vkwzpi429ib4tx",
13114
+ // "name": "Kakinada",
13115
+ // "loCode": "INKAK",
13116
+ // "abcAlias": null,
13117
+ // "abcCode": "IN0057",
13118
+ // "abcLoCode": "INKAK",
13119
+ // "city": "Kolkata",
13120
+ // "cntLoCode": "IN",
13121
+ // "continent": "ASIA",
13122
+ // "country": "India",
13123
+ // "lat": 16.97333335876465,
13124
+ // "lng": 82.28500366210938,
13125
+ // "status": 1,
13126
+ // "timezone": {
13127
+ // "RawOffset": 5.5,
13128
+ // "TimezoneId": "Asia/Kolkata",
13129
+ // "DisplayName": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",
13130
+ // "UtcCurrentOffset": 5.5
13131
+ // },
13132
+ // "zoneId": "zy3f0b05"
13133
+ // },
13134
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13135
+ // "owner": {
13136
+ // "id": "cm0vw720z004wayoc8awvaug6",
13137
+ // "email": "monica@ormwx.com"
13138
+ // },
13139
+ // "createdAt": "2025-09-15T00:59:44.104Z",
13140
+ // "remark": null
13141
+ // },
13142
+ // {
13143
+ // "id": "cmfkf40mg08qo0mmlbzsic9ou",
13144
+ // "platId": "gd0mt1d",
13145
+ // "coordinate": null,
13146
+ // "vessel": null,
13147
+ // "port": {
13148
+ // "id": "clbhyhdn9019qwzpi6dzvqfci",
13149
+ // "name": "Mormugao",
13150
+ // "loCode": "INMRM",
13151
+ // "abcAlias": null,
13152
+ // "abcCode": "IN0090",
13153
+ // "abcLoCode": "INMRM",
13154
+ // "city": "Kolkata",
13155
+ // "cntLoCode": "IN",
13156
+ // "continent": "ASIA",
13157
+ // "country": "India",
13158
+ // "lat": 15.41249942779541,
13159
+ // "lng": 73.80166625976562,
13160
+ // "status": 1,
13161
+ // "timezone": {
13162
+ // "RawOffset": 5.5,
13163
+ // "TimezoneId": "Asia/Kolkata",
13164
+ // "DisplayName": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",
13165
+ // "UtcCurrentOffset": 5.5
13166
+ // },
13167
+ // "zoneId": "zy3f0b05"
13168
+ // },
13169
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13170
+ // "owner": {
13171
+ // "id": "cm0vw720z004wayoc8awvaug6",
13172
+ // "email": "monica@ormwx.com"
13173
+ // },
13174
+ // "createdAt": "2025-09-15T01:00:50.345Z",
13175
+ // "remark": null
13176
+ // },
13177
+ // {
13178
+ // "id": "cmfkf905108xf0mml26eb6uke",
13179
+ // "platId": "gd0mt1d",
13180
+ // "coordinate": null,
13181
+ // "vessel": null,
13182
+ // "port": {
13183
+ // "id": "clbhyj9w802z2wzpih82qku6a",
13184
+ // "name": "Diego Garcia",
13185
+ // "loCode": "IODGA",
13186
+ // "abcAlias": null,
13187
+ // "abcCode": "IO0002",
13188
+ // "abcLoCode": "IODGA",
13189
+ // "city": "Almaty",
13190
+ // "cntLoCode": "IO",
13191
+ // "continent": "ASIA",
13192
+ // "country": "British Indian Ocean Territory (the)",
13193
+ // "lat": -7.288332939147949,
13194
+ // "lng": 72.3949966430664,
13195
+ // "status": 1,
13196
+ // "timezone": {
13197
+ // "RawOffset": 6,
13198
+ // "TimezoneId": "Asia/Almaty",
13199
+ // "DisplayName": "(UTC+06:00) Astana",
13200
+ // "UtcCurrentOffset": 6
13201
+ // },
13202
+ // "zoneId": "zy3f0b05"
13203
+ // },
13204
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13205
+ // "owner": {
13206
+ // "id": "cm0vw720z004wayoc8awvaug6",
13207
+ // "email": "monica@ormwx.com"
13208
+ // },
13209
+ // "createdAt": "2025-09-15T01:04:42.998Z",
13210
+ // "remark": null
13211
+ // },
13212
+ // {
13213
+ // "id": "cmfkffoen0a500mpb83ks9naq",
13214
+ // "platId": "gd0mt1d",
13215
+ // "coordinate": null,
13216
+ // "vessel": null,
13217
+ // "port": {
13218
+ // "id": "clbhyhp6u01kiwzpi7pkd9ibw",
13219
+ // "name": "Port Louis",
13220
+ // "loCode": "MUPLU",
13221
+ // "abcAlias": null,
13222
+ // "abcCode": "MU0004",
13223
+ // "abcLoCode": "MUPLU",
13224
+ // "city": "Mauritius",
13225
+ // "cntLoCode": "MU",
13226
+ // "continent": "INDIAN",
13227
+ // "country": "Mauritius",
13228
+ // "lat": -20.15397071838379,
13229
+ // "lng": 57.4934196472168,
13230
+ // "status": 1,
13231
+ // "timezone": {
13232
+ // "RawOffset": 4,
13233
+ // "TimezoneId": "Indian/Mauritius",
13234
+ // "DisplayName": "(UTC+04:00) Port Louis",
13235
+ // "UtcCurrentOffset": 4
13236
+ // },
13237
+ // "zoneId": "zy3f0b05"
13238
+ // },
13239
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13240
+ // "owner": {
13241
+ // "id": "cm0vw720z004wayoc8awvaug6",
13242
+ // "email": "monica@ormwx.com"
13243
+ // },
13244
+ // "createdAt": "2025-09-15T01:09:54.385Z",
13245
+ // "remark": null
13246
+ // },
13247
+ // {
13248
+ // "id": "cmfkfsabx09lx0mmldli44j5v",
13249
+ // "platId": "gd0mt1d",
13250
+ // "coordinate": null,
13251
+ // "vessel": null,
13252
+ // "port": {
13253
+ // "id": "clbhyhwtq01ruwzpicgc3otck",
13254
+ // "name": "Saipan",
13255
+ // "loCode": "MPSPN",
13256
+ // "abcAlias": null,
13257
+ // "abcCode": "MP0009",
13258
+ // "abcLoCode": "MPSPN",
13259
+ // "city": "Port_Moresby",
13260
+ // "cntLoCode": "MP",
13261
+ // "continent": "PACIFIC",
13262
+ // "country": "Northern Mariana Islands (the)",
13263
+ // "lat": 15.28999996185303,
13264
+ // "lng": 145.7050018310547,
13265
+ // "status": 1,
13266
+ // "timezone": {
13267
+ // "RawOffset": 10,
13268
+ // "TimezoneId": "Pacific/Port_Moresby",
13269
+ // "DisplayName": "(UTC+10:00) Guam, Port Moresby",
13270
+ // "UtcCurrentOffset": 10
13271
+ // },
13272
+ // "zoneId": "0r3n0b5e"
13273
+ // },
13274
+ // "ownerId": "cm0vw720z004wayoc8awvaug6",
13275
+ // "owner": {
13276
+ // "id": "cm0vw720z004wayoc8awvaug6",
13277
+ // "email": "monica@ormwx.com"
13278
+ // },
13279
+ // "createdAt": "2025-09-15T01:19:42.671Z",
13280
+ // "remark": null
13281
+ // }
13282
+ // ]
13283
+ // },
12502
13284
  }
12503
13285
  },
12504
13286
  emits: ["meteoMore", "follow", "cancelFollow", "login"],
@@ -12658,7 +13440,7 @@ const um = {
12658
13440
  ((o = M(this.realTime)) == null ? void 0 : o.diff(t, "d", !0)) >= 0 ? await this.fetchForecastData(this.form) : await this.fetchHistoryData(this.form);
12659
13441
  },
12660
13442
  async fetchForecastData(t) {
12661
- this.loading = !0, this.showMeteo = !0, this.form.lng = t.lng, this.form.lat = t.lat, this.handleDrawInfoMarker([t.lng, t.lat]), this.meteoData = [];
13443
+ this.loading = !0, this.showMeteo = !0, this.form.lng = t.lng, this.form.lat = t.lat, this.form.followId = t.followId, this.handleDrawInfoMarker([t.lng, t.lat]), console.log(this.followList), this.meteoData = [];
12662
13444
  const { weatherModels: e, marineModels: o } = To.autoPickMeteoModel(t.forecastModel);
12663
13445
  let i = {
12664
13446
  lat: t.lat,
@@ -12679,7 +13461,7 @@ const um = {
12679
13461
  });
12680
13462
  },
12681
13463
  async fetchHistoryData(t) {
12682
- this.loading = !0, this.showMeteo = !0, this.form.lng = t.lng, this.form.lat = t.lat, this.handleDrawInfoMarker([t.lng, t.lat]), this.meteoData = [];
13464
+ this.loading = !0, this.showMeteo = !0, this.form.lng = t.lng, this.form.lat = t.lat, this.form.followId = t.followId, this.handleDrawInfoMarker([t.lng, t.lat]), this.meteoData = [];
12683
13465
  const { weatherModels: e, marineModels: o } = To.autoPickMeteoModel(t.forecastModel), i = {
12684
13466
  lat: t.lat,
12685
13467
  lng: t.lng,
@@ -12696,10 +13478,10 @@ const um = {
12696
13478
  (a == null ? void 0 : a.data.code) === 0 && (this.meteoData = a == null ? void 0 : a.data.data, this.meteoData.lng = t.lng, this.meteoData.lat = t.lat, this.initTableData(this.meteoData)), this.loading = !1;
12697
13479
  },
12698
13480
  initTableData(t) {
12699
- var o, i, a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be;
13481
+ var o, i, a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be;
12700
13482
  this.currentHourData = {}, this.positionGmt = (i = (o = t == null ? void 0 : t.weather) == null ? void 0 : o[0]) == null ? void 0 : i.timezone, this.positionOffset = (r = (a = t == null ? void 0 : t.weather) == null ? void 0 : a[0]) == null ? void 0 : r.offset;
12701
13483
  const e = ((l = To.pickHourly(t, M(this.form.dateTime))) == null ? void 0 : l[0]) || {};
12702
- this.currentHourData.utc = e.utc, this.currentHourData.lat = t.lat, this.currentHourData.lng = t.lng, this.currentHourData.temp = this.computeRoundPrecision((m = e == null ? void 0 : e.weather) == null ? void 0 : m.temp, 0) ?? "-", this.currentHourData.precipProbability = this.computeRoundPrecision((f = (c = e == null ? void 0 : e.weather) == null ? void 0 : c.precip) == null ? void 0 : f.probability, 0) ?? "-", this.currentHourData.precip1h = this.computeRoundPrecision((b = (d = e == null ? void 0 : e.weather) == null ? void 0 : d.precip) == null ? void 0 : b.sum, 0) ?? "-", this.currentHourData.visibility = this.computeRoundPrecision((x = e == null ? void 0 : e.weather) == null ? void 0 : x.visibility, 0) ?? "-", this.currentHourData.windSpeed = this.computeRoundPrecision((_ = (L = e == null ? void 0 : e.weather) == null ? void 0 : L.wind) == null ? void 0 : _.kts, 1) ?? "-", this.currentHourData.windDir = ((y = (P = e == null ? void 0 : e.weather) == null ? void 0 : P.wind) == null ? void 0 : y.direction) ?? "-", this.currentHourData.windLevel = this.computeRoundPrecision((D = (B = e == null ? void 0 : e.weather) == null ? void 0 : B.wind) == null ? void 0 : D.scale, 0) ?? "-", this.currentHourData.windGust = this.computeRoundPrecision((v = (T = e == null ? void 0 : e.weather) == null ? void 0 : T.wind) == null ? void 0 : v.gusts, 1) ?? "-", this.currentHourData.sigwaveHeight = this.computeRoundPrecision((C = (z = e == null ? void 0 : e.wave) == null ? void 0 : z.sig) == null ? void 0 : C.height, 1) ?? "-", this.currentHourData.sigwaveDir = (R = (k = e == null ? void 0 : e.wave) == null ? void 0 : k.sig) == null ? void 0 : R.direction, this.currentHourData.sigwavePeriod = this.computeRoundPrecision((V = (F = e == null ? void 0 : e.wave) == null ? void 0 : F.sig) == null ? void 0 : V.period, 1) ?? "-", this.currentHourData.windwaveHeight = this.computeRoundPrecision((Y = (X = e == null ? void 0 : e.wave) == null ? void 0 : X.wd) == null ? void 0 : Y.height, 1) ?? "-", this.currentHourData.windwaveDir = ($ = (Q = e == null ? void 0 : e.wave) == null ? void 0 : Q.wd) == null ? void 0 : $.direction, this.currentHourData.windwavePeriod = this.computeRoundPrecision((se = (J = e == null ? void 0 : e.wave) == null ? void 0 : J.wd) == null ? void 0 : se.period, 1) ?? "-", this.currentHourData.swellHeight = this.computeRoundPrecision((pe = (le = e == null ? void 0 : e.wave) == null ? void 0 : le.swell) == null ? void 0 : pe.height, 1) ?? "-", this.currentHourData.swellDir = (ce = (ie = e == null ? void 0 : e.wave) == null ? void 0 : ie.swell) == null ? void 0 : ce.direction, this.currentHourData.swellPeriod = this.computeRoundPrecision((me = (ue = e == null ? void 0 : e.wave) == null ? void 0 : ue.swell) == null ? void 0 : me.period, 1) ?? "-", this.currentHourData.currentSpeed = this.computeRoundPrecision((he = e == null ? void 0 : e.current) == null ? void 0 : he.speed, 1) ?? "-", this.currentHourData.currentDir = (O = e == null ? void 0 : e.current) == null ? void 0 : O.direction, this.currentHourData.currentSpeed = this.computeRoundPrecision((te = e == null ? void 0 : e.current) == null ? void 0 : te.speed, 1) ?? "-", this.currentHourData.seaLevel = this.computeRoundPrecision(e == null ? void 0 : e.height, 1) ?? "-", this.currentHourData.seaTemp = this.computeRoundPrecision(e == null ? void 0 : e.sst, 0) ?? "-", this.currentHourData.weatherUrls = (be = e == null ? void 0 : e.weather) == null ? void 0 : be.url;
13484
+ this.currentHourData.utc = e.utc, this.currentHourData.lat = t.lat, this.currentHourData.lng = t.lng, this.currentHourData.temp = this.computeRoundPrecision((m = e == null ? void 0 : e.weather) == null ? void 0 : m.temp, 0) ?? "-", this.currentHourData.precipProbability = this.computeRoundPrecision((f = (c = e == null ? void 0 : e.weather) == null ? void 0 : c.precip) == null ? void 0 : f.probability, 0) ?? "-", this.currentHourData.precip1h = this.computeRoundPrecision((b = (d = e == null ? void 0 : e.weather) == null ? void 0 : d.precip) == null ? void 0 : b.sum, 0) ?? "-", this.currentHourData.visibility = this.computeRoundPrecision((v = e == null ? void 0 : e.weather) == null ? void 0 : v.visibility, 0) ?? "-", this.currentHourData.windSpeed = this.computeRoundPrecision((k = (L = e == null ? void 0 : e.weather) == null ? void 0 : L.wind) == null ? void 0 : k.kts, 1) ?? "-", this.currentHourData.windDir = ((y = (P = e == null ? void 0 : e.weather) == null ? void 0 : P.wind) == null ? void 0 : y.direction) ?? "-", this.currentHourData.windLevel = this.computeRoundPrecision((D = (B = e == null ? void 0 : e.weather) == null ? void 0 : B.wind) == null ? void 0 : D.scale, 0) ?? "-", this.currentHourData.windGust = this.computeRoundPrecision((z = (T = e == null ? void 0 : e.weather) == null ? void 0 : T.wind) == null ? void 0 : z.gusts, 1) ?? "-", this.currentHourData.sigwaveHeight = this.computeRoundPrecision((C = (w = e == null ? void 0 : e.wave) == null ? void 0 : w.sig) == null ? void 0 : C.height, 1) ?? "-", this.currentHourData.sigwaveDir = (R = (_ = e == null ? void 0 : e.wave) == null ? void 0 : _.sig) == null ? void 0 : R.direction, this.currentHourData.sigwavePeriod = this.computeRoundPrecision((V = (F = e == null ? void 0 : e.wave) == null ? void 0 : F.sig) == null ? void 0 : V.period, 1) ?? "-", this.currentHourData.windwaveHeight = this.computeRoundPrecision((Y = (X = e == null ? void 0 : e.wave) == null ? void 0 : X.wd) == null ? void 0 : Y.height, 1) ?? "-", this.currentHourData.windwaveDir = ($ = (Q = e == null ? void 0 : e.wave) == null ? void 0 : Q.wd) == null ? void 0 : $.direction, this.currentHourData.windwavePeriod = this.computeRoundPrecision((se = (J = e == null ? void 0 : e.wave) == null ? void 0 : J.wd) == null ? void 0 : se.period, 1) ?? "-", this.currentHourData.swellHeight = this.computeRoundPrecision((pe = (le = e == null ? void 0 : e.wave) == null ? void 0 : le.swell) == null ? void 0 : pe.height, 1) ?? "-", this.currentHourData.swellDir = (ce = (ie = e == null ? void 0 : e.wave) == null ? void 0 : ie.swell) == null ? void 0 : ce.direction, this.currentHourData.swellPeriod = this.computeRoundPrecision((me = (ue = e == null ? void 0 : e.wave) == null ? void 0 : ue.swell) == null ? void 0 : me.period, 1) ?? "-", this.currentHourData.currentSpeed = this.computeRoundPrecision((he = e == null ? void 0 : e.current) == null ? void 0 : he.speed, 1) ?? "-", this.currentHourData.currentDir = (O = e == null ? void 0 : e.current) == null ? void 0 : O.direction, this.currentHourData.currentSpeed = this.computeRoundPrecision((te = e == null ? void 0 : e.current) == null ? void 0 : te.speed, 1) ?? "-", this.currentHourData.seaLevel = this.computeRoundPrecision(e == null ? void 0 : e.height, 1) ?? "-", this.currentHourData.seaTemp = this.computeRoundPrecision(e == null ? void 0 : e.sst, 0) ?? "-", this.currentHourData.weatherUrls = (be = e == null ? void 0 : e.weather) == null ? void 0 : be.url;
12703
13485
  },
12704
13486
  handleBind() {
12705
13487
  var t, e;
@@ -12750,11 +13532,11 @@ const um = {
12750
13532
  this.$emit("follow", this.form);
12751
13533
  },
12752
13534
  handleCancelFollow() {
12753
- var e;
12754
- const t = (e = this.followList.find((o) => {
12755
- var i, a;
12756
- return ((i = o.coordinate) == null ? void 0 : i.lng) === this.form.lng && ((a = o.coordinate) == null ? void 0 : a.lat) === this.form.lat;
12757
- })) == null ? void 0 : e.id;
13535
+ var e, o, i;
13536
+ const t = ((e = this.form) == null ? void 0 : e.followId) || ((i = (o = this.followList) == null ? void 0 : o.find((a) => {
13537
+ var r, l;
13538
+ return (a == null ? void 0 : a.id) === this.form.followId || ((r = a == null ? void 0 : a.coordinate) == null ? void 0 : r.lng) === this.form.lng && ((l = a == null ? void 0 : a.coordinate) == null ? void 0 : l.lat) === this.form.lat;
13539
+ })) == null ? void 0 : i.id);
12758
13540
  this.$emit("cancelFollow", t);
12759
13541
  }
12760
13542
  }
@@ -12818,7 +13600,7 @@ const um = {
12818
13600
  "aria-hidden": "true"
12819
13601
  }, bh = ["xlink:href"];
12820
13602
  function wh(t, e, o, i, a, r) {
12821
- const l = w("VBtn"), m = w("VTooltip"), c = w("VCardTitle"), f = w("VDivider"), d = w("VTextField"), b = w("VCol"), x = w("VRow"), L = w("DateTimePicker"), _ = w("VBtnToggle"), P = w("VCardText"), y = w("VCardActions"), B = w("VForm"), D = w("VCard"), T = w("VIcon");
13603
+ const l = x("VBtn"), m = x("VTooltip"), c = x("VCardTitle"), f = x("VDivider"), d = x("VTextField"), b = x("VCol"), v = x("VRow"), L = x("DateTimePicker"), k = x("VBtnToggle"), P = x("VCardText"), y = x("VCardActions"), B = x("VForm"), D = x("VCard"), T = x("VIcon");
12822
13604
  return g(), S("div", gm, [
12823
13605
  s("div", {
12824
13606
  class: "menu-bar-box transition pa-1",
@@ -12828,8 +13610,8 @@ function wh(t, e, o, i, a, r) {
12828
13610
  text: t.$t("spot.spotsMeteo"),
12829
13611
  location: "left"
12830
13612
  }, {
12831
- activator: u(({ props: v }) => [
12832
- p(l, j(v, {
13613
+ activator: u(({ props: z }) => [
13614
+ p(l, j(z, {
12833
13615
  "min-width": "32",
12834
13616
  width: "32",
12835
13617
  height: "32",
@@ -12891,7 +13673,7 @@ function wh(t, e, o, i, a, r) {
12891
13673
  ])),
12892
13674
  s("div", null, n(t.$t("spot.lng")), 1)
12893
13675
  ]),
12894
- p(x, { class: "ma-0" }, {
13676
+ p(v, { class: "ma-0" }, {
12895
13677
  default: u(() => [
12896
13678
  p(b, {
12897
13679
  cols: "4",
@@ -12900,7 +13682,7 @@ function wh(t, e, o, i, a, r) {
12900
13682
  default: u(() => [
12901
13683
  p(d, {
12902
13684
  modelValue: a.form.lngDegree,
12903
- "onUpdate:modelValue": e[0] || (e[0] = (v) => a.form.lngDegree = v),
13685
+ "onUpdate:modelValue": e[0] || (e[0] = (z) => a.form.lngDegree = z),
12904
13686
  rules: a.formRules.lngDegree,
12905
13687
  density: "compact",
12906
13688
  variant: "outlined",
@@ -12920,7 +13702,7 @@ function wh(t, e, o, i, a, r) {
12920
13702
  default: u(() => [
12921
13703
  p(d, {
12922
13704
  modelValue: a.form.lngMinute,
12923
- "onUpdate:modelValue": e[1] || (e[1] = (v) => a.form.lngMinute = v),
13705
+ "onUpdate:modelValue": e[1] || (e[1] = (z) => a.form.lngMinute = z),
12924
13706
  rules: a.formRules.lngMinute,
12925
13707
  label: "",
12926
13708
  density: "compact",
@@ -12947,7 +13729,7 @@ function wh(t, e, o, i, a, r) {
12947
13729
  height: "32",
12948
13730
  class: "text-body-1 btn-bg-1",
12949
13731
  style: { border: "1px solid rgba(var(--v-theme-on-surface), 0.38)" },
12950
- onClick: e[2] || (e[2] = (v) => a.form.lngDirection = a.form.lngDirection === "E" ? "W" : "E")
13732
+ onClick: e[2] || (e[2] = (z) => a.form.lngDirection = a.form.lngDirection === "E" ? "W" : "E")
12951
13733
  }, {
12952
13734
  default: u(() => [
12953
13735
  K(n(a.form.lngDirection), 1)
@@ -12968,7 +13750,7 @@ function wh(t, e, o, i, a, r) {
12968
13750
  ])),
12969
13751
  s("div", null, n(t.$t("spot.lat")), 1)
12970
13752
  ]),
12971
- p(x, { class: "ma-0" }, {
13753
+ p(v, { class: "ma-0" }, {
12972
13754
  default: u(() => [
12973
13755
  p(b, {
12974
13756
  cols: "4",
@@ -12977,7 +13759,7 @@ function wh(t, e, o, i, a, r) {
12977
13759
  default: u(() => [
12978
13760
  p(d, {
12979
13761
  modelValue: a.form.latDegree,
12980
- "onUpdate:modelValue": e[3] || (e[3] = (v) => a.form.latDegree = v),
13762
+ "onUpdate:modelValue": e[3] || (e[3] = (z) => a.form.latDegree = z),
12981
13763
  rules: a.formRules.latDegree,
12982
13764
  label: "",
12983
13765
  density: "compact",
@@ -13000,7 +13782,7 @@ function wh(t, e, o, i, a, r) {
13000
13782
  default: u(() => [
13001
13783
  p(d, {
13002
13784
  modelValue: a.form.latMinute,
13003
- "onUpdate:modelValue": e[4] || (e[4] = (v) => a.form.latMinute = v),
13785
+ "onUpdate:modelValue": e[4] || (e[4] = (z) => a.form.latMinute = z),
13004
13786
  rules: a.formRules.latMinute,
13005
13787
  label: "",
13006
13788
  density: "compact",
@@ -13027,7 +13809,7 @@ function wh(t, e, o, i, a, r) {
13027
13809
  height: "32",
13028
13810
  class: "text-body-1 btn-bg-1",
13029
13811
  style: { border: "1px solid rgba(var(--v-theme-on-surface), 0.38)" },
13030
- onClick: e[5] || (e[5] = (v) => a.form.latDirection = a.form.latDirection === "N" ? "S" : "N")
13812
+ onClick: e[5] || (e[5] = (z) => a.form.latDirection = a.form.latDirection === "N" ? "S" : "N")
13031
13813
  }, {
13032
13814
  default: u(() => [
13033
13815
  K(n(a.form.latDirection), 1)
@@ -13048,7 +13830,7 @@ function wh(t, e, o, i, a, r) {
13048
13830
  ])),
13049
13831
  s("div", null, n(t.$t("spot.dateTime")), 1)
13050
13832
  ]),
13051
- p(x, { class: "ma-0 mb-4" }, {
13833
+ p(v, { class: "ma-0 mb-4" }, {
13052
13834
  default: u(() => [
13053
13835
  p(b, {
13054
13836
  cols: "12",
@@ -13059,7 +13841,7 @@ function wh(t, e, o, i, a, r) {
13059
13841
  "date-time": a.form.dateTime,
13060
13842
  "time-zone": o.timeZone
13061
13843
  }, t.$attrs, {
13062
- onDateTime: e[6] || (e[6] = (v) => a.form.dateTime = v)
13844
+ onDateTime: e[6] || (e[6] = (z) => a.form.dateTime = z)
13063
13845
  }), null, 16, ["date-time", "time-zone"])
13064
13846
  ]),
13065
13847
  _: 1
@@ -13075,16 +13857,16 @@ function wh(t, e, o, i, a, r) {
13075
13857
  ])),
13076
13858
  s("div", null, n(t.$t("weather.forecastModel")), 1)
13077
13859
  ]),
13078
- p(x, { class: "ma-0 mb-2" }, {
13860
+ p(v, { class: "ma-0 mb-2" }, {
13079
13861
  default: u(() => [
13080
13862
  p(b, {
13081
13863
  cols: "12",
13082
13864
  class: "pa-0"
13083
13865
  }, {
13084
13866
  default: u(() => [
13085
- p(_, {
13867
+ p(k, {
13086
13868
  modelValue: a.form.forecastModel,
13087
- "onUpdate:modelValue": e[7] || (e[7] = (v) => a.form.forecastModel = v),
13869
+ "onUpdate:modelValue": e[7] || (e[7] = (z) => a.form.forecastModel = z),
13088
13870
  class: "w-100",
13089
13871
  rounded: "",
13090
13872
  height: "30",
@@ -13201,18 +13983,18 @@ function wh(t, e, o, i, a, r) {
13201
13983
  p(f),
13202
13984
  p(P, { class: "text-body-1 px-0 py-1" }, {
13203
13985
  default: u(() => {
13204
- var v, z;
13986
+ var z, w;
13205
13987
  return [
13206
13988
  s("div", Im, [
13207
13989
  s("div", Rm, n(t.$t("time.time")), 1),
13208
- s("div", Am, n(r.computedTzTime((v = a.currentHourData) == null ? void 0 : v.utc)), 1)
13990
+ s("div", Am, n(r.computedTzTime((z = a.currentHourData) == null ? void 0 : z.utc)), 1)
13209
13991
  ]),
13210
13992
  s("div", Om, [
13211
13993
  e[18] || (e[18] = s("div", {
13212
13994
  style: { width: "100px" },
13213
13995
  class: "pa-0 pr-2 text-right opacity-50"
13214
13996
  }, "LT", -1)),
13215
- s("div", Bm, n(r.computedLocalTime((z = a.currentHourData) == null ? void 0 : z.utc)), 1)
13997
+ s("div", Bm, n(r.computedLocalTime((w = a.currentHourData) == null ? void 0 : w.utc)), 1)
13216
13998
  ]),
13217
13999
  s("div", jm, [
13218
14000
  s("div", Em, n(t.$t("weather.wind")), 1),
@@ -13238,62 +14020,65 @@ function wh(t, e, o, i, a, r) {
13238
14020
  }),
13239
14021
  p(f),
13240
14022
  p(y, { class: "d-flex justify-space-between align-center" }, {
13241
- default: u(() => [
13242
- o.followList.some((v) => {
13243
- var z, C;
13244
- return ((z = v == null ? void 0 : v.coordinate) == null ? void 0 : z.lng) === a.form.lng && ((C = v == null ? void 0 : v.coordinate) == null ? void 0 : C.lat) === a.form.lat;
13245
- }) ? (g(), A(l, {
13246
- key: 0,
13247
- class: "text-none text-body-1",
13248
- id: "idm-gl4-spot-meteo-follow",
13249
- variant: "text",
13250
- density: "compact",
13251
- height: "32",
13252
- "prepend-icon": "mdi-star",
13253
- onClick: Se(r.handleCancelFollow, ["stop"])
13254
- }, {
13255
- prepend: u(() => [
13256
- p(T, {
13257
- color: "warning",
13258
- style: { "font-size": "20px", "margin-top": "-2px" }
13259
- })
13260
- ]),
13261
- default: u(() => [
13262
- K(" " + n(t.$t("actions.unfollow")), 1)
13263
- ]),
13264
- _: 1
13265
- }, 8, ["onClick"])) : (g(), A(l, {
13266
- key: 1,
13267
- id: "idm-gl4-spot-meteo-unfollow",
13268
- class: "text-none text-body-1",
13269
- variant: "text",
13270
- density: "compact",
13271
- height: "32",
13272
- "prepend-icon": "mdi-star-outline",
13273
- onClick: Se(r.handleFollow, ["stop"])
13274
- }, {
13275
- prepend: u(() => [
13276
- p(T, { style: { "font-size": "20px", "margin-top": "-2px" } })
13277
- ]),
13278
- default: u(() => [
13279
- K(n(t.$t("actions.follow")) + " ", 1)
13280
- ]),
13281
- _: 1
13282
- }, 8, ["onClick"])),
13283
- p(l, {
13284
- height: "32",
13285
- variant: "text",
13286
- density: "compact",
13287
- "append-icon": "mdi-chevron-right",
13288
- class: "text-none text-body-1",
13289
- onClick: Se(r.handleMeteoMore, ["stop"])
13290
- }, {
13291
- default: u(() => [
13292
- K(n(t.$t("spot.forecast")), 1)
13293
- ]),
13294
- _: 1
13295
- }, 8, ["onClick"])
13296
- ]),
14023
+ default: u(() => {
14024
+ var z;
14025
+ return [
14026
+ (z = o.followList) != null && z.some((w) => {
14027
+ var C, _;
14028
+ return (w == null ? void 0 : w.id) === a.form.followId || ((C = w == null ? void 0 : w.coordinate) == null ? void 0 : C.lng) === a.form.lng && ((_ = w == null ? void 0 : w.coordinate) == null ? void 0 : _.lat) === a.form.lat;
14029
+ }) ? (g(), A(l, {
14030
+ key: 0,
14031
+ class: "text-none text-body-1",
14032
+ id: "idm-gl4-spot-meteo-follow",
14033
+ variant: "text",
14034
+ density: "compact",
14035
+ height: "32",
14036
+ "prepend-icon": "mdi-star",
14037
+ onClick: Se(r.handleCancelFollow, ["stop"])
14038
+ }, {
14039
+ prepend: u(() => [
14040
+ p(T, {
14041
+ color: "warning",
14042
+ style: { "font-size": "20px", "margin-top": "-2px" }
14043
+ })
14044
+ ]),
14045
+ default: u(() => [
14046
+ K(" " + n(t.$t("actions.unfollow")), 1)
14047
+ ]),
14048
+ _: 1
14049
+ }, 8, ["onClick"])) : (g(), A(l, {
14050
+ key: 1,
14051
+ id: "idm-gl4-spot-meteo-unfollow",
14052
+ class: "text-none text-body-1",
14053
+ variant: "text",
14054
+ density: "compact",
14055
+ height: "32",
14056
+ "prepend-icon": "mdi-star-outline",
14057
+ onClick: Se(r.handleFollow, ["stop"])
14058
+ }, {
14059
+ prepend: u(() => [
14060
+ p(T, { style: { "font-size": "20px", "margin-top": "-2px" } })
14061
+ ]),
14062
+ default: u(() => [
14063
+ K(n(t.$t("actions.follow")) + " ", 1)
14064
+ ]),
14065
+ _: 1
14066
+ }, 8, ["onClick"])),
14067
+ p(l, {
14068
+ height: "32",
14069
+ variant: "text",
14070
+ density: "compact",
14071
+ "append-icon": "mdi-chevron-right",
14072
+ class: "text-none text-body-1",
14073
+ onClick: Se(r.handleMeteoMore, ["stop"])
14074
+ }, {
14075
+ default: u(() => [
14076
+ K(n(t.$t("spot.forecast")), 1)
14077
+ ]),
14078
+ _: 1
14079
+ }, 8, ["onClick"])
14080
+ ];
14081
+ }),
13297
14082
  _: 1
13298
14083
  })
13299
14084
  ]),
@@ -13306,87 +14091,90 @@ function wh(t, e, o, i, a, r) {
13306
14091
  }, {
13307
14092
  default: u(() => [
13308
14093
  p(c, null, {
13309
- default: u(() => [
13310
- s("div", Qm, [
13311
- s("div", $m, [
13312
- e[19] || (e[19] = s("i", { class: "iconfont icon-a-Spotweather text-h5 map-icon-aqua" }, null, -1)),
13313
- s("div", eh, n(r.computePosition(a.form || a.currentHourData)), 1)
14094
+ default: u(() => {
14095
+ var z;
14096
+ return [
14097
+ s("div", Qm, [
14098
+ s("div", $m, [
14099
+ e[19] || (e[19] = s("i", { class: "iconfont icon-a-Spotweather text-h5 map-icon-aqua" }, null, -1)),
14100
+ s("div", eh, n(r.computePosition(a.form || a.currentHourData)), 1)
14101
+ ]),
14102
+ s("div", th, [
14103
+ (z = o.followList) != null && z.some((w) => {
14104
+ var C, _;
14105
+ return (w == null ? void 0 : w.id) === a.form.followId || ((C = w == null ? void 0 : w.coordinate) == null ? void 0 : C.lng) === a.form.lng && ((_ = w == null ? void 0 : w.coordinate) == null ? void 0 : _.lat) === a.form.lat;
14106
+ }) ? (g(), A(l, {
14107
+ key: 0,
14108
+ class: "text-none text-body-1 rounded-circle",
14109
+ variant: "text",
14110
+ density: "compact",
14111
+ height: "32",
14112
+ width: "28",
14113
+ "min-width": "28",
14114
+ onClick: Se(r.handleCancelFollow, ["stop"])
14115
+ }, {
14116
+ default: u(() => [
14117
+ p(T, {
14118
+ icon: "mdi-star",
14119
+ color: "warning",
14120
+ size: "20"
14121
+ })
14122
+ ]),
14123
+ _: 1
14124
+ }, 8, ["onClick"])) : (g(), A(l, {
14125
+ key: 1,
14126
+ class: "text-none text-body-1 rounded-circle",
14127
+ variant: "text",
14128
+ density: "compact",
14129
+ height: "32",
14130
+ width: "28",
14131
+ "min-width": "28",
14132
+ onClick: Se(r.handleFollow, ["stop"])
14133
+ }, {
14134
+ default: u(() => [
14135
+ p(T, {
14136
+ icon: "mdi-star-outline",
14137
+ size: "20"
14138
+ })
14139
+ ]),
14140
+ _: 1
14141
+ }, 8, ["onClick"])),
14142
+ p(l, {
14143
+ class: "mr-n2",
14144
+ density: "comfortable",
14145
+ icon: "",
14146
+ variant: "plain",
14147
+ onClick: Se(r.handleCloseMeteo, ["stop"])
14148
+ }, {
14149
+ default: u(() => e[20] || (e[20] = [
14150
+ s("i", { class: "iconfont icon-close text-label text-h4" }, null, -1)
14151
+ ])),
14152
+ _: 1,
14153
+ __: [20]
14154
+ }, 8, ["onClick"])
14155
+ ])
13314
14156
  ]),
13315
- s("div", th, [
13316
- o.followList.some((v) => {
13317
- var z, C;
13318
- return ((z = v == null ? void 0 : v.coordinate) == null ? void 0 : z.lng) === a.form.lng && ((C = v == null ? void 0 : v.coordinate) == null ? void 0 : C.lat) === a.form.lat;
13319
- }) ? (g(), A(l, {
13320
- key: 0,
13321
- class: "text-none text-body-1 rounded-circle",
13322
- variant: "text",
13323
- density: "compact",
13324
- height: "32",
13325
- width: "28",
13326
- "min-width": "28",
13327
- onClick: Se(r.handleCancelFollow, ["stop"])
13328
- }, {
13329
- default: u(() => [
13330
- p(T, {
13331
- icon: "mdi-star",
13332
- color: "warning",
13333
- size: "20"
13334
- })
13335
- ]),
13336
- _: 1
13337
- }, 8, ["onClick"])) : (g(), A(l, {
13338
- key: 1,
13339
- class: "text-none text-body-1 rounded-circle",
13340
- variant: "text",
13341
- density: "compact",
13342
- height: "32",
13343
- width: "28",
13344
- "min-width": "28",
13345
- onClick: Se(r.handleFollow, ["stop"])
13346
- }, {
13347
- default: u(() => [
13348
- p(T, {
13349
- icon: "mdi-star-outline",
13350
- size: "20"
13351
- })
13352
- ]),
13353
- _: 1
13354
- }, 8, ["onClick"])),
13355
- p(l, {
13356
- class: "mr-n2",
13357
- density: "comfortable",
13358
- icon: "",
13359
- variant: "plain",
13360
- onClick: Se(r.handleCloseMeteo, ["stop"])
13361
- }, {
13362
- default: u(() => e[20] || (e[20] = [
13363
- s("i", { class: "iconfont icon-close text-label text-h4" }, null, -1)
13364
- ])),
13365
- _: 1,
13366
- __: [20]
13367
- }, 8, ["onClick"])
13368
- ])
13369
- ]),
13370
- e[21] || (e[21] = s("div", { class: "px-5 py-1 text-label text-body-1" }, "Spot Weather", -1))
13371
- ]),
14157
+ e[21] || (e[21] = s("div", { class: "px-5 py-1 text-label text-body-1" }, "Spot Weather", -1))
14158
+ ];
14159
+ }),
13372
14160
  _: 1,
13373
14161
  __: [21]
13374
14162
  }),
13375
14163
  p(f),
13376
14164
  p(P, { class: "text-body-1 px-0 py-2" }, {
13377
14165
  default: u(() => {
13378
- var v, z;
14166
+ var z, w;
13379
14167
  return [
13380
14168
  s("div", oh, [
13381
14169
  s("div", ah, n(t.$t("time.time")), 1),
13382
- s("div", ih, n(r.computedTzTime((v = a.currentHourData) == null ? void 0 : v.utc)), 1)
14170
+ s("div", ih, n(r.computedTzTime((z = a.currentHourData) == null ? void 0 : z.utc)), 1)
13383
14171
  ]),
13384
14172
  s("div", rh, [
13385
14173
  e[22] || (e[22] = s("div", {
13386
14174
  style: { width: "60px" },
13387
14175
  class: "pa-0 pr-2 text-right opacity-50"
13388
14176
  }, "LT", -1)),
13389
- s("div", sh, n(r.computedLocalTime((z = a.currentHourData) == null ? void 0 : z.utc)), 1)
14177
+ s("div", sh, n(r.computedLocalTime((w = a.currentHourData) == null ? void 0 : w.utc)), 1)
13390
14178
  ]),
13391
14179
  s("div", lh, [
13392
14180
  s("div", nh, [
@@ -13538,24 +14326,24 @@ const vh = {
13538
14326
  var o, i, a, r, l, m, c, f, d, b;
13539
14327
  const e = (i = (o = t.target) == null ? void 0 : o._element) == null ? void 0 : i.id;
13540
14328
  if ((e == null ? void 0 : e.split("-").length) === 2) {
13541
- const x = this.geojson.filter((y) => y.id === e.split("-")[0])[0];
13542
- this.pointMarkers[x.id].filter((y) => {
14329
+ const v = this.geojson.filter((y) => y.id === e.split("-")[0])[0];
14330
+ this.pointMarkers[v.id].filter((y) => {
13543
14331
  var B;
13544
14332
  return ((B = y._element) == null ? void 0 : B.id) === e;
13545
14333
  })[0].setLngLat([(r = (a = t.target) == null ? void 0 : a._lngLat) == null ? void 0 : r.lng, (m = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : m.lat]);
13546
- let _;
13547
- x.features.forEach((y, B) => {
14334
+ let k;
14335
+ v.features.forEach((y, B) => {
13548
14336
  if (y.geometry.type === "Point" && y.properties.id === e.split("-")[1]) {
13549
- _ = B;
14337
+ k = B;
13550
14338
  return;
13551
14339
  }
13552
14340
  });
13553
- const P = x.features.filter((y) => y.geometry.type === "Point");
14341
+ const P = v.features.filter((y) => y.geometry.type === "Point");
13554
14342
  this.handleTmpPointUpdate(
13555
- x,
13556
- P[_ - 1],
13557
- { lng: (f = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : f.lng, lat: (b = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : b.lat, properties: P[_].properties },
13558
- _ === P.length - 1 ? void 0 : P[_ + 1]
14343
+ v,
14344
+ P[k - 1],
14345
+ { lng: (f = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : f.lng, lat: (b = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : b.lat, properties: P[k].properties },
14346
+ k === P.length - 1 ? void 0 : P[k + 1]
13559
14347
  );
13560
14348
  }
13561
14349
  },
@@ -13563,13 +14351,13 @@ const vh = {
13563
14351
  var o, i, a, r, l, m, c, f, d, b;
13564
14352
  const e = (i = (o = t.target) == null ? void 0 : o._element) == null ? void 0 : i.id;
13565
14353
  if ((e == null ? void 0 : e.split("-").length) === 2) {
13566
- const x = this.geojson.filter((P) => P.id === e.split("-")[0])[0];
13567
- this.pointMarkers[x.id].filter((P) => {
14354
+ const v = this.geojson.filter((P) => P.id === e.split("-")[0])[0];
14355
+ this.pointMarkers[v.id].filter((P) => {
13568
14356
  var y;
13569
14357
  return ((y = P._element) == null ? void 0 : y.id) === e;
13570
14358
  })[0].setLngLat([(r = (a = t.target) == null ? void 0 : a._lngLat) == null ? void 0 : r.lng, (m = (l = t.target) == null ? void 0 : l._lngLat) == null ? void 0 : m.lat]);
13571
- const _ = x.features.filter((P) => P.geometry.type === "Point" && P.properties.id === e.split("-")[1])[0];
13572
- _.geometry.coordinates = [(f = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : f.lng, (b = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : b.lat], x.features = x.features.filter((P) => P.geometry.type === "Point"), this.handlePointUpdate(x);
14359
+ const k = v.features.filter((P) => P.geometry.type === "Point" && P.properties.id === e.split("-")[1])[0];
14360
+ k.geometry.coordinates = [(f = (c = t.target) == null ? void 0 : c._lngLat) == null ? void 0 : f.lng, (b = (d = t.target) == null ? void 0 : d._lngLat) == null ? void 0 : b.lat], v.features = v.features.filter((P) => P.geometry.type === "Point"), this.handlePointUpdate(v);
13573
14361
  }
13574
14362
  },
13575
14363
  handleContextmenu(t) {
@@ -13619,12 +14407,12 @@ const vh = {
13619
14407
  for (let a = 1; a < e.length; a++) {
13620
14408
  const r = e[a - 1], l = e[a], m = r.properties, c = { lng: r.geometry.coordinates[0], lat: r.geometry.coordinates[1] }, f = { lng: l.geometry.coordinates[0], lat: l.geometry.coordinates[1] }, d = Ve.calculateDistance(c, f, m.mode === "RL", 4), b = Ve.calculateBearing(c, f, m.mode === "RL", 2);
13621
14409
  o = q.roundPrecision(o + d, 4);
13622
- let x;
13623
- m.mode === "RL" ? x = q.convertToMonotonicLng([c, f]) : x = q.convertToMonotonicLng(Ve.interpolateCoordinates(c, f, 200));
13624
- const L = G.lineString(x.map((P) => [P.lng, P.lat]));
14410
+ let v;
14411
+ m.mode === "RL" ? v = q.convertToMonotonicLng([c, f]) : v = q.convertToMonotonicLng(Ve.interpolateCoordinates(c, f, 200));
14412
+ const L = G.lineString(v.map((P) => [P.lng, P.lat]));
13625
14413
  L.properties.dist = d, L.properties.bearing = b, L.properties.total = o, L.properties.name = "Line " + this.currentLineIndex, i.push(L);
13626
- const _ = e[a];
13627
- _.properties.totalDist = q.roundPrecision((m.totalDist ? m.totalDist : 0) + d, 4), _.properties.sumLabel = _.properties.totalDist + " nm";
14414
+ const k = e[a];
14415
+ k.properties.totalDist = q.roundPrecision((m.totalDist ? m.totalDist : 0) + d, 4), k.properties.sumLabel = k.properties.totalDist + " nm";
13628
14416
  }
13629
14417
  e.push(...i), t.total = o;
13630
14418
  }
@@ -13638,16 +14426,16 @@ const vh = {
13638
14426
  r = Ve.calculateDistance(f, d, c.mode === "RL", 4), l = Ve.calculateBearing(f, d, c.mode === "RL", 2);
13639
14427
  let b;
13640
14428
  c.mode === "RL" ? b = q.convertToMonotonicLng([f, d]) : b = q.convertToMonotonicLng(Ve.interpolateCoordinates(f, d, 200));
13641
- const x = G.lineString(b.map((L) => [L.lng, L.lat]));
13642
- x.properties.dist = r, x.properties.bearing = l, a.features.push(x);
14429
+ const v = G.lineString(b.map((L) => [L.lng, L.lat]));
14430
+ v.properties.dist = r, v.properties.bearing = l, a.features.push(v);
13643
14431
  }
13644
14432
  if (i) {
13645
14433
  const c = o.properties, f = o, d = { lng: i.geometry.coordinates[0], lat: i.geometry.coordinates[1] };
13646
14434
  r = Ve.calculateDistance(f, d, c.mode === "RL", 4), l = Ve.calculateBearing(f, d, c.mode === "RL", 2);
13647
14435
  let b;
13648
14436
  c.mode === "RL" ? b = q.convertToMonotonicLng([f, d]) : b = q.convertToMonotonicLng(Ve.interpolateCoordinates(f, d, 200));
13649
- const x = G.lineString(b.map((L) => [L.lng, L.lat]));
13650
- x.properties.dist = r, x.properties.bearing = l, a.features.push(x);
14437
+ const v = G.lineString(b.map((L) => [L.lng, L.lat]));
14438
+ v.properties.dist = r, v.properties.bearing = l, a.features.push(v);
13651
14439
  }
13652
14440
  this.map.getSource(this.tmpSource) ? this.map.getSource(this.tmpSource).setData(a) : this.map.addSource(this.tmpSource, {
13653
14441
  type: "geojson",
@@ -13788,16 +14576,16 @@ const vh = {
13788
14576
  }
13789
14577
  },
13790
14578
  handleClear(t, e = !0) {
13791
- var l, m, c, f, d, b, x, L, _, P;
14579
+ var l, m, c, f, d, b, v, L, k, P;
13792
14580
  const o = `${t.id}-${this.source}`, i = `${t.id}-${this.layer}`, a = `${t.id}-${this.labelLayer}`, r = `${t.id}-${this.sumLayer}`;
13793
- (l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (m = this.map) != null && m.getLayer(a) && this.map.removeLayer(a), (c = this.map) != null && c.getLayer(r) && this.map.removeLayer(r), (f = this.map) != null && f.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (d = this.map) != null && d.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (b = this.closeMarkers[t.id]) == null || b.remove(), this.closeMarkers[t.id] = void 0, (x = this.pointMarkers[t.id]) == null || x.forEach((y) => {
14581
+ (l = this.map) != null && l.getLayer(i) && this.map.removeLayer(i), (m = this.map) != null && m.getLayer(a) && this.map.removeLayer(a), (c = this.map) != null && c.getLayer(r) && this.map.removeLayer(r), (f = this.map) != null && f.getLayer(this.tmpLayer) && this.map.removeLayer(this.tmpLayer), (d = this.map) != null && d.getLayer(this.tmpLabelLayer) && this.map.removeLayer(this.tmpLabelLayer), (b = this.closeMarkers[t.id]) == null || b.remove(), this.closeMarkers[t.id] = void 0, (v = this.pointMarkers[t.id]) == null || v.forEach((y) => {
13794
14582
  y == null || y.remove();
13795
- }), this.pointMarkers[t.id] = [], (L = this.tipMarker) == null || L.remove(), this.tipMarker = void 0, e && ((_ = this.map) != null && _.getSource(o)) && this.map.removeSource(o), e && ((P = this.map) != null && P.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
14583
+ }), this.pointMarkers[t.id] = [], (L = this.tipMarker) == null || L.remove(), this.tipMarker = void 0, e && ((k = this.map) != null && k.getSource(o)) && this.map.removeSource(o), e && ((P = this.map) != null && P.getSource(this.tmpSource)) && this.map.removeSource(this.tmpSource);
13796
14584
  }
13797
14585
  }
13798
14586
  }, _h = { class: "idm-gl4-measure" };
13799
14587
  function kh(t, e, o, i, a, r) {
13800
- const l = w("VBtn"), m = w("VTooltip");
14588
+ const l = x("VBtn"), m = x("VTooltip");
13801
14589
  return g(), S("div", _h, [
13802
14590
  s("div", {
13803
14591
  class: "menu-bar-box transition pa-1",
@@ -13958,7 +14746,7 @@ const Lh = {
13958
14746
  class: "list d-flex flex-wrap pa-2 rounded ga-2"
13959
14747
  }, Ih = ["onClick"], Rh = { class: "btn-box d-flex justify-start align-center rounded ga-2 py-1 px-3" }, Ah = { class: "text-body-1" };
13960
14748
  function Oh(t, e, o, i, a, r) {
13961
- const l = w("DateTimePicker"), m = w("VListItemTitle"), c = w("VListItem"), f = w("VList"), d = w("VMenu"), b = w("VBtn"), x = w("VDivider"), L = w("VTooltip");
14749
+ const l = x("DateTimePicker"), m = x("VListItemTitle"), c = x("VListItem"), f = x("VList"), d = x("VMenu"), b = x("VBtn"), v = x("VDivider"), L = x("VTooltip");
13962
14750
  return g(), S("div", Ph, [
13963
14751
  s("div", {
13964
14752
  class: "timeline-box px-2 d-flex justify-start align-center rounded",
@@ -13972,10 +14760,10 @@ function Oh(t, e, o, i, a, r) {
13972
14760
  "day-about": a.dayAbout,
13973
14761
  "interval-hour": a.intervalHour
13974
14762
  }, t.$attrs, {
13975
- onCurrentTimestamp: e[0] || (e[0] = (_) => a.currentTimestamp = _),
13976
- onCurrentRealTime: e[1] || (e[1] = (_) => a.currentRealTime = _),
13977
- onMinTimestamp: e[2] || (e[2] = (_) => a.minTimestamp = _),
13978
- onMaxTimestamp: e[3] || (e[3] = (_) => a.maxTimestamp = _)
14763
+ onCurrentTimestamp: e[0] || (e[0] = (k) => a.currentTimestamp = k),
14764
+ onCurrentRealTime: e[1] || (e[1] = (k) => a.currentRealTime = k),
14765
+ onMinTimestamp: e[2] || (e[2] = (k) => a.minTimestamp = k),
14766
+ onMaxTimestamp: e[3] || (e[3] = (k) => a.maxTimestamp = k)
13979
14767
  }), null, 16, ["date-time", "time-zone", "day-about", "interval-hour"]),
13980
14768
  p(b, {
13981
14769
  text: "",
@@ -13989,13 +14777,13 @@ function Oh(t, e, o, i, a, r) {
13989
14777
  default: u(() => [
13990
14778
  p(f, { class: "pa-1" }, {
13991
14779
  default: u(() => [
13992
- (g(!0), S(xe, null, ke(a.intervalOptions, (_, P) => (g(), A(c, {
14780
+ (g(!0), S(xe, null, ke(a.intervalOptions, (k, P) => (g(), A(c, {
13993
14781
  key: P,
13994
- value: _,
13995
- variant: a.intervalHour === _ ? "tonal" : "text",
14782
+ value: k,
14783
+ variant: a.intervalHour === k ? "tonal" : "text",
13996
14784
  color: "primary",
13997
14785
  rounded: "",
13998
- active: a.intervalHour === _,
14786
+ active: a.intervalHour === k,
13999
14787
  height: "30",
14000
14788
  "min-height": "30",
14001
14789
  "min-width": "30",
@@ -14003,10 +14791,10 @@ function Oh(t, e, o, i, a, r) {
14003
14791
  }, {
14004
14792
  default: u(() => [
14005
14793
  p(m, {
14006
- onClick: (y) => a.intervalHour = _
14794
+ onClick: (y) => a.intervalHour = k
14007
14795
  }, {
14008
14796
  default: u(() => [
14009
- K(n(_) + "h", 1)
14797
+ K(n(k) + "h", 1)
14010
14798
  ]),
14011
14799
  _: 2
14012
14800
  }, 1032, ["onClick"])
@@ -14023,7 +14811,7 @@ function Oh(t, e, o, i, a, r) {
14023
14811
  _: 1
14024
14812
  })
14025
14813
  ]),
14026
- p(x, {
14814
+ p(v, {
14027
14815
  vertical: "",
14028
14816
  class: "mx-2 my-3",
14029
14817
  style: { height: "16px" }
@@ -14096,7 +14884,7 @@ function Oh(t, e, o, i, a, r) {
14096
14884
  __: [14]
14097
14885
  }, 8, ["onClick"])
14098
14886
  ]),
14099
- p(x, {
14887
+ p(v, {
14100
14888
  vertical: "",
14101
14889
  class: "mx-2 my-3",
14102
14890
  style: { height: "16px" }
@@ -14106,10 +14894,10 @@ function Oh(t, e, o, i, a, r) {
14106
14894
  text: t.$t("weather.windBarbs"),
14107
14895
  location: "top"
14108
14896
  }, {
14109
- activator: u(({ props: _ }) => {
14897
+ activator: u(({ props: k }) => {
14110
14898
  var P, y;
14111
14899
  return [
14112
- p(b, j(_, {
14900
+ p(b, j(k, {
14113
14901
  class: "pa-1 d-flex",
14114
14902
  color: (P = o.weatherCheckList) != null && P.includes("wind") ? "primary" : "",
14115
14903
  variant: (y = o.weatherCheckList) != null && y.includes("wind") ? "elevated" : "text",
@@ -14132,10 +14920,10 @@ function Oh(t, e, o, i, a, r) {
14132
14920
  text: t.$t("weather.sigWaveHeight"),
14133
14921
  location: "top"
14134
14922
  }, {
14135
- activator: u(({ props: _ }) => {
14923
+ activator: u(({ props: k }) => {
14136
14924
  var P, y;
14137
14925
  return [
14138
- p(b, j(_, {
14926
+ p(b, j(k, {
14139
14927
  class: "pa-1 d-flex",
14140
14928
  color: (P = o.weatherCheckList) != null && P.includes("sig-wave-height") ? "primary" : "",
14141
14929
  variant: (y = o.weatherCheckList) != null && y.includes("sig-wave-height") ? "elevated" : "text",
@@ -14145,7 +14933,7 @@ function Oh(t, e, o, i, a, r) {
14145
14933
  onClick: e[5] || (e[5] = (B) => r.handleClickFastWeather("sig-wave-height"))
14146
14934
  }), {
14147
14935
  default: u(() => [
14148
- s("i", j(_, { class: "iconfont icon-a-WaveHeight" }), null, 16)
14936
+ s("i", j(k, { class: "iconfont icon-a-WaveHeight" }), null, 16)
14149
14937
  ]),
14150
14938
  _: 2
14151
14939
  }, 1040, ["color", "variant"])
@@ -14157,10 +14945,10 @@ function Oh(t, e, o, i, a, r) {
14157
14945
  text: t.$t("weather.currentDirection"),
14158
14946
  location: "top"
14159
14947
  }, {
14160
- activator: u(({ props: _ }) => {
14948
+ activator: u(({ props: k }) => {
14161
14949
  var P, y;
14162
14950
  return [
14163
- p(b, j(_, {
14951
+ p(b, j(k, {
14164
14952
  class: "pa-1 d-flex",
14165
14953
  color: (P = o.weatherCheckList) != null && P.includes("current-direction") ? "primary" : "",
14166
14954
  variant: (y = o.weatherCheckList) != null && y.includes("current-direction") ? "elevated" : "text",
@@ -14170,7 +14958,7 @@ function Oh(t, e, o, i, a, r) {
14170
14958
  onClick: e[6] || (e[6] = (B) => r.handleClickFastWeather("current-direction"))
14171
14959
  }), {
14172
14960
  default: u(() => [
14173
- s("i", j(_, { class: "iconfont icon-Current" }), null, 16)
14961
+ s("i", j(k, { class: "iconfont icon-Current" }), null, 16)
14174
14962
  ]),
14175
14963
  _: 2
14176
14964
  }, 1040, ["color", "variant"])
@@ -14182,8 +14970,8 @@ function Oh(t, e, o, i, a, r) {
14182
14970
  text: t.$t("weather.weatherLayers"),
14183
14971
  location: "top"
14184
14972
  }, {
14185
- activator: u(({ props: _ }) => [
14186
- p(b, j(_, {
14973
+ activator: u(({ props: k }) => [
14974
+ p(b, j(k, {
14187
14975
  class: "pa-1 d-flex",
14188
14976
  variant: "text",
14189
14977
  height: "24",
@@ -14192,7 +14980,7 @@ function Oh(t, e, o, i, a, r) {
14192
14980
  onClick: r.handleClickFastMore
14193
14981
  }), {
14194
14982
  default: u(() => [
14195
- s("i", j(_, { class: "iconfont icon-dots-align" }), null, 16)
14983
+ s("i", j(k, { class: "iconfont icon-dots-align" }), null, 16)
14196
14984
  ]),
14197
14985
  _: 2
14198
14986
  }, 1040, ["onClick"])
@@ -14200,7 +14988,7 @@ function Oh(t, e, o, i, a, r) {
14200
14988
  _: 1
14201
14989
  }, 8, ["text"])
14202
14990
  ]),
14203
- p(x, {
14991
+ p(v, {
14204
14992
  vertical: "",
14205
14993
  class: "mx-2 mr-3 my-3",
14206
14994
  style: { height: "16px" }
@@ -14211,7 +14999,7 @@ function Oh(t, e, o, i, a, r) {
14211
14999
  height: "30",
14212
15000
  class: "px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",
14213
15001
  color: a.source === "GFS" ? "primary" : "",
14214
- onClick: e[7] || (e[7] = (_) => a.source = "GFS")
15002
+ onClick: e[7] || (e[7] = (k) => a.source = "GFS")
14215
15003
  }, {
14216
15004
  default: u(() => e[16] || (e[16] = [
14217
15005
  K("NOAA", -1)
@@ -14224,7 +15012,7 @@ function Oh(t, e, o, i, a, r) {
14224
15012
  height: "30",
14225
15013
  class: "px-2 elevation-0 text-body-1 btn-border-2 btn-bg-2",
14226
15014
  color: a.source === "ECMWF" ? "primary" : "",
14227
- onClick: e[8] || (e[8] = (_) => a.source = "ECMWF")
15015
+ onClick: e[8] || (e[8] = (k) => a.source = "ECMWF")
14228
15016
  }, {
14229
15017
  default: u(() => e[17] || (e[17] = [
14230
15018
  K("ECMWF", -1)
@@ -14239,11 +15027,11 @@ function Oh(t, e, o, i, a, r) {
14239
15027
  style: ee({ right: a.right + "px" })
14240
15028
  }, [
14241
15029
  a.showTimezone ? (g(), S("div", Dh, [
14242
- (g(!0), S(xe, null, ke(a.offsets, (_) => (g(), S("div", {
14243
- key: _,
15030
+ (g(!0), S(xe, null, ke(a.offsets, (k) => (g(), S("div", {
15031
+ key: k,
14244
15032
  class: "item rounded text-body-2 hover-active",
14245
- onClick: (P) => a.timeZone = _
14246
- }, n(_ < 0 ? _ : "+" + _), 9, Ih))), 128))
15033
+ onClick: (P) => a.timeZone = k
15034
+ }, n(k < 0 ? k : "+" + k), 9, Ih))), 128))
14247
15035
  ])) : I("", !0),
14248
15036
  s("div", Rh, [
14249
15037
  p(b, {
@@ -14252,7 +15040,7 @@ function Oh(t, e, o, i, a, r) {
14252
15040
  height: "28",
14253
15041
  class: "pa-1 text-body-1",
14254
15042
  color: "primary",
14255
- onClick: e[9] || (e[9] = (_) => a.showTimezone = !a.showTimezone)
15043
+ onClick: e[9] || (e[9] = (k) => a.showTimezone = !a.showTimezone)
14256
15044
  }, {
14257
15045
  default: u(() => [
14258
15046
  K(" UTC " + n(a.timeZone < 0 ? a.timeZone : "+" + a.timeZone), 1)
@@ -14370,7 +15158,7 @@ const jh = {
14370
15158
  }
14371
15159
  }, Eh = { class: "timeline-box px-2 d-flex justify-center align-center rounded ga-1" };
14372
15160
  function Nh(t, e, o, i, a, r) {
14373
- const l = w("VBtn"), m = w("DateTimePicker");
15161
+ const l = x("VBtn"), m = x("DateTimePicker");
14374
15162
  return g(), S("div", {
14375
15163
  class: "idm-time-player-gl4 d-flex justify-center align-center",
14376
15164
  style: ee({ bottom: Object.values(a.show).includes(!0) ? "10px" : "-100px" })
@@ -14537,7 +15325,7 @@ const Ja = /* @__PURE__ */ Z(jh, [["render", Nh]]), Fh = {
14537
15325
  class: "map-gl4-home"
14538
15326
  };
14539
15327
  function Gh(t, e, o, i, a, r) {
14540
- const l = w("IdmOtherLayer"), m = w("IdmWeatherLayer"), c = w("IdmTropicals"), f = w("IdmMeasure"), d = w("IdmSpot"), b = w("IdmBottomBar"), x = w("IdmTimePlayer");
15328
+ const l = x("IdmOtherLayer"), m = x("IdmWeatherLayer"), c = x("IdmTropicals"), f = x("IdmMeasure"), d = x("IdmSpot"), b = x("IdmBottomBar"), v = x("IdmTimePlayer");
14541
15329
  return g(), S("div", Hh, [
14542
15330
  p(l, j({
14543
15331
  ref: "idmOtherLayers",
@@ -14608,7 +15396,7 @@ function Gh(t, e, o, i, a, r) {
14608
15396
  "weather-check-list": a.weatherCheckList,
14609
15397
  "map-feather": o.mapFeather
14610
15398
  }, t.$attrs), null, 16, ["forecast-model", "weather-check-list", "map-feather"])),
14611
- o.simple ? (g(), A(x, j({
15399
+ o.simple ? (g(), A(v, j({
14612
15400
  key: 1,
14613
15401
  ref: "idmBottomBar",
14614
15402
  "weather-check-list": a.weatherCheckList,
@@ -14625,7 +15413,7 @@ class Uh {
14625
15413
  de(this, "hi");
14626
15414
  de(this, "td");
14627
15415
  de(this, "windy");
14628
- var o, i, a, r, l, m, c, f, d, b, x, L, _, P, y, B, D, T, v, z, C, k, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e, Ie, Ce, H, oe, He, Oe, ge, Re, W, fe, ae, re, je, Ge, We, E, we, Be, Ee, Ne, N, Ue, U, Xe, qe, Ke, Le, Je, Qe, $e, et, tt, ot, at, it, rt, st, lt, nt, ct, mt, ht, dt, pt, ut, gt, ft, yt, bt, wt, xt, vt, _t, kt, zt, Lt, Pt, Tt, Ct, St, Mt, Dt, It, Rt, At, Ot, Bt, jt, Et, Nt, Ft, Ht, Gt, Wt, Ut, Vt, Yt, Zt, Xt, qt, Kt, Jt, Qt, eo, to, oo, ao, io, ro, so, lo, no, co, mo, ho, po, uo, go, fo, yo, bo, wo, xo, vo, _o, ko, zo, Ro, Ao, Oo, Bo, jo, Eo, No, Fo, Ho, Go, Wo, Uo, Vo, Yo, Zo, Xo, qo, Ko, Jo, Qo, $o, ea, ta, oa, aa, ia, ra, sa, la, na, ca, ma, ha, da, pa, ua, ga, fa, ya, ba, wa, xa, va, _a, ka, za, La, Pa, Ta, Ca, Sa, Ma, Da, Ia, Ra, Aa, Oa, Ba, ja, Ea, Na, Fa, Ha, Ga, Wa, Ua;
15416
+ var o, i, a, r, l, m, c, f, d, b, v, L, k, P, y, B, D, T, z, w, C, _, R, F, V, X, Y, Q, $, J, se, le, pe, ie, ce, ue, me, he, O, te, be, ve, Pe, Te, _e, Ie, Ce, H, oe, He, Oe, ge, Re, W, fe, ae, re, je, Ge, We, E, we, Be, Ee, Ne, N, Ue, U, Xe, qe, Ke, Le, Je, Qe, $e, et, tt, ot, at, it, rt, st, lt, nt, ct, mt, ht, dt, pt, ut, gt, ft, yt, bt, wt, xt, vt, _t, kt, zt, Lt, Pt, Tt, Ct, St, Mt, Dt, It, Rt, At, Ot, Bt, jt, Et, Nt, Ft, Ht, Gt, Wt, Ut, Vt, Yt, Zt, Xt, qt, Kt, Jt, Qt, eo, to, oo, ao, io, ro, so, lo, no, co, mo, ho, po, uo, go, fo, yo, bo, wo, xo, vo, _o, ko, zo, Ro, Ao, Oo, Bo, jo, Eo, No, Fo, Ho, Go, Wo, Uo, Vo, Yo, Zo, Xo, qo, Ko, Jo, Qo, $o, ea, ta, oa, aa, ia, ra, sa, la, na, ca, ma, ha, da, pa, ua, ga, fa, ya, ba, wa, xa, va, _a, ka, za, La, Pa, Ta, Ca, Sa, Ma, Da, Ia, Ra, Aa, Oa, Ba, ja, Ea, Na, Fa, Ha, Ga, Wa, Ua;
14629
15417
  this.i4 = {
14630
15418
  source: {
14631
15419
  type: "raster",
@@ -33271,12 +34059,12 @@ class Uh {
33271
34059
  (m = (l = this.originStyle) == null ? void 0 : l.light.layers) == null ? void 0 : m.find((h) => h.id === "ice-area-fill"),
33272
34060
  (f = (c = this.originStyle) == null ? void 0 : c.light.layers) == null ? void 0 : f.find((h) => h.id === "ice-area-line"),
33273
34061
  (b = (d = this.originStyle) == null ? void 0 : d.light.layers) == null ? void 0 : b.find((h) => h.id === "loadlines-label"),
33274
- (L = (x = this.originStyle) == null ? void 0 : x.light.layers) == null ? void 0 : L.find((h) => h.id === "loadlines-fill"),
33275
- (P = (_ = this.originStyle) == null ? void 0 : _.light.layers) == null ? void 0 : P.find((h) => h.id === "empty-layer-0"),
34062
+ (L = (v = this.originStyle) == null ? void 0 : v.light.layers) == null ? void 0 : L.find((h) => h.id === "loadlines-fill"),
34063
+ (P = (k = this.originStyle) == null ? void 0 : k.light.layers) == null ? void 0 : P.find((h) => h.id === "empty-layer-0"),
33276
34064
  (B = (y = this.originStyle) == null ? void 0 : y.light.layers) == null ? void 0 : B.find((h) => h.id === "empty-layer-1"),
33277
34065
  (T = (D = this.originStyle) == null ? void 0 : D.light.layers) == null ? void 0 : T.find((h) => h.id === "country-boundaries"),
33278
- (z = (v = this.originStyle) == null ? void 0 : v.light.layers) == null ? void 0 : z.find((h) => h.id === "water-outline"),
33279
- (k = (C = this.originStyle) == null ? void 0 : C.light.layers) == null ? void 0 : k.find((h) => h.id === "water-outline2"),
34066
+ (w = (z = this.originStyle) == null ? void 0 : z.light.layers) == null ? void 0 : w.find((h) => h.id === "water-outline"),
34067
+ (_ = (C = this.originStyle) == null ? void 0 : C.light.layers) == null ? void 0 : _.find((h) => h.id === "water-outline2"),
33280
34068
  (F = (R = this.originStyle) == null ? void 0 : R.light.layers) == null ? void 0 : F.find((h) => h.id === "empty-layer-2"),
33281
34069
  (X = (V = this.originStyle) == null ? void 0 : V.light.layers) == null ? void 0 : X.find((h) => h.id === "water-line-label"),
33282
34070
  (Q = (Y = this.originStyle) == null ? void 0 : Y.light.layers) == null ? void 0 : Q.find((h) => h.id === "water-point-label"),
@@ -33601,7 +34389,7 @@ const Vh = {
33601
34389
  class: "position-absolute left-0 bottom-0 ma-2 my-1 text-caption text-label opacity-70"
33602
34390
  };
33603
34391
  function Kh(t, e, o, i, a, r) {
33604
- const l = w("VBtn");
34392
+ const l = x("VBtn");
33605
34393
  return g(), S("div", {
33606
34394
  class: "mapbox-initial-gl4",
33607
34395
  style: ee({ height: o.height, width: o.width })