@the-portland-company/shell 0.96.1 → 0.97.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.
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { S as StandardNavIconKey, o as NavIcon, N as NavItem, p as NavBreadcrumb, q as StandardNavMode, s as NavLinkComponent, t as NavChromeFetcher, u as NavMode, v as NavUserMenu, w as NavOrgOption, f as NotificationsAdapter, x as NavFooterLink, y as NavFooter, z as NavDisplayMode } from './index-3YFy4JHI.cjs';
3
+ import { S as StandardNavIconKey, o as NavIcon, N as NavItem, p as NavBreadcrumb, q as StandardNavMode, s as NavLinkComponent, t as NavChromeFetcher, u as NavMode, v as NavUserMenu, w as NavOrgOption, f as NotificationsAdapter, x as NavFooterLink, y as NavFooter, z as NavDisplayMode } from './index-BaUIPQpN.cjs';
4
4
  import './theme-preference.cjs';
5
5
  import './brand-favicon.cjs';
6
6
 
@@ -522,8 +522,11 @@ declare function PolitogyAppChrome({ storagePrefix, proxyBasePath, fetchJson: fe
522
522
  identity: ChromeIdentity;
523
523
  children: ReactNode;
524
524
  }): react_jsx_runtime.JSX.Element;
525
- /** The standard top-bar action cluster — Reference/UI-Platform v30 "Top bar":
526
- * Search | Dev notes | Credits | Notifications | Help (farthest right). The
525
+ /** The standard top-bar action cluster — Reference/UI-Platform "Top bar":
526
+ * Search | Credits | Notifications | Organization settings | My profile.
527
+ * Help (the support-request modal) left the top bar on 2026-11-04 (Ben). A
528
+ * left-bar footer "Support" link to the website's support page follows once
529
+ * politogyvrm.com/support is live (branch feat/footer-support-link-later). The
527
530
  * Navigation Display switcher moved into the account menu (0.68.0); the Spec
528
531
  * overlay slot still renders between Credits and Notifications when the
529
532
  * signed-in user is allowed it (it draws nothing otherwise). */
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { S as StandardNavIconKey, o as NavIcon, N as NavItem, p as NavBreadcrumb, q as StandardNavMode, s as NavLinkComponent, t as NavChromeFetcher, u as NavMode, v as NavUserMenu, w as NavOrgOption, f as NotificationsAdapter, x as NavFooterLink, y as NavFooter, z as NavDisplayMode } from './index-CqHKy3vG.js';
3
+ import { S as StandardNavIconKey, o as NavIcon, N as NavItem, p as NavBreadcrumb, q as StandardNavMode, s as NavLinkComponent, t as NavChromeFetcher, u as NavMode, v as NavUserMenu, w as NavOrgOption, f as NotificationsAdapter, x as NavFooterLink, y as NavFooter, z as NavDisplayMode } from './index-BEMGfLpI.js';
4
4
  import './theme-preference.js';
5
5
  import './brand-favicon.js';
6
6
 
@@ -522,8 +522,11 @@ declare function PolitogyAppChrome({ storagePrefix, proxyBasePath, fetchJson: fe
522
522
  identity: ChromeIdentity;
523
523
  children: ReactNode;
524
524
  }): react_jsx_runtime.JSX.Element;
525
- /** The standard top-bar action cluster — Reference/UI-Platform v30 "Top bar":
526
- * Search | Dev notes | Credits | Notifications | Help (farthest right). The
525
+ /** The standard top-bar action cluster — Reference/UI-Platform "Top bar":
526
+ * Search | Credits | Notifications | Organization settings | My profile.
527
+ * Help (the support-request modal) left the top bar on 2026-11-04 (Ben). A
528
+ * left-bar footer "Support" link to the website's support page follows once
529
+ * politogyvrm.com/support is live (branch feat/footer-support-link-later). The
527
530
  * Navigation Display switcher moved into the account menu (0.68.0); the Spec
528
531
  * overlay slot still renders between Credits and Notifications when the
529
532
  * signed-in user is allowed it (it draws nothing otherwise). */
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import { broadcastLogout, watchLogout } from './chunk-LL6LSJAH.js';
3
3
  import { writeUrlState } from './chunk-GVQKZI5X.js';
