@burdenoff/microfe-devportal 2026.703.2 → 2026.703.4

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.
@@ -2363,19 +2363,20 @@ var it = ({ app: t, versionCount: n = 0, isPackageApp: r = !1, pricingDone: i =
2363
2363
  let { workspacesGatewayUrl: c, authToken: l, workspaceId: u, getWorkspaceToken: d } = e(), { t: f } = F(), p = (e, t) => {
2364
2364
  let n = f(e);
2365
2365
  return n === e ? t : n;
2366
- }, [m, h] = P(() => rt(t)), [g, v] = P(!1), [b, x] = P(!1), [S, C] = P(null), w = N(t);
2367
- w.current = t;
2368
- let [ee] = _();
2366
+ }, [m, h] = P(() => rt(t)), [g, v] = P(!1), [b, x] = P(null), S = N(rt(t)), C = N(t);
2367
+ C.current = t;
2368
+ let w = JSON.stringify(m) !== JSON.stringify(S.current), [ee] = _();
2369
2369
  oe(() => {
2370
- h(rt(w.current)), C(null), x(!1);
2370
+ let e = rt(C.current);
2371
+ h(e), S.current = e, x(null);
2371
2372
  }, [t.id]);
2372
2373
  let E = (e, t) => {
2373
2374
  h((n) => ({
2374
2375
  ...n,
2375
2376
  [e]: t
2376
- })), C(null), x(!1);
2377
+ })), x(null);
2377
2378
  }, D = m.shortDescription.trim().length > 0 && m.privacyPolicyUrl.trim().length > 0 && m.termsOfServiceUrl.trim().length > 0, ne = async () => {
2378
- v(!0), C(null);
2379
+ v(!0), x(null);
2379
2380
  try {
2380
2381
  let e = m.screenshotsText.split("\n").map((e) => e.trim()).filter(Boolean), n = m.manifestPermissionsText.split("\n").map((e) => e.trim()).filter(Boolean), r = Z.has(m.manifestItemType), i = t.manifest ?? {}, a = {
2381
2382
  manifestVersion: typeof i.manifestVersion == "string" ? i.manifestVersion : "1.0",
@@ -2408,9 +2409,9 @@ var it = ({ app: t, versionCount: n = 0, isPackageApp: r = !1, pricingDone: i =
2408
2409
  termsOfServiceUrl: m.termsOfServiceUrl || null,
2409
2410
  manifest: a
2410
2411
  }
2411
- } }), T("success"), C("success"), x(!0);
2412
+ } }), T("success"), x("success"), S.current = m;
2412
2413
  } catch {
2413
- T("error"), C("error");
2414
+ T("error"), x("error");
2414
2415
  } finally {
2415
2416
  v(!1);
2416
2417
  }
@@ -2639,14 +2640,14 @@ var it = ({ app: t, versionCount: n = 0, isPackageApp: r = !1, pricingDone: i =
2639
2640
  /* @__PURE__ */ K("div", {
2640
2641
  className: "border-t pt-6 space-y-3",
2641
2642
  children: [
2642
- S === "success" && /* @__PURE__ */ K("div", {
2643
+ b === "success" && /* @__PURE__ */ K("div", {
2643
2644
  className: "flex items-center gap-2 rounded-md border border-success/30 bg-success/10 px-3 py-2 text-sm text-success",
2644
2645
  children: [/* @__PURE__ */ G(le, {
2645
2646
  size: 15,
2646
2647
  className: "shrink-0"
2647
2648
  }), p("devportal.storeListing.savedSuccess", "Store listing saved successfully.")]
2648
2649
  }),
2649
- S === "error" && /* @__PURE__ */ K("div", {
2650
+ b === "error" && /* @__PURE__ */ K("div", {
2650
2651
  className: "flex items-center gap-2 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",
2651
2652
  children: [/* @__PURE__ */ G(se, {
2652
2653
  size: 15,
@@ -2659,13 +2660,13 @@ var it = ({ app: t, versionCount: n = 0, isPackageApp: r = !1, pricingDone: i =
2659
2660
  /* @__PURE__ */ G("button", {
2660
2661
  type: "button",
2661
2662
  onClick: ne,
2662
- disabled: g || !D || b,
2663
- title: D ? b ? p("devportal.storeListing.alreadySaved", "No unsaved changes") : void 0 : p("devportal.storeListing.requiredFieldsHint", "Fill in Short Description, Privacy Policy URL, and Terms of Service URL to save"),
2663
+ disabled: g || !D || !w,
2664
+ title: D ? w ? void 0 : p("devportal.storeListing.noChanges", "All changes saved — edit any field to save again") : p("devportal.storeListing.requiredFieldsHint", "Fill in Short Description, Privacy Policy URL, and Terms of Service URL to save"),
2664
2665
  className: "inline-flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
2665
2666
  children: g ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(V, {
2666
2667
  size: 16,
2667
2668
  className: "animate-spin"
2668
- }), p("devportal.saving", "Saving…")] }) : b ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(L, { size: 16 }), p("devportal.saved", "Saved")] }) : /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Se, { size: 16 }), p("devportal.saveStoreListing", "Save Store Listing")] })
2669
+ }), p("devportal.saving", "Saving…")] }) : w ? /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(Se, { size: 16 }), p("devportal.saveStoreListing", "Save Store Listing")] }) : /* @__PURE__ */ K(W, { children: [/* @__PURE__ */ G(L, { size: 16 }), p("devportal.saved", "Saved")] })
2669
2670
  }),
2670
2671
  !D && /* @__PURE__ */ G("p", {
2671
2672
  className: "text-xs text-text-secondary",