@unisim/sdk 0.3.2 → 0.4.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.
|
@@ -44,6 +44,16 @@ export interface UniversalNavBarProps {
|
|
|
44
44
|
showBrandStrip?: boolean;
|
|
45
45
|
/** Where the central hub lives. Used for the "Sign in" link on anonymous sessions. */
|
|
46
46
|
hubLoginHref?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Max-width of the navbar's inner content, in px (number) or any CSS length
|
|
49
|
+
* (string, e.g. '80rem' or '100%'). The bottom border and brand strip still
|
|
50
|
+
* span the full viewport — only the row of items is centred and constrained
|
|
51
|
+
* so it lines up with the product's page-content container.
|
|
52
|
+
*
|
|
53
|
+
* Default 1280 (Tailwind's `max-w-7xl`). Pass '100%' to opt out of the
|
|
54
|
+
* constraint entirely.
|
|
55
|
+
*/
|
|
56
|
+
contentMaxWidth?: number | string;
|
|
47
57
|
className?: string;
|
|
48
58
|
style?: CSSProperties;
|
|
49
59
|
}
|
|
@@ -61,5 +71,5 @@ export interface UniversalNavBarProps {
|
|
|
61
71
|
* │ · ⚙ · 👤 · ⊞ │
|
|
62
72
|
* └──────────────────────────────────────────────────────────────────────┘
|
|
63
73
|
*/
|
|
64
|
-
export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip, hubLoginHref, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip, hubLoginHref, contentMaxWidth, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
|
|
65
75
|
//# sourceMappingURL=UniversalNavBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AASrE,MAAM,WAAW,oBAAoB;IAEnC,2EAA2E;IAC3E,OAAO,EAAE,cAAc,CAAA;IACvB,2EAA2E;IAC3E,WAAW,EAAE,SAAS,CAAA;IAGtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAG9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;KACpC,CAAA;IAGD,yDAAyD;IACzD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAG,YAAY,EAAE,CAAA;IAEhC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AASrE,MAAM,WAAW,oBAAoB;IAEnC,2EAA2E;IAC3E,OAAO,EAAE,cAAc,CAAA;IACvB,2EAA2E;IAC3E,WAAW,EAAE,SAAS,CAAA;IAGtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAG9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;KACpC,CAAA;IAGD,yDAAyD;IACzD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAG,YAAY,EAAE,CAAA;IAEhC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAGjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAM,aAAa,CAAA;CAC1B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAA0B,EAC1B,aAAa,EACb,eAAe,EACf,cAAc,EACd,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,cAAqB,EACrB,YAA+C,EAC/C,eAAsB,EACtB,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAgEtB"}
|
package/dist/UniversalNavBar.js
CHANGED
|
@@ -26,7 +26,7 @@ import { useUniversal } from './provider.js';
|
|
|
26
26
|
* │ · ⚙ · 👤 · ⊞ │
|
|
27
27
|
* └──────────────────────────────────────────────────────────────────────┘
|
|
28
28
|
*/
|
|
29
|
-
export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, hubLoginHref = 'https://app.unisim.co.uk/login', className, style, }) {
|
|
29
|
+
export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, hubLoginHref = 'https://app.unisim.co.uk/login', contentMaxWidth = 1280, className, style, }) {
|
|
30
30
|
// ── Company label + icon ────────────────────────────────────────────────
|
|
31
31
|
const { org } = useOrg();
|
|
32
32
|
const branding = useOrgBranding();
|
|
@@ -36,7 +36,11 @@ export function UniversalNavBar({ product, productLogo, companyLabel, companyIco
|
|
|
36
36
|
const iconBg = branding.brand_color ?? '#e2e8f0';
|
|
37
37
|
// ── User profile auto-wiring ───────────────────────────────────────────
|
|
38
38
|
const resolvedUser = useResolvedUser(user, hubLoginHref);
|
|
39
|
-
|
|
39
|
+
// The outer header strip carries the bottom border + brand strip and spans
|
|
40
|
+
// the full viewport. Its child is a centred, max-width container that holds
|
|
41
|
+
// the actual row of items so they line up with the product's page content.
|
|
42
|
+
const maxWidth = typeof contentMaxWidth === 'number' ? `${contentMaxWidth}px` : contentMaxWidth;
|
|
43
|
+
return (_jsxs("div", { className: className, style: style, children: [showBrandStrip && _jsx(UniversalBar, {}), _jsx("div", { style: headerOuterStyle, children: _jsxs("header", { style: { ...headerInnerStyle, maxWidth }, children: [_jsxs("div", { style: leftStyle, children: [_jsx("div", { style: { display: 'inline-flex', alignItems: 'center' }, children: productLogo }), _jsx("span", { style: separatorStyle, "aria-hidden": true, children: "\u00B7" }), _jsx(CompanyBadge, { iconUrl: resolvedIconUrl, initial: initial, iconBg: iconBg, hasOrg: !!org }), _jsxs("span", { style: companyLabelStyle, children: [_jsx("span", { style: { color: '#94a3b8', marginRight: 4 }, children: "for" }), _jsx("span", { style: { color: org?.name ? '#0f172a' : '#94a3b8' }, children: resolvedCompany })] })] }), _jsxs("nav", { style: centreStyle, "aria-label": "Primary", children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: linkStyle, children: "New Assessment" })), knowledgeBase && (_jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems })), _jsx(CompanyMenu, {})] }), _jsxs("div", { style: rightStyle, children: [_jsx(SettingsMenu, { productItems: productSettings, globalItems: globalSettings }), _jsx(UserProfile, { ...resolvedUser }), _jsx(SuiteSwitcher, { current: product, iconSrc: suiteSwitcherIconSrc, chip: versionChip })] })] }) })] }));
|
|
40
44
|
}
|
|
41
45
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
42
46
|
// useResolvedUser — combines an explicit `user` prop with auto-derived data
|
|
@@ -110,16 +114,24 @@ function readableTextOn(bgHex) {
|
|
|
110
114
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
111
115
|
// Styles
|
|
112
116
|
// ──────────────────────────────────────────────────────────────────────────────
|
|
113
|
-
|
|
117
|
+
// Outer wrapper: full viewport width. Carries the white background and the
|
|
118
|
+
// bottom border so the line spans the page edge-to-edge regardless of the
|
|
119
|
+
// inner content's max-width.
|
|
120
|
+
const headerOuterStyle = {
|
|
121
|
+
background: '#ffffff',
|
|
122
|
+
borderBottom: '1px solid #e2e8f0',
|
|
123
|
+
fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
|
|
124
|
+
color: '#0f172a',
|
|
125
|
+
};
|
|
126
|
+
// Inner row: capped at contentMaxWidth, centred. Holds the flex layout for
|
|
127
|
+
// logo · centre links · right-hand controls.
|
|
128
|
+
const headerInnerStyle = {
|
|
114
129
|
display: 'flex',
|
|
115
130
|
alignItems: 'center',
|
|
116
131
|
justifyContent: 'space-between',
|
|
117
132
|
gap: 16,
|
|
118
133
|
padding: '10px 20px',
|
|
119
|
-
|
|
120
|
-
borderBottom: '1px solid #e2e8f0',
|
|
121
|
-
fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
|
|
122
|
-
color: '#0f172a',
|
|
134
|
+
margin: '0 auto',
|
|
123
135
|
minHeight: 56,
|
|
124
136
|
boxSizing: 'border-box',
|
|
125
137
|
};
|
|
@@ -176,9 +188,11 @@ const iconFallbackStyle = {
|
|
|
176
188
|
const centreStyle = {
|
|
177
189
|
display: 'inline-flex',
|
|
178
190
|
alignItems: 'center',
|
|
191
|
+
justifyContent: 'center', // centre the three links between left + right groups
|
|
179
192
|
gap: 20,
|
|
180
193
|
flex: 1,
|
|
181
194
|
marginLeft: 24,
|
|
195
|
+
marginRight: 24,
|
|
182
196
|
minWidth: 0,
|
|
183
197
|
};
|
|
184
198
|
const linkStyle = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalNavBar.js","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAA0B,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAE,YAAY,EAAqB,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"UniversalNavBar.js","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/C;AAMD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,SAAS,CAAA;CACpB;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/C;AAMD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,SAAS,CAAA;CACpB;AA0DD,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAmF7E;AAED,wBAAgB,YAAY,IAAI,qBAAqB,CAMpD"}
|
package/dist/provider.js
CHANGED
|
@@ -4,24 +4,95 @@ import { createClient } from '@supabase/supabase-js';
|
|
|
4
4
|
import { createContext, useContext, useEffect, useMemo, useRef, useState, } from 'react';
|
|
5
5
|
const UniversalContext = createContext(null);
|
|
6
6
|
const ACTIVE_ORG_STORAGE_KEY = 'universal:active_org_id';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
7
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
// Cookie-backed storage adapter — the load-bearing piece for cross-subdomain
|
|
9
|
+
// SSO. Supabase JS defaults to localStorage which is origin-scoped, so a
|
|
10
|
+
// session created at app.unisim.co.uk wouldn't be visible to a product at
|
|
11
|
+
// assess.unisim.co.uk. By writing the session JSON into a cookie scoped to
|
|
12
|
+
// the parent zone (.unisim.co.uk), every subdomain reads the same auth.
|
|
13
|
+
//
|
|
14
|
+
// Only used in production (when cookieDomain is set). Local dev keeps
|
|
15
|
+
// localStorage so a single product running at localhost:5180 behaves
|
|
16
|
+
// normally.
|
|
17
|
+
// ──────────────────────────────────────────────────────────────────────────────
|
|
18
|
+
function createCookieStorage(domain) {
|
|
19
|
+
const secure = typeof window !== 'undefined' && window.location.protocol === 'https:';
|
|
20
|
+
return {
|
|
21
|
+
getItem(key) {
|
|
22
|
+
if (typeof document === 'undefined')
|
|
23
|
+
return null;
|
|
24
|
+
const encoded = encodeURIComponent(key);
|
|
25
|
+
for (const cookie of document.cookie.split('; ')) {
|
|
26
|
+
const eq = cookie.indexOf('=');
|
|
27
|
+
const name = eq === -1 ? cookie : cookie.slice(0, eq);
|
|
28
|
+
if (name === encoded) {
|
|
29
|
+
return eq === -1 ? '' : decodeURIComponent(cookie.slice(eq + 1));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
},
|
|
34
|
+
setItem(key, value) {
|
|
35
|
+
if (typeof document === 'undefined')
|
|
36
|
+
return;
|
|
37
|
+
const parts = [
|
|
38
|
+
`${encodeURIComponent(key)}=${encodeURIComponent(value)}`,
|
|
39
|
+
'Path=/',
|
|
40
|
+
`Domain=${domain}`,
|
|
41
|
+
`Max-Age=${60 * 60 * 24 * 365}`, // 1 year
|
|
42
|
+
'SameSite=Lax',
|
|
43
|
+
];
|
|
44
|
+
if (secure)
|
|
45
|
+
parts.push('Secure');
|
|
46
|
+
document.cookie = parts.join('; ');
|
|
47
|
+
},
|
|
48
|
+
removeItem(key) {
|
|
49
|
+
if (typeof document === 'undefined')
|
|
50
|
+
return;
|
|
51
|
+
const parts = [
|
|
52
|
+
`${encodeURIComponent(key)}=`,
|
|
53
|
+
'Path=/',
|
|
54
|
+
`Domain=${domain}`,
|
|
55
|
+
'Max-Age=0',
|
|
56
|
+
'SameSite=Lax',
|
|
57
|
+
];
|
|
58
|
+
if (secure)
|
|
59
|
+
parts.push('Secure');
|
|
60
|
+
document.cookie = parts.join('; ');
|
|
17
61
|
},
|
|
18
|
-
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function UniversalProvider({ config, children }) {
|
|
65
|
+
const supabase = useMemo(() => {
|
|
66
|
+
// Cookie storage when we know the parent zone, localStorage otherwise.
|
|
67
|
+
// The cookie domain (e.g. .unisim.co.uk) is what makes the session
|
|
68
|
+
// visible to every subdomain — that's the SSO mechanism.
|
|
69
|
+
const storage = config.cookieDomain
|
|
70
|
+
? createCookieStorage(config.cookieDomain)
|
|
71
|
+
: undefined; // supabase-js defaults to localStorage
|
|
72
|
+
return createClient(config.supabaseUrl, config.supabaseAnonKey, {
|
|
73
|
+
auth: {
|
|
74
|
+
persistSession: true,
|
|
75
|
+
autoRefreshToken: true,
|
|
76
|
+
detectSessionInUrl: true,
|
|
77
|
+
storageKey: 'universal-suite-auth',
|
|
78
|
+
...(storage ? { storage } : {}),
|
|
79
|
+
...(config.cookieDomain
|
|
80
|
+
? { cookieOptions: { domain: config.cookieDomain, sameSite: 'lax' } }
|
|
81
|
+
: {}),
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}, [config.supabaseUrl, config.supabaseAnonKey, config.cookieDomain]);
|
|
85
|
+
// Helper for the activeOrgId state — same cookie domain as the session so
|
|
86
|
+
// the user's "active org" choice also travels across subdomains.
|
|
87
|
+
const orgIdStore = useMemo(() => config.cookieDomain ? createCookieStorage(config.cookieDomain) : null, [config.cookieDomain]);
|
|
19
88
|
const [session, setSession] = useState(null);
|
|
20
89
|
const [loading, setLoading] = useState(true);
|
|
21
90
|
const [activeOrgId, setActiveOrgIdState] = useState(() => {
|
|
22
91
|
if (typeof window === 'undefined')
|
|
23
92
|
return null;
|
|
24
|
-
return
|
|
93
|
+
return orgIdStore
|
|
94
|
+
? orgIdStore.getItem(ACTIVE_ORG_STORAGE_KEY)
|
|
95
|
+
: window.localStorage.getItem(ACTIVE_ORG_STORAGE_KEY);
|
|
25
96
|
});
|
|
26
97
|
const initialised = useRef(false);
|
|
27
98
|
useEffect(() => {
|
|
@@ -41,7 +112,15 @@ export function UniversalProvider({ config, children }) {
|
|
|
41
112
|
}, [supabase]);
|
|
42
113
|
const setActiveOrgId = (orgId) => {
|
|
43
114
|
setActiveOrgIdState(orgId);
|
|
44
|
-
if (typeof window
|
|
115
|
+
if (typeof window === 'undefined')
|
|
116
|
+
return;
|
|
117
|
+
if (orgIdStore) {
|
|
118
|
+
if (orgId)
|
|
119
|
+
orgIdStore.setItem(ACTIVE_ORG_STORAGE_KEY, orgId);
|
|
120
|
+
else
|
|
121
|
+
orgIdStore.removeItem(ACTIVE_ORG_STORAGE_KEY);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
45
124
|
if (orgId)
|
|
46
125
|
window.localStorage.setItem(ACTIVE_ORG_STORAGE_KEY, orgId);
|
|
47
126
|
else
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,YAAY,EAAqC,MAAM,uBAAuB,CAAA;AACvF,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAA;AAoBd,MAAM,gBAAgB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAA;AAE1E,MAAM,sBAAsB,GAAG,yBAAyB,CAAA;AAOxD,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0B;IAC5E,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED