xvai-loi 0.1.90 → 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 +35 -11
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.90",
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,14 +13064,15 @@ 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) {
13069
13071
  let j = -1, m = 1e9;
13072
+ const coChia = D.some((x2) => x2.bo === "chia" && duoc(x2));
13070
13073
  for (let k = 0; k < D.length; k++) {
13071
13074
  const x2 = D[k];
13072
- if (!duoc(x2)) continue;
13075
+ if (!duoc(x2) || coChia && x2.bo !== "chia") continue;
13073
13076
  const g = Math.min(k > 0 ? x2.f - D[k - 1].f : 1e9, k + 1 < D.length ? D[k + 1].f - x2.f : 1e9);
13074
13077
  if (g < m) {
13075
13078
  m = g;
@@ -13092,7 +13095,7 @@ function lapCuongMe(o) {
13092
13095
  G4.__doiNguoiBo = nD;
13093
13096
  }
13094
13097
  {
13095
- 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);
13096
13099
  let nT = 0;
13097
13100
  while (C2.length > tran) {
13098
13101
  let j = -1, m = 1e9;
@@ -13222,7 +13225,7 @@ function lapCuongMe(o) {
13222
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 });
13223
13226
  {
13224
13227
  const st = s.st === "none" || s.bo === "anh" && !s.stX && /^(tich|sao|chuot)$/.test(String(s.st || "tich")) ? "" : s.st || "";
13225
- if (st && !(stTr[st] > s.f - 6)) {
13228
+ if (st && !(stTr[st] > s.f - 6 / mucK())) {
13226
13229
  stTr[st] = s.f;
13227
13230
  the(a, bT, {
13228
13231
  loai: "cmSticker",
@@ -19199,6 +19202,11 @@ function ghepKichBan(words, kichBan) {
19199
19202
  // flow-src/services/exportFlow.ts
19200
19203
  async function handleExport(currentProject, setExporting, setExportedBlob, addLog, khung) {
19201
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
+ }
19202
19210
  try {
19203
19211
  await loadFaceLandmarker();
19204
19212
  } catch (e) {
@@ -20999,7 +21007,7 @@ async function napLoi(d) {
20999
21007
  return "LOI: " + String(e && e.message || e).slice(0, 300);
21000
21008
  }
21001
21009
  }
21002
- 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";
21003
21011
  var TRONG_LOI = !!globalThis.__xvaiReact;
21004
21012
  try {
21005
21013
  if (!TRONG_LOI) setTimeout(() => {
@@ -21029,7 +21037,7 @@ function datCauLenh(a) {
21029
21037
  on2 = true;
21030
21038
  window.addEventListener("message", async (ev) => {
21031
21039
  const d = ev.data;
21032
- if (!d || d.xvaiLoi120612 !== true) return;
21040
+ if (!d || d.xvaiLoi121314 !== true) return;
21033
21041
  const o = String(ev.origin || "");
21034
21042
  if (!(o.indexOf("https://flow.google.com") === 0 || o.indexOf("https://labs.google") === 0)) return;
21035
21043
  const tra = (kq) => {
@@ -21539,6 +21547,22 @@ var SuaLich = ({ ten, onDong }) => {
21539
21547
  return "M\u1EB7c \u0111\u1ECBnh (nghi\xEAng, tr\u1EAFng/v\xE0ng)";
21540
21548
  }
21541
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
+ };
21542
21566
  const datKc = (t) => {
21543
21567
  setKc(t);
21544
21568
  const v = KIEU_CHU[t] || {};
@@ -21704,7 +21728,7 @@ var SuaLich = ({ ten, onDong }) => {
21704
21728
  setDs(G3.__lichSp || []);
21705
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) => {
21706
21730
  if (ev.target.value) napBan(+ev.target.value);
21707
- } }, /* @__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: () => {
21708
21732
  const n = { ...v };
21709
21733
  setFx(n);
21710
21734
  G3.__xvaiMau = n;
@@ -21723,10 +21747,10 @@ var SuaLich = ({ ten, onDong }) => {
21723
21747
  const f2 = giaTri(x, "f"), d = giaTri(x, "d"), e = sua[x.id] || sua[x.i] || {};
21724
21748
  if (e.xoa) return null;
21725
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" }));
21726
- }))), /* @__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) => {
21727
21751
  const e = sua[s.id] || sua[s.i] || {};
21728
21752
  const v = (k) => (typeof e[k] === "string" ? e[k] : s[k]) || "";
21729
- 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: () => {
21730
21754
  dat(s.id || String(s.i), "fx", {});
21731
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));
21732
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)."));