@designcrowd/library.brand-page 5.17.25-undo-15 → 5.17.25-undo-16

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 (19) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-5QfzKqjC.js → CreatedOnBrandCrowd-de-de-DoZrycKx.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-Dy3tcwiJ.js → CreatedOnBrandCrowd-en-us-DmxNkDLu.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-BJ8hjzNX.js → CreatedOnBrandCrowd-es-es-H-sFjCV8.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-Crc2IixX.js → CreatedOnBrandCrowd-fr-ca-B5DkiLEB.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-Crc2IixX.js → CreatedOnBrandCrowd-fr-fr-B5DkiLEB.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-wWrA-4hb.js → CreatedOnBrandCrowd-pt-br-ChETDqmY.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-wWrA-4hb.js → CreatedOnBrandCrowd-pt-pt-ChETDqmY.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-CeYxTDS_.js → CreatedOnDcom-de-de-CTkJ8L32.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-V7XXdsPr.js → CreatedOnDcom-en-us-CysCo5GG.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-BIu7YLYP.js → CreatedOnDcom-es-es-MMQzRb1p.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-bFnkqoIY.js → CreatedOnDcom-fr-ca-DuYHuEkT.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-DVmgOG0x.js → CreatedOnDcom-fr-fr-DaxFqnuU.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-CnKjkT-U.js → CreatedOnDcom-pt-br-BsGlw26o.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-D9bVqfon.js → CreatedOnDcom-pt-pt-_-XMVOfR.js} +1 -1
  15. package/lib/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.js +19 -10
  16. package/lib/src/index.mjs +1 -1
  17. package/lib/src/{lib-CptQVW37.js → lib-BgiRnWCM.js} +6 -6
  18. package/package.json +1 -1
  19. package/src/brand-page-maker/stores/brandpage-container/brand-page-container-store.ts +21 -12
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "275",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "251",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "250",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "237",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as l, createStaticVNode as a } from "vue";
2
- import { _ as t } from "./lib-CptQVW37.js";
2
+ import { _ as t } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, h = {
4
4
  width: "263",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CptQVW37.js";
2
+ import { _ as e } from "./lib-BgiRnWCM.js";
3
3
  const M = {}, Z = {
4
4
  width: "242",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CptQVW37.js";
2
+ import { _ as e } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, M = {
4
4
  width: "231",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CptQVW37.js";
2
+ import { _ as e } from "./lib-BgiRnWCM.js";
3
3
  const M = {}, Z = {
4
4
  width: "230",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CptQVW37.js";
2
+ import { _ as e } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as e } from "./lib-CptQVW37.js";
2
+ import { _ as e } from "./lib-BgiRnWCM.js";
3
3
  const i = {}, l = {
4
4
  width: "216",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CptQVW37.js";
2
+ import { _ as M } from "./lib-BgiRnWCM.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -1,5 +1,5 @@
1
1
  import { openBlock as H, createElementBlock as V, createStaticVNode as t } from "vue";
2
- import { _ as M } from "./lib-CptQVW37.js";
2
+ import { _ as M } from "./lib-BgiRnWCM.js";
3
3
  const Z = {}, e = {
4
4
  width: "232",
5
5
  height: "36",
@@ -625,6 +625,25 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
625
625
  this.setTriggerSaveSuccessMessage({
626
626
  triggerSaveSuccessMessage: true,
627
627
  });
628
+ // PRD §3 Non-Goals: undo history resets on save/publish so the
629
+ // saved state becomes the new clean baseline. Reset BEFORE
630
+ // awaiting the notification toast — the post-save reactive
631
+ // cascade (designDraftToken update + replaceState URL rewrite
632
+ // → router afterEach → pageNavigation writes) starts firing
633
+ // immediately and would otherwise be picked up by the watcher
634
+ // as a fresh undoable entry, leaving the user able to undo
635
+ // back across the save. Gate on `baselineCaptured` so
636
+ // non-undo-redo sessions are no-ops (the baseline is only
637
+ // captured when the feature flag is on — see
638
+ // BrandPageMaker.mixin.ts). Both Save Progress and Publish
639
+ // funnel here (publish via `saveAndPublishBrandPage` →
640
+ // `saveBrandPage`). reset() re-baselines synchronously so the
641
+ // post-save cascade folds into the new baseline's settle
642
+ // window instead of producing extra entries.
643
+ const historyStore = useHistoryStore();
644
+ if (historyStore.baselineCaptured) {
645
+ historyStore.reset();
646
+ }
628
647
  if (brandPageMakerStore.contentErrorCount > 0) {
629
648
  await brandPageMakerStore.setSelectedTabName({
630
649
  tabName: SIDE_BAR_TAB_NAMES.CONTENT_SETTINGS,
@@ -637,16 +656,6 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
637
656
  await this.showSaveSuccessMessage();
638
657
  await brandPageMakerStore.showNextNotificationMessage();
639
658
  }
640
- // PRD §3 Non-Goals: undo history resets on save/publish so the
641
- // saved state becomes the new clean baseline. Gate on
642
- // `baselineCaptured` so non-undo-redo sessions are no-ops (the
643
- // baseline is only captured when the feature flag is on — see
644
- // BrandPageMaker.mixin.ts). Both Save Progress and Publish funnel
645
- // here (publish via `saveAndPublishBrandPage` → `saveBrandPage`).
646
- const historyStore = useHistoryStore();
647
- if (historyStore.baselineCaptured) {
648
- historyStore.reset();
649
- }
650
659
  return {
651
660
  saved: true,
652
661
  canPublish: response.canPublish,
package/lib/src/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as E, a as T, b as s, c as I, d as S, e as N, f as e, B as A, g as O, h as C, i as G, j as D, k as P, l as t, m as R, n as L, o as M, p as o, q as r, r as b, s as n, t as F, u as i, v as l, w as g, x as B, y as c, z as Y, C as U, D as d, E as u, F as H, G as p, H as y, I as K, J as k, K as m, L as V, M as X, N as h, O as v, P as W, Q as f, R as x, S as z, T as w, U as Z, V as j, W as Q, X as q, Y as J, Z as $, $ as aa, a0 as _a, a1 as Ea, a2 as Ta, a3 as sa, a4 as Ia, a5 as Sa, a6 as Na, a7 as ea, a8 as Aa, a9 as Oa, aa as Ca, ab as Ga, ac as Da, ad as Pa, ae as ta, af as Ra, ag as La, ah as Ma, ai as oa, aj as ra, ak as ba, al as na, am as Fa, an as ia, ao as la, ap as ga, aq as Ba, ar as ca, as as Ya, at as Ua, au as da, av as ua, aw as Ha, ax as pa, ay as ya, az as Ka, aA as ka, aB as ma, aC as Va, aD as Xa, aE as ha, aF as va, aG as Wa, aH as fa, aI as xa, aJ as za, aK as wa, aL as Za, aM as ja, aN as Qa, aO as qa, aP as Ja, aQ as $a, aR as a_, aS as __, aT as E_, aU as T_, aV as s_, aW as I_, aX as S_, aY as N_, aZ as e_, a_ as A_, a$ as O_, b0 as C_, b1 as G_, b2 as D_, b3 as P_, b4 as t_, b5 as R_, b6 as L_, b7 as M_, b8 as o_, b9 as r_, ba as b_, bb as n_, bc as F_, bd as i_, be as l_, bf as g_, bg as B_, bh as c_, bi as Y_, bj as U_, bk as d_, bl as u_, bm as H_, bn as p_, bo as y_, bp as K_, bq as k_, br as m_, bs as V_, bt as X_, bu as h_, bv as v_, bw as W_, bx as f_, by as x_, bz as z_, bA as w_, bB as Z_, bC as j_, bD as Q_, bE as q_, bF as J_, bG as $_, bH as aE, bI as _E, bJ as EE, bK as TE, bL as sE, bM as IE, bN as SE, bO as NE, bP as eE, bQ as AE, bR as OE, bS as CE, bT as GE, bU as DE, bV as PE, bW as tE, bX as RE, bY as LE, bZ as ME, b_ as oE, b$ as rE, c0 as bE, c1 as nE, c2 as FE, c3 as iE, c4 as lE, c5 as gE, c6 as BE, c7 as cE, c8 as YE, c9 as UE, ca as dE, cb as uE, cc as HE, cd as pE, ce as yE, cf as KE, cg as kE, ch as mE, ci as VE, cj as XE, ck as hE, cl as vE, cm as WE, cn as fE, co as xE } from "./lib-CptQVW37.js";
1
+ import { A as E, a as T, b as s, c as I, d as S, e as N, f as e, B as A, g as O, h as C, i as G, j as D, k as P, l as t, m as R, n as L, o as M, p as o, q as r, r as b, s as n, t as F, u as i, v as l, w as g, x as B, y as c, z as Y, C as U, D as d, E as u, F as H, G as p, H as y, I as K, J as k, K as m, L as V, M as X, N as h, O as v, P as W, Q as f, R as x, S as z, T as w, U as Z, V as j, W as Q, X as q, Y as J, Z as $, $ as aa, a0 as _a, a1 as Ea, a2 as Ta, a3 as sa, a4 as Ia, a5 as Sa, a6 as Na, a7 as ea, a8 as Aa, a9 as Oa, aa as Ca, ab as Ga, ac as Da, ad as Pa, ae as ta, af as Ra, ag as La, ah as Ma, ai as oa, aj as ra, ak as ba, al as na, am as Fa, an as ia, ao as la, ap as ga, aq as Ba, ar as ca, as as Ya, at as Ua, au as da, av as ua, aw as Ha, ax as pa, ay as ya, az as Ka, aA as ka, aB as ma, aC as Va, aD as Xa, aE as ha, aF as va, aG as Wa, aH as fa, aI as xa, aJ as za, aK as wa, aL as Za, aM as ja, aN as Qa, aO as qa, aP as Ja, aQ as $a, aR as a_, aS as __, aT as E_, aU as T_, aV as s_, aW as I_, aX as S_, aY as N_, aZ as e_, a_ as A_, a$ as O_, b0 as C_, b1 as G_, b2 as D_, b3 as P_, b4 as t_, b5 as R_, b6 as L_, b7 as M_, b8 as o_, b9 as r_, ba as b_, bb as n_, bc as F_, bd as i_, be as l_, bf as g_, bg as B_, bh as c_, bi as Y_, bj as U_, bk as d_, bl as u_, bm as H_, bn as p_, bo as y_, bp as K_, bq as k_, br as m_, bs as V_, bt as X_, bu as h_, bv as v_, bw as W_, bx as f_, by as x_, bz as z_, bA as w_, bB as Z_, bC as j_, bD as Q_, bE as q_, bF as J_, bG as $_, bH as aE, bI as _E, bJ as EE, bK as TE, bL as sE, bM as IE, bN as SE, bO as NE, bP as eE, bQ as AE, bR as OE, bS as CE, bT as GE, bU as DE, bV as PE, bW as tE, bX as RE, bY as LE, bZ as ME, b_ as oE, b$ as rE, c0 as bE, c1 as nE, c2 as FE, c3 as iE, c4 as lE, c5 as gE, c6 as BE, c7 as cE, c8 as YE, c9 as UE, ca as dE, cb as uE, cc as HE, cd as pE, ce as yE, cf as KE, cg as kE, ch as mE, ci as VE, cj as XE, ck as hE, cl as vE, cm as WE, cn as fE, co as xE } from "./lib-BgiRnWCM.js";
2
2
  import { createPinia as wE, setActivePinia as ZE } from "pinia";
3
3
  export {
4
4
  E as ABOUT_SECTION_SETTINGS_CONFIG,
@@ -62398,10 +62398,10 @@ const Yn = /* @__PURE__ */ Z6(GB1), WB1 = (e, t, n) => {
62398
62398
  R2(() => n.context.isDesignCom, async () => {
62399
62399
  const M = P6().toLowerCase(), _ = n.context.isDesignCom ? "Dcom" : "BrandCrowd";
62400
62400
  try {
62401
- const { default: V } = await wk(/* @__PURE__ */ Object.assign({ "./watermark/CreatedOnBrandCrowd-de-de.vue": () => import("./CreatedOnBrandCrowd-de-de-5QfzKqjC.js"), "./watermark/CreatedOnBrandCrowd-en-us.vue": () => import("./CreatedOnBrandCrowd-en-us-Dy3tcwiJ.js"), "./watermark/CreatedOnBrandCrowd-es-es.vue": () => import("./CreatedOnBrandCrowd-es-es-BJ8hjzNX.js"), "./watermark/CreatedOnBrandCrowd-fr-ca.vue": () => import("./CreatedOnBrandCrowd-fr-ca-Crc2IixX.js"), "./watermark/CreatedOnBrandCrowd-fr-fr.vue": () => import("./CreatedOnBrandCrowd-fr-fr-Crc2IixX.js"), "./watermark/CreatedOnBrandCrowd-pt-br.vue": () => import("./CreatedOnBrandCrowd-pt-br-wWrA-4hb.js"), "./watermark/CreatedOnBrandCrowd-pt-pt.vue": () => import("./CreatedOnBrandCrowd-pt-pt-wWrA-4hb.js"), "./watermark/CreatedOnDcom-de-de.vue": () => import("./CreatedOnDcom-de-de-CeYxTDS_.js"), "./watermark/CreatedOnDcom-en-us.vue": () => import("./CreatedOnDcom-en-us-V7XXdsPr.js"), "./watermark/CreatedOnDcom-es-es.vue": () => import("./CreatedOnDcom-es-es-BIu7YLYP.js"), "./watermark/CreatedOnDcom-fr-ca.vue": () => import("./CreatedOnDcom-fr-ca-bFnkqoIY.js"), "./watermark/CreatedOnDcom-fr-fr.vue": () => import("./CreatedOnDcom-fr-fr-DVmgOG0x.js"), "./watermark/CreatedOnDcom-pt-br.vue": () => import("./CreatedOnDcom-pt-br-CnKjkT-U.js"), "./watermark/CreatedOnDcom-pt-pt.vue": () => import("./CreatedOnDcom-pt-pt-D9bVqfon.js") }), `./watermark/CreatedOn${_}-${M}.vue`, 3);
62401
+ const { default: V } = await wk(/* @__PURE__ */ Object.assign({ "./watermark/CreatedOnBrandCrowd-de-de.vue": () => import("./CreatedOnBrandCrowd-de-de-DoZrycKx.js"), "./watermark/CreatedOnBrandCrowd-en-us.vue": () => import("./CreatedOnBrandCrowd-en-us-DmxNkDLu.js"), "./watermark/CreatedOnBrandCrowd-es-es.vue": () => import("./CreatedOnBrandCrowd-es-es-H-sFjCV8.js"), "./watermark/CreatedOnBrandCrowd-fr-ca.vue": () => import("./CreatedOnBrandCrowd-fr-ca-B5DkiLEB.js"), "./watermark/CreatedOnBrandCrowd-fr-fr.vue": () => import("./CreatedOnBrandCrowd-fr-fr-B5DkiLEB.js"), "./watermark/CreatedOnBrandCrowd-pt-br.vue": () => import("./CreatedOnBrandCrowd-pt-br-ChETDqmY.js"), "./watermark/CreatedOnBrandCrowd-pt-pt.vue": () => import("./CreatedOnBrandCrowd-pt-pt-ChETDqmY.js"), "./watermark/CreatedOnDcom-de-de.vue": () => import("./CreatedOnDcom-de-de-CTkJ8L32.js"), "./watermark/CreatedOnDcom-en-us.vue": () => import("./CreatedOnDcom-en-us-CysCo5GG.js"), "./watermark/CreatedOnDcom-es-es.vue": () => import("./CreatedOnDcom-es-es-MMQzRb1p.js"), "./watermark/CreatedOnDcom-fr-ca.vue": () => import("./CreatedOnDcom-fr-ca-DuYHuEkT.js"), "./watermark/CreatedOnDcom-fr-fr.vue": () => import("./CreatedOnDcom-fr-fr-DaxFqnuU.js"), "./watermark/CreatedOnDcom-pt-br.vue": () => import("./CreatedOnDcom-pt-br-BsGlw26o.js"), "./watermark/CreatedOnDcom-pt-pt.vue": () => import("./CreatedOnDcom-pt-pt-_-XMVOfR.js") }), `./watermark/CreatedOn${_}-${M}.vue`, 3);
62402
62402
  i.value = V;
62403
62403
  } catch {
62404
- const { default: H } = await wk(/* @__PURE__ */ Object.assign({ "./watermark/CreatedOnBrandCrowd-en-us.vue": () => import("./CreatedOnBrandCrowd-en-us-Dy3tcwiJ.js"), "./watermark/CreatedOnDcom-en-us.vue": () => import("./CreatedOnDcom-en-us-V7XXdsPr.js") }), `./watermark/CreatedOn${_}-en-us.vue`, 3);
62404
+ const { default: H } = await wk(/* @__PURE__ */ Object.assign({ "./watermark/CreatedOnBrandCrowd-en-us.vue": () => import("./CreatedOnBrandCrowd-en-us-DmxNkDLu.js"), "./watermark/CreatedOnDcom-en-us.vue": () => import("./CreatedOnDcom-en-us-CysCo5GG.js") }), `./watermark/CreatedOn${_}-en-us.vue`, 3);
62405
62405
  i.value = H;
62406
62406
  }
62407
62407
  }, {
@@ -74372,13 +74372,13 @@ const Zk = () => vp || (vp = new IY1()), ud = (e, t) => EY1(e).then(
74372
74372
  }
74373
74373
  this.slug !== r.slug && this.setSlug({ slug: r.slug }), this.setTriggerSaveSuccessMessage({
74374
74374
  triggerSaveSuccessMessage: !0
74375
- }), n.contentErrorCount > 0 && await n.setSelectedTabName({
74375
+ });
74376
+ const a = x0();
74377
+ return a.baselineCaptured && a.reset(), n.contentErrorCount > 0 && await n.setSelectedTabName({
74376
74378
  tabName: V3.CONTENT_SETTINGS
74377
74379
  }), this.setTriggerSaveSuccessMessage({
74378
74380
  triggerSaveSuccessMessage: !0
74379
- }), e.isPublish || (await this.showSaveSuccessMessage(), await n.showNextNotificationMessage());
74380
- const a = x0();
74381
- return a.baselineCaptured && a.reset(), {
74381
+ }), e.isPublish || (await this.showSaveSuccessMessage(), await n.showNextNotificationMessage()), {
74382
74382
  saved: !0,
74383
74383
  canPublish: r.canPublish,
74384
74384
  websiteUpsellModalViewModel: r.websiteUpsellModalViewModel
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designcrowd/library.brand-page",
3
3
  "description": "A collection of Maker/Designer applications",
4
- "version": "5.17.25-undo-15",
4
+ "version": "5.17.25-undo-16",
5
5
  "author": "Design.com Eng",
6
6
  "license": "UNLICENSED",
7
7
  "type": "module",
@@ -978,6 +978,27 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
978
978
  triggerSaveSuccessMessage: true,
979
979
  });
980
980
 
981
+ // PRD §3 Non-Goals: undo history resets on save/publish so the
982
+ // saved state becomes the new clean baseline. Reset BEFORE
983
+ // awaiting the notification toast — the post-save reactive
984
+ // cascade (designDraftToken update + replaceState URL rewrite
985
+ // → router afterEach → pageNavigation writes) starts firing
986
+ // immediately and would otherwise be picked up by the watcher
987
+ // as a fresh undoable entry, leaving the user able to undo
988
+ // back across the save. Gate on `baselineCaptured` so
989
+ // non-undo-redo sessions are no-ops (the baseline is only
990
+ // captured when the feature flag is on — see
991
+ // BrandPageMaker.mixin.ts). Both Save Progress and Publish
992
+ // funnel here (publish via `saveAndPublishBrandPage` →
993
+ // `saveBrandPage`). reset() re-baselines synchronously so the
994
+ // post-save cascade folds into the new baseline's settle
995
+ // window instead of producing extra entries.
996
+ const historyStore = useHistoryStore();
997
+
998
+ if (historyStore.baselineCaptured) {
999
+ historyStore.reset();
1000
+ }
1001
+
981
1002
  if (brandPageMakerStore.contentErrorCount > 0) {
982
1003
  await brandPageMakerStore.setSelectedTabName({
983
1004
  tabName: SIDE_BAR_TAB_NAMES.CONTENT_SETTINGS,
@@ -994,18 +1015,6 @@ export const useBrandPageContainerStore = defineStore('brandPageContainer', {
994
1015
  await brandPageMakerStore.showNextNotificationMessage();
995
1016
  }
996
1017
 
997
- // PRD §3 Non-Goals: undo history resets on save/publish so the
998
- // saved state becomes the new clean baseline. Gate on
999
- // `baselineCaptured` so non-undo-redo sessions are no-ops (the
1000
- // baseline is only captured when the feature flag is on — see
1001
- // BrandPageMaker.mixin.ts). Both Save Progress and Publish funnel
1002
- // here (publish via `saveAndPublishBrandPage` → `saveBrandPage`).
1003
- const historyStore = useHistoryStore();
1004
-
1005
- if (historyStore.baselineCaptured) {
1006
- historyStore.reset();
1007
- }
1008
-
1009
1018
  return {
1010
1019
  saved: true,
1011
1020
  canPublish: response.canPublish,