4
- import { clearBetaBannerDismissal, standardPolitogyNav, standardNavIcons, isNavItemActive, NavAppShell } from './chunk-V2OFN2S2.js';
5
- export { standardNavIcons } from './chunk-V2OFN2S2.js';
6
- import { orgIdTail, authBaseUrl, settingsBaseUrl, ORG_ID_QUERY_PARAM, readOrgSelectorFromUrl, matchOrgSelector, syncOrgIdInUrl, isOrgId, switchActiveOrg, ACTIVE_ORG_QUERY_PARAM, writeActiveOrgCookie, resolveActiveOrg, readActiveOrgCookie } from './chunk-5LO5W7W5.js';
7
- import { warnDeprecated, NavChromeProvider, TopBarWidgetSlot, FuelAction, SpecOverlayAction, NotificationsAction, SupportAction, useChromeMe, useNavChromeDedupedFetch, useChromeOrgs, useNavChromeFetcher } from './chunk-5OTXPYZU.js';
4
+ import { clearBetaBannerDismissal, standardPolitogyNav, standardNavIcons, isNavItemActive, NavAppShell } from './chunk-WQR42AGC.js';
5
+ export { standardNavIcons } from './chunk-WQR42AGC.js';
6
+ import { orgIdTail, ORG_ID_QUERY_PARAM, settingsBaseUrl, authBaseUrl, readOrgSelectorFromUrl, matchOrgSelector, syncOrgIdInUrl, isOrgId, switchActiveOrg, ACTIVE_ORG_QUERY_PARAM, writeActiveOrgCookie, resolveActiveOrg, readActiveOrgCookie } from './chunk-5LO5W7W5.js';
7
+ import { warnDeprecated, NavChromeProvider, FuelAction, NotificationsAction, OrganizationSettingsAction, MyProfileAction, useChromeMe, useNavChromeDedupedFetch, useChromeOrgs, useNavChromeFetcher } from './chunk-VAQNZD37.js';
8
8
  import './chunk-BHRVZPZ7.js';
9
9
  import { NAV_DISPLAY_DEFAULT, resolveNavDisplay, writeNavDisplayLocal, writeNavDisplayCookie, isNavDisplayPreference, NAV_DISPLAY_STORAGE_KEY, readNavDisplayCookie } from './chunk-7YVJ7HQG.js';
10
10
  import { useBrandAssets, BrandFavicon } from './chunk-BMR5WAWH.js';
11
11
  import { createContext, useMemo, useRef, useEffect, useState, useCallback, useContext } from 'react';
12
- import { DevNotesMenu, createDevNotesClient, DevNotesProvider, DevNotesTaskListModal, DevNotesOverlay } from '@the-portland-company/devnotes';
13
- import { LuNotebookPen, LuContactRound, LuMegaphone, LuFilePenLine } from 'react-icons/lu';
12
+ import { createDevNotesClient, DevNotesProvider, DevNotesTaskListModal, DevNotesOverlay } from '@the-portland-company/devnotes';
13
+ import { LuContactRound, LuMegaphone, LuFilePenLine } from 'react-icons/lu';
14
14
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
15
15
 
16
16
  // src/lib/breadcrumbs.ts
