@campfire-interactive/shell-header 0.15.0 → 0.15.1
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/index.d.ts +6 -0
- package/dist/index.js +7 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -39,6 +39,12 @@ interface AppDefinition {
|
|
|
39
39
|
* admin-style apps (e.g. User Management → ['admin', 'owner']).
|
|
40
40
|
*/
|
|
41
41
|
requiresRole?: string[];
|
|
42
|
+
/**
|
|
43
|
+
* When true, the app is omitted from launcher surfaces — the AppSwitcher
|
|
44
|
+
* dropdown (and the /home launcher should honor it too). For apps reached
|
|
45
|
+
* another way: e.g. DMS, surfaced via the user-menu "Documents" link.
|
|
46
|
+
*/
|
|
47
|
+
hideFromLauncher?: boolean;
|
|
42
48
|
/**
|
|
43
49
|
* Optional path to append to the app's origin when building tile links
|
|
44
50
|
* (and the localhost fallback). Omit for apps whose root URL is the
|
package/dist/index.js
CHANGED
|
@@ -97,15 +97,18 @@ var appCatalog = [
|
|
|
97
97
|
},
|
|
98
98
|
// ── Platform services (available to everyone; no role gate) ─────────────
|
|
99
99
|
{
|
|
100
|
+
// Header title uses `name`; DMS wants its full name there, and it's hidden
|
|
101
|
+
// from the launcher (reached via the user-menu "Documents" link instead),
|
|
102
|
+
// so `name` carries the full title and `fullName` is dropped (would equal it).
|
|
100
103
|
id: "dms",
|
|
101
|
-
name: "
|
|
102
|
-
fullName: "Document Management",
|
|
104
|
+
name: "Document Management",
|
|
103
105
|
icon: "Files",
|
|
104
106
|
letter: "D",
|
|
105
107
|
color: "#64748b",
|
|
106
108
|
byline: "Every file in one place \u2014 the platform document store every app reads from and writes to.",
|
|
107
109
|
group: "apps",
|
|
108
|
-
localPort: 3800
|
|
110
|
+
localPort: 3800,
|
|
111
|
+
hideFromLauncher: true
|
|
109
112
|
},
|
|
110
113
|
// ── Admin (role-gated; pinned to the end of both surfaces) ──────────────
|
|
111
114
|
{
|
|
@@ -207,7 +210,7 @@ function AppSwitcher({ currentAppId, authorizedApps, currentTenantRole }) {
|
|
|
207
210
|
const [open, setOpen] = useState(false);
|
|
208
211
|
const ref = useRef(null);
|
|
209
212
|
const visibleApps = appCatalog.filter(
|
|
210
|
-
(a) => authorizedApps.includes(a.id) && (!a.requiresRole || currentTenantRole !== void 0 && a.requiresRole.includes(currentTenantRole))
|
|
213
|
+
(a) => authorizedApps.includes(a.id) && !a.hideFromLauncher && (!a.requiresRole || currentTenantRole !== void 0 && a.requiresRole.includes(currentTenantRole))
|
|
211
214
|
);
|
|
212
215
|
const orderedApps = [
|
|
213
216
|
...visibleApps.filter((a) => a.group !== "admin"),
|