xvai-loi 0.1.91 → 0.1.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/co.txt +1 -1
  2. package/package.json +1 -1
  3. package/xvai-loi.js +33 -10
package/co.txt CHANGED
@@ -1 +1 @@
1
- xvaiLoi120612
1
+ xvaiLoi121314
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xvai-loi",
3
- "version": "0.1.91",
3
+ "version": "0.1.92",
4
4
  "description": "Loi dung video (Edit Video Tu Dong) nap vao tool Google Flow qua o cam engine/oCam.ts",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
package/xvai-loi.js CHANGED
@@ -9704,6 +9704,7 @@ var KHUON_TOPN = {
9704
9704
  var HU3 = /^(và|với|là|thì|mà|nhưng|rồi|cái|những|các|một|này|đó|chúng|ta|tôi|mình|bạn|em|anh|chị|của|cho|để|nên|vì|cũng|đã|đang|sẽ|có|không|được|rất|ạ|nhé|nha|à|ơi|lại|ra|vào|đi|nó|họ|hãy|chỉ|cần|phải|mới|khi|nếu|vậy|thế|như|từ|trong|về|bị|hết|luôn|sau|trước)$/i;
9705
9705
  var sach2 = (x) => String(x || "").replace(/[.,!?;:…"“”]/g, "");
9706
9706
  function lapAnhTheoKhuon(kb, ws, K = KHUON_TOPN, toiDa = 12) {
9707
+ if (String(globalThis.__mucHieuUng || "vua") === "it") return 0;
9707
9708
  const W4 = (ws || []).filter((w) => w && w.text && w.t1 > w.t0);
9708
9709
  if (!kb || !Array.isArray(kb.canh) || W4.length < 20) return 0;
9709
9710
  const lo = (x) => String(x || "").toLocaleLowerCase("vi").replace(/[^\p{L}\p{N}\s]/gu, "").trim(), wl = W4.map((w) => lo(w.text));
@@ -11504,6 +11505,7 @@ function tomTatLoai(loai) {
11504
11505
  return "b\u01B0\u1EDBc " + b + ": " + n + " c\u1EA3nh (" + Object.keys(L).map((k) => k + ": " + L[k]).join(", ") + ")";
11505
11506
  }).join("\n") || "kh\xF4ng c\u1EA3nh n\xE0o b\u1ECB lo\u1EA1i";
11506
11507
  }
11508
+ var mucK = () => ({ it: 0.6, vua: 1, nhieu: 1.6 })[String(globalThis.__mucHieuUng || "vua")] ?? 1;
11507
11509
  function lapCuongMe(o) {
11508
11510
  if (globalThis.__ghiDauVaoCm) {
11509
11511
  try {
@@ -13021,10 +13023,10 @@ function lapCuongMe(o) {
13021
13023
  }
13022
13024
  {
13023
13025
  const mn = +(globalThis.__manhNguoi ?? KHUON_TOPN.cat.manhNguoi), ds2 = () => sp.filter((x) => x.bo !== "phong").sort((p, q) => p.f - q.f);
13024
- for (const [loai2, tran] of [[/^(anh|kinh)$/, KHUON_TOPN.tram.cheToiDa], [/^(anh|kinh|chia|card)$/, KHUON_TOPN.tram.tranToiDa]]) {
13026
+ for (const [loai2, tran] of [[/^(anh|kinh)$/, Math.min(0.95, KHUON_TOPN.tram.cheToiDa * mucK())], [/^(anh|kinh|chia|card)$/, Math.min(0.95, KHUON_TOPN.tram.tranToiDa * Math.sqrt(mucK()))]]) {
13025
13027
  let du = sp.filter((x) => loai2.test(String(x.bo))).reduce((s2, x) => s2 + x.d, 0) - tran * tong, vong2 = 0;
13026
13028
  while (du > 0.05 && vong2++ < 60) {
13027
- const duE = Math.min(du, sp.filter((x) => /^(anh|kinh|chia|card)$/.test(String(x.bo))).reduce((s2, x) => s2 + x.d, 0) - KHUON_TOPN.tram.tranToiThieu * tong);
13029
+ const duE = Math.min(du, sp.filter((x) => /^(anh|kinh|chia|card)$/.test(String(x.bo))).reduce((s2, x) => s2 + x.d, 0) - KHUON_TOPN.tram.tranToiThieu * Math.min(1, mucK()) * tong);
13028
13030
  if (duE <= 0.25) break;
13029
13031
  const L = ds2(), cat2 = L.filter((x) => loai2.test(String(x.bo)) && /^(anh|chia)$/.test(String(x.bo)) && !x.khoa && !x.dong && !x.doc && !x.ui && !x.hang && x.f >= 1).sort((p, q) => q.d - p.d);
13030
13032
  let lam = false;
@@ -13062,7 +13064,7 @@ function lapCuongMe(o) {
13062
13064
  G4.__tramTran = 1;
13063
13065
  }
13064
13066
  {
13065
- const doi = (x) => /^(card|chia|tron|cut)$/.test(String(x.bo)), D = sp.filter(doi).sort((p, q) => p.f - q.f), tranD = Math.floor(KHUON_TOPN.nguoi.doiToiDa * tong / 60);
13067
+ const doi = (x) => /^(card|chia|tron|cut)$/.test(String(x.bo)), D = sp.filter(doi).sort((p, q) => p.f - q.f), tranD = Math.floor(KHUON_TOPN.nguoi.doiToiDa * mucK() * tong / 60);
13066
13068
  let nD = 0;
13067
13069
  const duoc = (x) => !x.ui && !x.doc && !x.hang && !x.dong && !x.tieuDoc && !x.khoa && x.f >= 3 && (x.bo === "chia" && x.ten && taiSan(x.ten) || x.bo === "card" && x.anhTren);
13068
13070
  while (D.length > tranD) {
@@ -13093,7 +13095,7 @@ function lapCuongMe(o) {
13093
13095
  G4.__doiNguoiBo = nD;
13094
13096
  }
13095
13097
  {
13096
- const coC = (x) => x.bo !== "phong" && (!!String(x.giant || x.chu || x.tieu || "").trim() || x.bo === "kinh" && Array.isArray(x.dong) && x.dong.length > 0), C2 = sp.filter(coC).sort((p, q) => p.f - q.f), tran = Math.floor(0.9 * KHUON_TOPN.chu.phut[1] * tong / 60);
13098
+ const coC = (x) => x.bo !== "phong" && (!!String(x.giant || x.chu || x.tieu || "").trim() || x.bo === "kinh" && Array.isArray(x.dong) && x.dong.length > 0), C2 = sp.filter(coC).sort((p, q) => p.f - q.f), tran = Math.floor(0.9 * KHUON_TOPN.chu.phut[1] * mucK() * tong / 60);
13097
13099
  let nT = 0;
13098
13100
  while (C2.length > tran) {
13099
13101
  let j = -1, m = 1e9;
@@ -13223,7 +13225,7 @@ function lapCuongMe(o) {
13223
13225
  if (s.logoTo) the(a, bT, { loai: "cmSticker", logo: s.logoTo.slug, hex: s.logoTo.hex, x: 0.5, y: s.logoY ?? 0.34, r: s.logoY ? 0.05 : 0.13, tre: 0.12 });
13224
13226
  {
13225
13227
  const st = s.st === "none" || s.bo === "anh" && !s.stX && /^(tich|sao|chuot)$/.test(String(s.st || "tich")) ? "" : s.st || "";
13226
- if (st && !(stTr[st] > s.f - 6)) {
13228
+ if (st && !(stTr[st] > s.f - 6 / mucK())) {
13227
13229
  stTr[st] = s.f;
13228
13230
  the(a, bT, {
13229
13231
  loai: "cmSticker",
@@ -19200,6 +19202,11 @@ function ghepKichBan(words, kichBan) {
19200
19202
  // flow-src/services/exportFlow.ts
19201
19203
  async function handleExport(currentProject, setExporting, setExportedBlob, addLog, khung) {
19202
19204
  if (!currentProject || currentProject.timeline.length === 0) return;
19205
+ try {
19206
+ const m = await docDem("mucHieuUng");
19207
+ if (typeof m === "string") window.__mucHieuUng = m;
19208
+ } catch (e) {
19209
+ }
19203
19210
  try {
19204
19211
  await loadFaceLandmarker();
19205
19212
  } catch (e) {
@@ -21000,7 +21007,7 @@ async function napLoi(d) {
21000
21007
  return "LOI: " + String(e && e.message || e).slice(0, 300);
21001
21008
  }
21002
21009
  }
21003
- var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@0.1.75/nap.js";
21010
+ var LOI_URL = "https://cdn.jsdelivr.net/npm/xvai-loi@on-dinh/nap.js";
21004
21011
  var TRONG_LOI = !!globalThis.__xvaiReact;
21005
21012
  try {
21006
21013
  if (!TRONG_LOI) setTimeout(() => {
@@ -21030,7 +21037,7 @@ function datCauLenh(a) {
21030
21037
  on2 = true;
21031
21038
  window.addEventListener("message", async (ev) => {
21032
21039
  const d = ev.data;
21033
- if (!d || d.xvaiLoi120612 !== true) return;
21040
+ if (!d || d.xvaiLoi121314 !== true) return;
21034
21041
  const o = String(ev.origin || "");
21035
21042
  if (!(o.indexOf("https://flow.google.com") === 0 || o.indexOf("https://labs.google") === 0)) return;
21036
21043
  const tra = (kq) => {
@@ -21540,6 +21547,22 @@ var SuaLich = ({ ten, onDong }) => {
21540
21547
  return "M\u1EB7c \u0111\u1ECBnh (nghi\xEAng, tr\u1EAFng/v\xE0ng)";
21541
21548
  }
21542
21549
  });
21550
+ const [muc, setMuc] = useState(String(G3.__mucHieuUng || "vua"));
21551
+ useEffect(() => {
21552
+ (async () => {
21553
+ const m = await docDem("mucHieuUng");
21554
+ if (typeof m === "string") {
21555
+ G3.__mucHieuUng = m;
21556
+ setMuc(m);
21557
+ }
21558
+ })();
21559
+ }, []);
21560
+ const datMuc = (k) => {
21561
+ setMuc(k);
21562
+ G3.__mucHieuUng = k;
21563
+ ghiDem("mucHieuUng", k);
21564
+ setBao("M\u1EE9c hi\u1EC7u \u1EE9ng: " + { it: "\xCDt", vua: "V\u1EEBa", nhieu: "Nhi\u1EC1u" }[k] + " \u2192 V\u1EBD l\u1EA1i \u0111\u1EC3 \xE1p");
21565
+ };
21543
21566
  const datKc = (t) => {
21544
21567
  setKc(t);
21545
21568
  const v = KIEU_CHU[t] || {};
@@ -21705,7 +21728,7 @@ var SuaLich = ({ ten, onDong }) => {
21705
21728
  setDs(G3.__lichSp || []);
21706
21729
  } }, "N\u1EA1p l\u1EA1i"), /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: onDong }, "\u0110\xF3ng"), ls.length ? /* @__PURE__ */ shim_react_default.createElement("select", { className: "bg-[#0B1A2D] border border-[#2C4A73] rounded px-1 text-[11px]", value: "", onChange: (ev) => {
21707
21730
  if (ev.target.value) napBan(+ev.target.value);
21708
- } }, /* @__PURE__ */ shim_react_default.createElement("option", { value: "" }, "b\u1EA3n c\u0169\u2026"), ls.map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }, new Date(t).toLocaleString("vi")))) : null), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "Ki\u1EC3u ch\u1EEF c\u1EA3 b\xE0i:"), /* @__PURE__ */ shim_react_default.createElement("select", { className: "bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: kc, onChange: (ev) => datKc(ev.target.value) }, Object.keys(KIEU_CHU).map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }, t)))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "\xC2m thanh:"), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "l\u1EDDi ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.5", max: "2", step: "0.05", value: am.loi, onChange: (ev) => datAm("loi", +ev.target.value), className: "w-20" }), " \xD7", (+am.loi).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "nh\u1EA1c + SFX ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "2.5", step: "0.05", value: am.nhac, onChange: (ev) => datAm("nhac", +ev.target.value), className: "w-20" }), " \xD7", (+am.nhac).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "ch\u1ED1ng \u1ED3n ", /* @__PURE__ */ shim_react_default.createElement("select", { className: "bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: am.on, onChange: (ev) => datAm("on", ev.target.value === "" ? "" : +ev.target.value) }, /* @__PURE__ */ shim_react_default.createElement("option", { value: "" }, "theo b\u1EA3ng L\xE0m pro"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "0" }, "t\u1EAFt"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "1" }, "nh\u1EB9"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "2" }, "m\u1EA1nh"))), /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "(t\u1EF1 c\xE2n \u221214 LUFS, nh\u1EA1c t\u1EF1 h\u1EA1 khi n\xF3i)")), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "M\xE0u c\u1EA3 b\xE0i:"), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "s\xE1ng ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.7", max: "1.4", step: "0.05", value: fx.sang, onChange: (ev) => datFx("sang", +ev.target.value), className: "w-20" }), " ", (+fx.sang).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "t\u01B0\u01A1ng ph\u1EA3n ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.7", max: "1.4", step: "0.05", value: fx.tuongPhan, onChange: (ev) => datFx("tuongPhan", +ev.target.value), className: "w-20" }), " ", (+fx.tuongPhan).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "t\u01B0\u01A1i ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.5", max: "1.6", step: "0.05", value: fx.baoHoa, onChange: (ev) => datFx("baoHoa", +ev.target.value), className: "w-20" }), " ", (+fx.baoHoa).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "\u1EA5m ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "0.4", step: "0.05", value: fx.am, onChange: (ev) => datFx("am", +ev.target.value), className: "w-20" }), " ", (+fx.am).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "n\xE9t ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "0.6", step: "0.05", value: fx.net || 0, onChange: (ev) => datFx("net", +ev.target.value), className: "w-20" }), " ", (+(fx.net || 0)).toFixed(2)), [["T\u1EF1 c\xE2n", { sang: 1.05, tuongPhan: 1.05, baoHoa: 1, am: 0 }], ["\u1EA4m", { sang: 1.03, tuongPhan: 1.03, baoHoa: 1.08, am: 0.12 }], ["L\u1EA1nh s\u1EA1ch", { sang: 1.06, tuongPhan: 1.08, baoHoa: 0.92, am: 0 }], ["Phim", { sang: 0.97, tuongPhan: 1.12, baoHoa: 0.85, am: 0.08 }], ["R\u1EF1c", { sang: 1.04, tuongPhan: 1.1, baoHoa: 1.25, am: 0 }]].map(([t, v]) => /* @__PURE__ */ shim_react_default.createElement("button", { key: t, className: nut3, onClick: () => {
21731
+ } }, /* @__PURE__ */ shim_react_default.createElement("option", { value: "" }, "b\u1EA3n c\u0169\u2026"), ls.map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }, new Date(t).toLocaleString("vi")))) : null), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "Ki\u1EC3u ch\u1EEF c\u1EA3 b\xE0i:"), /* @__PURE__ */ shim_react_default.createElement("select", { className: "bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: kc, onChange: (ev) => datKc(ev.target.value) }, Object.keys(KIEU_CHU).map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }, t))), /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9] ml-3" }, "M\u1EE9c hi\u1EC7u \u1EE9ng:"), [["it", "\xCDt"], ["vua", "V\u1EEBa"], ["nhieu", "Nhi\u1EC1u"]].map(([k, n]) => /* @__PURE__ */ shim_react_default.createElement("button", { key: k, className: nut3 + (muc === k ? " bg-[#F6D178] text-[#122238]" : ""), onClick: () => datMuc(k) }, n))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "\xC2m thanh:"), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "l\u1EDDi ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.5", max: "2", step: "0.05", value: am.loi, onChange: (ev) => datAm("loi", +ev.target.value), className: "w-20" }), " \xD7", (+am.loi).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "nh\u1EA1c + SFX ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "2.5", step: "0.05", value: am.nhac, onChange: (ev) => datAm("nhac", +ev.target.value), className: "w-20" }), " \xD7", (+am.nhac).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "ch\u1ED1ng \u1ED3n ", /* @__PURE__ */ shim_react_default.createElement("select", { className: "bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: am.on, onChange: (ev) => datAm("on", ev.target.value === "" ? "" : +ev.target.value) }, /* @__PURE__ */ shim_react_default.createElement("option", { value: "" }, "theo b\u1EA3ng L\xE0m pro"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "0" }, "t\u1EAFt"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "1" }, "nh\u1EB9"), /* @__PURE__ */ shim_react_default.createElement("option", { value: "2" }, "m\u1EA1nh"))), /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "(t\u1EF1 c\xE2n \u221214 LUFS, nh\u1EA1c t\u1EF1 h\u1EA1 khi n\xF3i)")), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex items-center gap-2 mb-2 text-[11px] flex-wrap" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "M\xE0u c\u1EA3 b\xE0i:"), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "s\xE1ng ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.7", max: "1.4", step: "0.05", value: fx.sang, onChange: (ev) => datFx("sang", +ev.target.value), className: "w-20" }), " ", (+fx.sang).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "t\u01B0\u01A1ng ph\u1EA3n ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.7", max: "1.4", step: "0.05", value: fx.tuongPhan, onChange: (ev) => datFx("tuongPhan", +ev.target.value), className: "w-20" }), " ", (+fx.tuongPhan).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "t\u01B0\u01A1i ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0.5", max: "1.6", step: "0.05", value: fx.baoHoa, onChange: (ev) => datFx("baoHoa", +ev.target.value), className: "w-20" }), " ", (+fx.baoHoa).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "\u1EA5m ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "0.4", step: "0.05", value: fx.am, onChange: (ev) => datFx("am", +ev.target.value), className: "w-20" }), " ", (+fx.am).toFixed(2)), /* @__PURE__ */ shim_react_default.createElement("label", { className: "flex items-center gap-1" }, "n\xE9t ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: "0", max: "0.6", step: "0.05", value: fx.net || 0, onChange: (ev) => datFx("net", +ev.target.value), className: "w-20" }), " ", (+(fx.net || 0)).toFixed(2)), [["T\u1EF1 c\xE2n", { sang: 1.05, tuongPhan: 1.05, baoHoa: 1, am: 0 }], ["\u1EA4m", { sang: 1.03, tuongPhan: 1.03, baoHoa: 1.08, am: 0.12 }], ["L\u1EA1nh s\u1EA1ch", { sang: 1.06, tuongPhan: 1.08, baoHoa: 0.92, am: 0 }], ["Phim", { sang: 0.97, tuongPhan: 1.12, baoHoa: 0.85, am: 0.08 }], ["R\u1EF1c", { sang: 1.04, tuongPhan: 1.1, baoHoa: 1.25, am: 0 }]].map(([t, v]) => /* @__PURE__ */ shim_react_default.createElement("button", { key: t, className: nut3, onClick: () => {
21709
21732
  const n = { ...v };
21710
21733
  setFx(n);
21711
21734
  G3.__xvaiMau = n;
@@ -21724,10 +21747,10 @@ var SuaLich = ({ ten, onDong }) => {
21724
21747
  const f2 = giaTri(x, "f"), d = giaTri(x, "d"), e = sua[x.id] || sua[x.i] || {};
21725
21748
  if (e.xoa) return null;
21726
21749
  return /* @__PURE__ */ shim_react_default.createElement("div", { key: "k" + (x.id || x.i), title: x.bo + " " + f2.toFixed(1) + "\u2013" + (f2 + d).toFixed(1) + " " + (x.giant || x.chu || ""), onPointerDown: (ev) => batDauKeo(ev, x, false), className: "absolute top-3 h-5 rounded-sm cursor-grab text-[8px] text-white overflow-hidden whitespace-nowrap px-0.5", style: { left: f2 / tongS * 100 + "%", width: Math.max(0.4, d / tongS * 100) + "%", background: MAUBO[x.bo] || "#777", outline: e.f != null || e.d != null ? "1px solid #fff" : "none" } }, String(x.giant || x.chu || x.bo).split(String.fromCharCode(10))[0].slice(0, 12), /* @__PURE__ */ shim_react_default.createElement("span", { onPointerDown: (ev) => batDauKeo(ev, x, true), className: "absolute right-0 top-0 bottom-0 w-1.5 bg-white/60 cursor-ew-resize" }));
21727
- }))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "mb-2 text-[11px] flex flex-wrap items-center gap-1" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, 'T\u1EEB \u0111i\u1EC3n t\xEAn ri\xEAng (sai \u2192 \u0111\xFAng, m\u1ED7i c\u1EB7p m\u1ED9t d\xF2ng "sai = \u0111\xFAng"):'), /* @__PURE__ */ shim_react_default.createElement("textarea", { className: "w-full h-12 bg-[#0B1A2D] border border-[#2C4A73] rounded p-1 text-[11px]", value: tuDien, onChange: (e) => setTuDien(e.target.value), placeholder: "t\xFA \u0111ao ai = T\xFA \u0110\xE0o AI" }), /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: luuTuDien }, "L\u01B0u t\u1EEB \u0111i\u1EC3n")), /* @__PURE__ */ shim_react_default.createElement("div", { className: "mb-2 text-[11px]" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: () => setMoLoi(!moLoi) }, moLoi ? "\u1EA8n" : "C\u1EAFt l\u1EDDi theo t\u1EEB", " (", tuLoi.length, " t\u1EEB", catTay.length ? ", xo\xE1 " + catTay.length : "", ")"), moLoi ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "mt-1 max-h-32 overflow-auto bg-[#0B1A2D] border border-[#2C4A73] rounded p-1 leading-6" }, tuLoi.length ? tuLoi.map((w, k) => /* @__PURE__ */ shim_react_default.createElement("span", { key: k, onClick: () => batCat(w), title: (+w.t0).toFixed(2) + " s", className: "cursor-pointer px-0.5 rounded " + (daCat(w) ? "line-through text-red-400 bg-red-900/30" : "hover:bg-[#1E3A5F]") }, w.text, " ")) : /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "Ch\u01B0a c\xF3 l\u1EDDi (ch\u1EA1y L\xE0m pro tr\u01B0\u1EDBc)")) : null, moLoi && catTay.length ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "mt-1 flex flex-wrap gap-1" }, catTay.map((r, k) => /* @__PURE__ */ shim_react_default.createElement("span", { key: k, className: "px-1 rounded bg-red-900/30 text-red-300 whitespace-nowrap" }, r.tu, " ", /* @__PURE__ */ shim_react_default.createElement("button", { title: "\u0111\u1EA7u s\u1EDBm 0,05 s", onClick: () => chinhCat(k, "t0", -0.05) }, "\u25C0"), (+r.t0).toFixed(2), /* @__PURE__ */ shim_react_default.createElement("button", { title: "\u0111\u1EA7u mu\u1ED9n 0,05 s", onClick: () => chinhCat(k, "t0", 0.05) }, "\u25B6"), "\u2013", /* @__PURE__ */ shim_react_default.createElement("button", { title: "cu\u1ED1i s\u1EDBm 0,05 s", onClick: () => chinhCat(k, "t1", -0.05) }, "\u25C0"), (+r.t1).toFixed(2), /* @__PURE__ */ shim_react_default.createElement("button", { title: "cu\u1ED1i mu\u1ED9n 0,05 s", onClick: () => chinhCat(k, "t1", 0.05) }, "\u25B6"), " ", /* @__PURE__ */ shim_react_default.createElement("button", { className: "font-bold", title: "nghe th\u1EED ch\u1ED7 c\u1EAFt (1,2 s tr\u01B0\u1EDBc + 1,2 s sau)", onClick: () => ngheCat(r.t0, r.t1) }, "\u{1F50A}")))) : null), /* @__PURE__ */ shim_react_default.createElement("datalist", { id: "xvai-kho-anh" }, dsTenTaiSan().map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "max-h-[60vh] overflow-auto" }, /* @__PURE__ */ shim_react_default.createElement("table", { className: "w-full text-[11px]" }, /* @__PURE__ */ shim_react_default.createElement("thead", null, /* @__PURE__ */ shim_react_default.createElement("tr", { className: "text-[#A2B2C9]" }, /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "#"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "khung"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "gi\xE2y"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "b\u1ED1 c\u1EE5c"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "\u0111\u1EA7u/d\xE0i (s)"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "ch\u1EEF nh\u1EA5n"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "y / c\u1EE1"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "ch\u1EEF ph\u1EE5"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "icon"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "\u1EA3nh (t\xEAn kho)"), /* @__PURE__ */ shim_react_default.createElement("th", null, "fx"), /* @__PURE__ */ shim_react_default.createElement("th", null, "xo\xE1"))), /* @__PURE__ */ shim_react_default.createElement("tbody", null, ds2.map((s) => {
21750
+ }))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "mb-2 text-[11px] flex flex-wrap items-center gap-1" }, /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, 'T\u1EEB \u0111i\u1EC3n t\xEAn ri\xEAng (sai \u2192 \u0111\xFAng, m\u1ED7i c\u1EB7p m\u1ED9t d\xF2ng "sai = \u0111\xFAng"):'), /* @__PURE__ */ shim_react_default.createElement("textarea", { className: "w-full h-12 bg-[#0B1A2D] border border-[#2C4A73] rounded p-1 text-[11px]", value: tuDien, onChange: (e) => setTuDien(e.target.value), placeholder: "t\xFA \u0111ao ai = T\xFA \u0110\xE0o AI" }), /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: luuTuDien }, "L\u01B0u t\u1EEB \u0111i\u1EC3n")), /* @__PURE__ */ shim_react_default.createElement("div", { className: "mb-2 text-[11px]" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: () => setMoLoi(!moLoi) }, moLoi ? "\u1EA8n" : "C\u1EAFt l\u1EDDi theo t\u1EEB", " (", tuLoi.length, " t\u1EEB", catTay.length ? ", xo\xE1 " + catTay.length : "", ")"), moLoi ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "mt-1 max-h-32 overflow-auto bg-[#0B1A2D] border border-[#2C4A73] rounded p-1 leading-6" }, tuLoi.length ? tuLoi.map((w, k) => /* @__PURE__ */ shim_react_default.createElement("span", { key: k, onClick: () => batCat(w), title: (+w.t0).toFixed(2) + " s", className: "cursor-pointer px-0.5 rounded " + (daCat(w) ? "line-through text-red-400 bg-red-900/30" : "hover:bg-[#1E3A5F]") }, w.text, " ")) : /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "Ch\u01B0a c\xF3 l\u1EDDi (ch\u1EA1y L\xE0m pro tr\u01B0\u1EDBc)")) : null, moLoi && catTay.length ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "mt-1 flex flex-wrap gap-1" }, catTay.map((r, k) => /* @__PURE__ */ shim_react_default.createElement("span", { key: k, className: "px-1 rounded bg-red-900/30 text-red-300 whitespace-nowrap" }, r.tu, " ", /* @__PURE__ */ shim_react_default.createElement("button", { title: "\u0111\u1EA7u s\u1EDBm 0,05 s", onClick: () => chinhCat(k, "t0", -0.05) }, "\u25C0"), (+r.t0).toFixed(2), /* @__PURE__ */ shim_react_default.createElement("button", { title: "\u0111\u1EA7u mu\u1ED9n 0,05 s", onClick: () => chinhCat(k, "t0", 0.05) }, "\u25B6"), "\u2013", /* @__PURE__ */ shim_react_default.createElement("button", { title: "cu\u1ED1i s\u1EDBm 0,05 s", onClick: () => chinhCat(k, "t1", -0.05) }, "\u25C0"), (+r.t1).toFixed(2), /* @__PURE__ */ shim_react_default.createElement("button", { title: "cu\u1ED1i mu\u1ED9n 0,05 s", onClick: () => chinhCat(k, "t1", 0.05) }, "\u25B6"), " ", /* @__PURE__ */ shim_react_default.createElement("button", { className: "font-bold", title: "nghe th\u1EED ch\u1ED7 c\u1EAFt (1,2 s tr\u01B0\u1EDBc + 1,2 s sau)", onClick: () => ngheCat(r.t0, r.t1) }, "\u{1F50A}")))) : null), /* @__PURE__ */ shim_react_default.createElement("datalist", { id: "xvai-kho-anh" }, dsTenTaiSan().map((t) => /* @__PURE__ */ shim_react_default.createElement("option", { key: t, value: t }))), /* @__PURE__ */ shim_react_default.createElement("datalist", { id: "xvai-icon" }, [["tich", "d\u1EA5u t\xEDch"], ["sao", "ng\xF4i sao"], ["tim", "tr\xE1i tim"], ["xu", "\u0111\u1ED3ng xu / ti\u1EC1n"], ["dongho", "\u0111\u1ED3ng h\u1ED3"], ["luu", "l\u01B0u / \u0111\xE1nh d\u1EA5u"], ["canh", "c\u1EA3nh b\xE1o"], ["bieu", "bi\u1EC3u \u0111\u1ED3"], ["lua", "ng\u1ECDn l\u1EEDa"], ["tenlua", "t\xEAn l\u1EEDa"], ["bongden", "b\xF3ng \u0111\xE8n \xFD t\u01B0\u1EDFng"], ["qua", "h\u1ED9p qu\xE0"], ["giohang", "gi\u1ECF h\xE0ng"], ["nha", "ng\xF4i nh\xE0"], ["sach", "quy\u1EC3n s\xE1ch"], ["dienthoai", "\u0111i\u1EC7n tho\u1EA1i"], ["cup", "c\xFAp"], ["khien", "khi\xEAn"], ["la", "chi\u1EBFc l\xE1"], ["giot", "gi\u1ECDt n\u01B0\u1EDBc"], ["kinhlup", "k\xEDnh l\xFAp"], ["sai", "d\u1EA5u sai"], ["chuot", "con tr\u1ECF chu\u1ED9t"], ["none", "kh\xF4ng icon"]].map(([v, n]) => /* @__PURE__ */ shim_react_default.createElement("option", { key: v, value: v }, n))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "max-h-[60vh] overflow-auto" }, /* @__PURE__ */ shim_react_default.createElement("table", { className: "w-full text-[11px]" }, /* @__PURE__ */ shim_react_default.createElement("thead", null, /* @__PURE__ */ shim_react_default.createElement("tr", { className: "text-[#A2B2C9]" }, /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "#"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "khung"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "gi\xE2y"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "b\u1ED1 c\u1EE5c"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "\u0111\u1EA7u/d\xE0i (s)"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "ch\u1EEF nh\u1EA5n"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "y / c\u1EE1"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "ch\u1EEF ph\u1EE5"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "icon"), /* @__PURE__ */ shim_react_default.createElement("th", { className: "text-left" }, "\u1EA3nh (t\xEAn kho)"), /* @__PURE__ */ shim_react_default.createElement("th", null, "fx"), /* @__PURE__ */ shim_react_default.createElement("th", null, "xo\xE1"))), /* @__PURE__ */ shim_react_default.createElement("tbody", null, ds2.map((s) => {
21728
21751
  const e = sua[s.id] || sua[s.i] || {};
21729
21752
  const v = (k) => (typeof e[k] === "string" ? e[k] : s[k]) || "";
21730
- return /* @__PURE__ */ shim_react_default.createElement("tr", { key: s.id || s.i, className: e.xoa ? "opacity-40" : s.khoa ? "bg-[#1E3A5F]/40" : "" }, /* @__PURE__ */ shim_react_default.createElement("td", null, s.i), /* @__PURE__ */ shim_react_default.createElement("td", null, khung[(+s.f).toFixed(1)] ? /* @__PURE__ */ shim_react_default.createElement("img", { src: khung[(+s.f).toFixed(1)], width: 45, height: 80, className: "rounded cursor-zoom-in", onClick: () => setKhungTo(khung[(+s.f).toFixed(1)]) }) : /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "\u2026")), /* @__PURE__ */ shim_react_default.createElement("td", null, s.f.toFixed(1), "\u2013", (s.f + s.d).toFixed(1)), /* @__PURE__ */ shim_react_default.createElement("td", null, s.bo), /* @__PURE__ */ shim_react_default.createElement("td", { className: "whitespace-nowrap" }, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: typeof e.f === "number" ? e.f : s.f, onChange: (ev) => dat(s.id || String(s.i), "f", +ev.target.value), type: "number", step: "0.1" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: typeof e.d === "number" ? e.d : s.d, onChange: (ev) => dat(s.id || String(s.i), "d", +ev.target.value), type: "number", step: "0.1", min: "0.4" })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-full bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: v("giant"), onChange: (ev) => dat(s.id || String(s.i), "giant", ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", { className: "whitespace-nowrap" }, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.02", min: "0.05", max: "0.6", placeholder: "y", value: typeof e.yChu === "number" ? e.yChu : s.yChu ?? "", onChange: (ev) => dat(s.id || String(s.i), "yChu", +ev.target.value), title: "v\u1ECB tr\xED ch\u1EEF nh\u1EA5n (0,05 tr\xEAn \u2013 0,6 d\u01B0\u1EDBi)" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.1", min: "0.5", max: "1.6", placeholder: "\xD71", value: typeof e.coChu === "number" ? e.coChu : s.coChu ?? "", onChange: (ev) => dat(s.id || String(s.i), "coChu", +ev.target.value), title: "c\u1EE1 ch\u1EEF nh\u1EA5n \xD70,5\u20131,6" })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-full bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: v("chu2") || v("chu"), onChange: (ev) => dat(s.id || String(s.i), s.chu2 || !s.chu ? "chu2" : "chu", ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-20 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: v("st"), onChange: (ev) => dat(s.id || String(s.i), "st", ev.target.value), placeholder: "tich/luu\u2026" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-10 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.05", min: "0.05", max: "0.95", placeholder: "x", title: "v\u1ECB tr\xED icon ngang 0,05\u20130,95", value: typeof e.stX === "number" ? e.stX : s.stX ?? "", onChange: (ev) => dat(s.id || String(s.i), "stX", +ev.target.value) }), /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-10 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.05", min: "0.05", max: "0.95", placeholder: "y", title: "v\u1ECB tr\xED icon d\u1ECDc", value: typeof e.stY === "number" ? e.stY : s.stY ?? "", onChange: (ev) => dat(s.id || String(s.i), "stY", +ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-24 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", list: "xvai-kho-anh", value: v("ten"), onChange: (ev) => dat(s.id || String(s.i), "ten", ev.target.value), placeholder: "trang:\u2026 / anh:\u2026" })), /* @__PURE__ */ shim_react_default.createElement("td", { className: "text-center" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3 + (Object.keys(fxCua(s)).length ? " bg-[#F6D178] text-[#122238]" : ""), onClick: () => setFxMo(fxMo === (s.id || String(s.i)) ? "" : s.id || String(s.i)) }, "fx"), fxMo === (s.id || String(s.i)) ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "absolute z-40 bg-[#0B1A2D] border border-[#F6D178] rounded p-2 text-[11px] w-56 text-left", onClick: (ev) => ev.stopPropagation() }, [["sang", "s\xE1ng", 0.5, 1.6, 1], ["tuongPhan", "t\u01B0\u01A1ng ph\u1EA3n", 0.5, 1.6, 1], ["baoHoa", "t\u01B0\u01A1i", 0, 1.8, 1], ["am", "\u1EA5m", 0, 0.6, 0], ["mo", "m\u1EDD (px)", 0, 10, 0], ["xam", "\u0111en tr\u1EAFng", 0, 1, 0]].map((r) => /* @__PURE__ */ shim_react_default.createElement("label", { key: r[0], className: "flex items-center gap-1" }, r[1], " ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: r[2], max: r[3], step: r[0] === "mo" ? 0.5 : 0.05, value: fxCua(s)[r[0]] ?? r[4], onChange: (ev) => datFxCanh(s, r[0], +ev.target.value), className: "flex-1" }), " ", (+(fxCua(s)[r[0]] ?? r[4])).toFixed(2))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex gap-1 mt-1" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: () => {
21753
+ return /* @__PURE__ */ shim_react_default.createElement("tr", { key: s.id || s.i, className: e.xoa ? "opacity-40" : s.khoa ? "bg-[#1E3A5F]/40" : "" }, /* @__PURE__ */ shim_react_default.createElement("td", null, s.i), /* @__PURE__ */ shim_react_default.createElement("td", null, khung[(+s.f).toFixed(1)] ? /* @__PURE__ */ shim_react_default.createElement("img", { src: khung[(+s.f).toFixed(1)], width: 45, height: 80, className: "rounded cursor-zoom-in", onClick: () => setKhungTo(khung[(+s.f).toFixed(1)]) }) : /* @__PURE__ */ shim_react_default.createElement("span", { className: "text-[#A2B2C9]" }, "\u2026")), /* @__PURE__ */ shim_react_default.createElement("td", null, s.f.toFixed(1), "\u2013", (s.f + s.d).toFixed(1)), /* @__PURE__ */ shim_react_default.createElement("td", null, s.bo), /* @__PURE__ */ shim_react_default.createElement("td", { className: "whitespace-nowrap" }, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: typeof e.f === "number" ? e.f : s.f, onChange: (ev) => dat(s.id || String(s.i), "f", +ev.target.value), type: "number", step: "0.1" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: typeof e.d === "number" ? e.d : s.d, onChange: (ev) => dat(s.id || String(s.i), "d", +ev.target.value), type: "number", step: "0.1", min: "0.4" })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-full bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: v(/^(anh|chia)$/.test(s.bo) && !s.giant ? "chu" : "giant"), onChange: (ev) => dat(s.id || String(s.i), /^(anh|chia)$/.test(s.bo) && !s.giant ? "chu" : "giant", ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", { className: "whitespace-nowrap" }, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.02", min: "0.05", max: "0.6", placeholder: "y", value: typeof e.yChu === "number" ? e.yChu : s.yChu ?? "", onChange: (ev) => dat(s.id || String(s.i), "yChu", +ev.target.value), title: "v\u1ECB tr\xED ch\u1EEF nh\u1EA5n (0,05 tr\xEAn \u2013 0,6 d\u01B0\u1EDBi)" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-12 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.1", min: "0.5", max: "1.6", placeholder: "\xD71", value: typeof e.coChu === "number" ? e.coChu : s.coChu ?? "", onChange: (ev) => dat(s.id || String(s.i), "coChu", +ev.target.value), title: "c\u1EE1 ch\u1EEF nh\u1EA5n \xD70,5\u20131,6" })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-full bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", value: v("chu2") || (/^(anh|chia)$/.test(s.bo) && !s.giant ? "" : v("chu")), onChange: (ev) => dat(s.id || String(s.i), s.chu2 || !s.chu || /^(anh|chia)$/.test(s.bo) && !s.giant ? "chu2" : "chu", ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-20 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", list: "xvai-icon", value: v("st"), onChange: (ev) => dat(s.id || String(s.i), "st", ev.target.value), placeholder: "ch\u1ECDn icon\u2026" }), " ", /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-10 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.05", min: "0.05", max: "0.95", placeholder: "x", title: "v\u1ECB tr\xED icon ngang 0,05\u20130,95", value: typeof e.stX === "number" ? e.stX : s.stX ?? "", onChange: (ev) => dat(s.id || String(s.i), "stX", +ev.target.value) }), /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-10 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", type: "number", step: "0.05", min: "0.05", max: "0.95", placeholder: "y", title: "v\u1ECB tr\xED icon d\u1ECDc", value: typeof e.stY === "number" ? e.stY : s.stY ?? "", onChange: (ev) => dat(s.id || String(s.i), "stY", +ev.target.value) })), /* @__PURE__ */ shim_react_default.createElement("td", null, /* @__PURE__ */ shim_react_default.createElement("input", { className: "w-24 bg-[#0B1A2D] border border-[#2C4A73] rounded px-1", list: "xvai-kho-anh", value: v("ten"), onChange: (ev) => dat(s.id || String(s.i), "ten", ev.target.value), placeholder: "trang:\u2026 / anh:\u2026" })), /* @__PURE__ */ shim_react_default.createElement("td", { className: "text-center" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3 + (Object.keys(fxCua(s)).length ? " bg-[#F6D178] text-[#122238]" : ""), onClick: () => setFxMo(fxMo === (s.id || String(s.i)) ? "" : s.id || String(s.i)) }, "fx"), fxMo === (s.id || String(s.i)) ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "absolute z-40 bg-[#0B1A2D] border border-[#F6D178] rounded p-2 text-[11px] w-56 text-left", onClick: (ev) => ev.stopPropagation() }, [["sang", "s\xE1ng", 0.5, 1.6, 1], ["tuongPhan", "t\u01B0\u01A1ng ph\u1EA3n", 0.5, 1.6, 1], ["baoHoa", "t\u01B0\u01A1i", 0, 1.8, 1], ["am", "\u1EA5m", 0, 0.6, 0], ["mo", "m\u1EDD (px)", 0, 10, 0], ["xam", "\u0111en tr\u1EAFng", 0, 1, 0]].map((r) => /* @__PURE__ */ shim_react_default.createElement("label", { key: r[0], className: "flex items-center gap-1" }, r[1], " ", /* @__PURE__ */ shim_react_default.createElement("input", { type: "range", min: r[2], max: r[3], step: r[0] === "mo" ? 0.5 : 0.05, value: fxCua(s)[r[0]] ?? r[4], onChange: (ev) => datFxCanh(s, r[0], +ev.target.value), className: "flex-1" }), " ", (+(fxCua(s)[r[0]] ?? r[4])).toFixed(2))), /* @__PURE__ */ shim_react_default.createElement("div", { className: "flex gap-1 mt-1" }, /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: () => {
21731
21754
  dat(s.id || String(s.i), "fx", {});
21732
21755
  } }, "V\u1EC1 g\u1ED1c"), /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, onClick: () => setFxMo("") }, "\u0110\xF3ng"))) : null), /* @__PURE__ */ shim_react_default.createElement("td", { className: "text-center" }, /* @__PURE__ */ shim_react_default.createElement("input", { type: "checkbox", checked: !!e.xoa, onChange: (ev) => dat(s.id || String(s.i), "xoa", ev.target.checked ? 1 : 0) }), " ", sua[s.id] || sua[s.i] ? /* @__PURE__ */ shim_react_default.createElement("button", { className: nut3, title: "AI l\xE0m l\u1EA1i c\u1EA3nh n\xE0y (b\u1ECF s\u1EEDa tay)", onClick: () => boSuaCanh(s) }, "\u21BA") : null));
21733
21756
  })))), khungTo ? /* @__PURE__ */ shim_react_default.createElement("div", { className: "fixed inset-0 bg-black/70 flex items-center justify-center z-50", onClick: () => setKhungTo("") }, /* @__PURE__ */ shim_react_default.createElement("img", { src: khungTo, style: { height: "80vh" }, className: "rounded" })) : null, /* @__PURE__ */ shim_react_default.createElement("div", { className: "text-[#A2B2C9] mt-2" }, "Ch\u1EEF nh\u1EA5n xu\u1ED1ng d\xF2ng: g\xF5 \\n. Icon: tich, luu, chuot, sao, tim, dong-ho\u2026 (t\xEAn trong veSticker). S\u1EEDa xong b\u1EA5m V\u1EBD l\u1EA1i (~2\u20135 ph\xFAt)."));