@the-portland-company/shell 0.55.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/native.cjs CHANGED
@@ -1494,11 +1494,6 @@ var APP_EMAIL_CHILDREN = [
1494
1494
  { label: "Deliverability", icon: "activity", href: `${EMAIL_APP}/deliverability` }
1495
1495
  ];
1496
1496
  var EMAIL_V1_LEGACY = { label: "Email V1 (legacy)", icon: "clock", path: "/relationship/email/dashboard" };
1497
- var SMS_CHILDREN = [
1498
- { label: "Dashboard", icon: "grid", path: "/relationship/sms-mms-blast/dashboard" },
1499
- { label: "Compose & Send", icon: "send", path: "/relationship/sms-mms-blast/compose-and-send" },
1500
- { label: "Conversations", icon: "messageSquare", path: "/relationship/sms-mms-blast/conversations" }
1501
- ];
1502
1497
  var CTA_CHILDREN = [
1503
1498
  { label: "Dashboard", icon: "grid", path: "/relationship/cta-database/dashboard" },
1504
1499
  { label: "Create & Edit", icon: "edit", path: "/relationship/cta-creator/create-and-edit" },
@@ -1579,6 +1574,14 @@ function standardPolitogyNav(opts) {
1579
1574
  href: withOrg(abs(c.path)),
1580
1575
  children: c.children ? leaves(c.children) : void 0
1581
1576
  }));
1577
+ const appLeaves = (origin, children, modeParam) => {
1578
+ const base2 = origin.replace(/\/+$/, "");
1579
+ return children.map((c) => {
1580
+ const url = c.path ? `${base2}/${c.path}` : `${base2}/`;
1581
+ const withMode = modeParam ? `${url}${url.includes("?") ? "&" : "?"}mode=${modeParam}` : url;
1582
+ return { label: c.label, icon: icon(c.icon), href: withOrg(withMode) };
1583
+ });
1584
+ };
1582
1585
  const buildRelationship = () => {
1583
1586
  const contacts = opts.contactsItem ? {
1584
1587
  label: "Contacts",
@@ -1607,11 +1610,17 @@ function standardPolitogyNav(opts) {
1607
1610
  ...leaves([EMAIL_V1_LEGACY])
1608
1611
  ]
1609
1612
  },
1613
+ // SMS/MMS Blast IS a2p (Specs/A2P) — the standalone delivery engine
1614
+ // shared with Campaign Mode, not a core-hosted surface (the old
1615
+ // `/relationship/sms-mms-blast/*` core routes are dead; core no longer
1616
+ // hosts them). Every link carries `mode=relationship` so a2p's nav
1617
+ // resolves the Relationship tree instead of its own Campaign default
1618
+ // (resolveActiveMode, mode-preference.ts).
1610
1619
  {
1611
1620
  label: "SMS/MMS Blast",
1612
1621
  icon: icon("messageSquare"),
1613
- href: withOrg(abs("/relationship/sms-mms-blast/dashboard")),
1614
- children: leaves(SMS_CHILDREN)
1622
+ href: withOrg(`${A2P_ORIGIN}?mode=relationship`),
1623
+ children: appLeaves(A2P_ORIGIN, APP_A2P_CHILDREN, "relationship")
1615
1624
  },
1616
1625
  // These two carry no top-level href in VRM core (parent row only toggles).
1617
1626
  { label: "Calls to Action", icon: icon("layout"), children: leaves(CTA_CHILDREN) },
@@ -1652,14 +1661,6 @@ function standardPolitogyNav(opts) {
1652
1661
  ...CAMPAIGN_FEATURE_AVAILABILITY,
1653
1662
  ...opts.campaignAvailability
1654
1663
  };
1655
- const appLeaves = (origin, children) => {
1656
- const base2 = origin.replace(/\/+$/, "");
1657
- return children.map((c) => ({
1658
- label: c.label,
1659
- icon: icon(c.icon),
1660
- href: withOrg(c.path ? `${base2}/${c.path}` : `${base2}/`)
1661
- }));
1662
- };
1663
1664
  const rows = [
1664
1665
  { label: "Dashboard", icon: icon("home"), href: withOrg(abs("/campaign/dashboard")) },
1665
1666
  { label: "Voter Contact", icon: icon("target"), href: withOrg(abs("/campaign/campaigns")) },