@@ -829,6 +829,7 @@ function FrameBody({
829
829
  name: activeCoreOrg.name,
830
830
  id: activeCoreOrg.id,
831
831
  logoUrl: activeCoreOrg.logoUrl,
832
+ iconUrl: activeCoreOrg.iconUrl ?? null,
832
833
  brandColor: activeCoreOrg.brandColor,
833
834
  organizations: coreOrgs,
834
835
  onSwitch: chrome?.setOrgId
@@ -932,6 +933,7 @@ function TokenChromeStateProvider({
932
933
  id: o.id,
933
934
  name: o.name,
934
935
  logoUrl: o.logoUrl,
936
+ iconUrl: o.iconUrl ?? null,
935
937
  brandColor: o.brandColor,
936
938
  role: o.role,
937
939
  rawRole: o.rawRole ?? null
@@ -1192,6 +1194,7 @@ function ChromeStateProvider({
1192
1194
  id: o.id,
1193
1195
  name: o.name,
1194
1196
  logoUrl: o.logoUrl,
1197
+ iconUrl: o.iconUrl ?? null,
1195
1198
  brandColor: o.brandColor,
1196
1199
  role: o.role,
1197
1200
  rawRole: o.rawRole ?? null
@@ -1209,6 +1212,7 @@ function ChromeStateProvider({
1209
1212
  id: o.id,
1210
1213
  name: o.name,
1211
1214
  logoUrl: o.logoUrl,
1215
+ iconUrl: o.iconUrl ?? null,
1212
1216
  brandColor: o.brandColor,
1213
1217
  role: o.role,
1214
1218
  rawRole: o.rawRole ?? null
@@ -1401,26 +1405,15 @@ function ChromeTopBarActions() {
1401
1405
  const state = useChromeState();
1402
1406
  if (!state) return null;
1403
1407
  const settledOrgId = state.orgsLoading ? null : state.orgId;
1408
+ const tail = orgIdTail(state.orgId);
1409
+ const orgQuery = tail ? `?${ORG_ID_QUERY_PARAM}=${tail}` : "";
1404
1410
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1405
- /* @__PURE__ */ jsx(
1406
- TopBarWidgetSlot,
1407
- {
1408
- title: "DevNotes",
1409
- description: "Capture bugs and notes, filed straight to Forge.",
1410
- children: /* @__PURE__ */ jsx(ChromeDevNotesMenu, {})
1411
- }
1412
- ),
1413
1411
  /* @__PURE__ */ jsx(FuelAction, { orgId: settledOrgId }),
1414
- /* @__PURE__ */ jsx(SpecOverlayAction, { orgId: state.orgId, orgName: state.orgs.find((o) => o.id === state.orgId)?.name ?? null }),
1415
1412
  /* @__PURE__ */ jsx(NotificationsAction, { orgId: settledOrgId }),
1416
- /* @__PURE__ */ jsx(SupportAction, { orgId: state.orgId, orgs: state.orgs.length ? state.orgs : void 0 })
1413
+ /* @__PURE__ */ jsx(OrganizationSettingsAction, { href: `${settingsBaseUrl()}/organization-settings${orgQuery}` }),
1414
+ /* @__PURE__ */ jsx(MyProfileAction, { href: `${authBaseUrl()}/my-profile${orgQuery}` })
1417
1415
  ] });
1418
1416
  }
1419
- function ChromeDevNotesMenu() {
1420
- const { ready, openTasks, activate } = useContext(DevNotesTasksContext);
1421
- if (!ready) return null;
1422
- return /* @__PURE__ */ jsx("span", { style: { display: "contents" }, onPointerDownCapture: activate, onFocusCapture: activate, onKeyDownCapture: activate, children: /* @__PURE__ */ jsx(DevNotesMenu, { position: "top-right", icon: LuNotebookPen, onViewTasks: openTasks }) });
1423
- }
1424
1417
  function useIsSuperAdmin() {
1425
1418
  const state = useChromeState();
1426
1419
  return (state?.orgs ?? []).some((o) => /super/i.test(o.rawRole ?? ""));
@@ -1470,11 +1463,13 @@ function useChromeUserMenu({
1470
1463
  organizationSettingsHref: `${settings}/organization-settings${orgSuffix}`,
1471
1464
  roles: (state?.orgs ?? []).filter((o) => o.rawRole || o.role).map((o) => ({ role: o.rawRole ?? o.role, orgName: o.name })),
1472
1465
  accounts: [{ id: userId, name: userName, email, avatarUrl: null, active: true }],
1473
- addAccountHref: `${auth}/my-profile#accounts`,
1466
+ addAccountHref: `${auth}/my-profile#accounts`
1474
1467
  // No theme control: the product is light only (Reference/UI-Platform
1475
1468
  // "Theme — light only"; shell 0.73.0 stopped applying dark). The account
1476
1469
  // menu rendered an "Appearance" radio with one option until 0.77.0.
1477
- navDisplay: state ? { value: state.navDisplay, onChange: state.setNavDisplay } : void 0
1470
+ // Ben 2026-11-04: no Navigation display option in the account menu. The
1471
+ // preference itself (state.navDisplay, its storage and the frame's use of
1472
+ // it) is unchanged; only the menu control is gone.
1478
1473
  };
1479
1474
  }
1480
1475
  var MODE_DEFS = [