@unisim/sdk 0.142.10 → 0.143.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/README.md +82 -3
- package/dist/PreferencesDialog.d.ts +35 -0
- package/dist/PreferencesDialog.d.ts.map +1 -0
- package/dist/PreferencesDialog.js +174 -0
- package/dist/PreferencesDialog.js.map +1 -0
- package/dist/UniversalAppsNavBar.d.ts +26 -3
- package/dist/UniversalAppsNavBar.d.ts.map +1 -1
- package/dist/UniversalAppsNavBar.js +2 -2
- package/dist/UniversalAppsNavBar.js.map +1 -1
- package/dist/UniversalNavBar.d.ts +26 -1
- package/dist/UniversalNavBar.d.ts.map +1 -1
- package/dist/UniversalNavBar.js +12 -3
- package/dist/UniversalNavBar.js.map +1 -1
- package/dist/UserProfile.d.ts +40 -7
- package/dist/UserProfile.d.ts.map +1 -1
- package/dist/UserProfile.js +40 -63
- package/dist/UserProfile.js.map +1 -1
- package/dist/colorSchemeKeys.d.ts +9 -0
- package/dist/colorSchemeKeys.d.ts.map +1 -0
- package/dist/colorSchemeKeys.js +19 -0
- package/dist/colorSchemeKeys.js.map +1 -0
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +122 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/languageLabels.d.ts +3 -0
- package/dist/languageLabels.d.ts.map +1 -0
- package/dist/languageLabels.js +22 -0
- package/dist/languageLabels.js.map +1 -0
- package/dist/provider.d.ts +53 -5
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +251 -21
- package/dist/provider.js.map +1 -1
- package/dist/suiteApps.d.ts.map +1 -1
- package/dist/suiteApps.js +3 -2
- package/dist/suiteApps.js.map +1 -1
- package/dist/themeStore.d.ts +22 -9
- package/dist/themeStore.d.ts.map +1 -1
- package/dist/themeStore.js +62 -14
- package/dist/themeStore.js.map +1 -1
- package/package.json +2 -1
package/dist/provider.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type ReactNode } from 'react';
|
|
|
3
3
|
import type { ProductCode } from './types.js';
|
|
4
4
|
import { type Language } from './i18n.js';
|
|
5
5
|
import { type RevealOnExpandOptions } from './revealOnExpand.js';
|
|
6
|
+
import type { ThemePref } from './themeStore.js';
|
|
6
7
|
export interface UniversalConfig {
|
|
7
8
|
supabaseUrl: string;
|
|
8
9
|
supabaseAnonKey: string;
|
|
@@ -60,8 +61,28 @@ interface UniversalContextValue {
|
|
|
60
61
|
* could never work.
|
|
61
62
|
*/
|
|
62
63
|
noAccounts: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The language this app is SHOWING: its own override when it has one, else
|
|
66
|
+
* the global choice. Everything that renders text reads this one, which is
|
|
67
|
+
* why its name did not change when the other two arrived (0.143.0).
|
|
68
|
+
*/
|
|
63
69
|
language: Language;
|
|
70
|
+
/**
|
|
71
|
+
* Back-compat alias of {@link setGlobalLanguage}. Every caller written
|
|
72
|
+
* before 0.143.0 meant "the language", and at the time there was only one;
|
|
73
|
+
* the global one is the reading that keeps their behaviour.
|
|
74
|
+
*/
|
|
64
75
|
setLanguage: (lang: Language) => void;
|
|
76
|
+
/** The suite-wide choice — Global preferences. */
|
|
77
|
+
globalLanguage: Language;
|
|
78
|
+
/** This app's own override — App preferences. `null` = follow global. */
|
|
79
|
+
appLanguage: Language | null;
|
|
80
|
+
setGlobalLanguage: (lang: Language) => void;
|
|
81
|
+
/** `null` removes the override, so the app follows global again. */
|
|
82
|
+
setAppLanguage: (lang: Language | null) => void;
|
|
83
|
+
/** The suite-wide colour scheme — Global preferences. `'light'` until chosen. */
|
|
84
|
+
globalColorScheme: ThemePref;
|
|
85
|
+
setGlobalColorScheme: (pref: ThemePref) => void;
|
|
65
86
|
}
|
|
66
87
|
/**
|
|
67
88
|
* The persisted active-org choice, read synchronously and outside React.
|
|
@@ -92,19 +113,46 @@ export declare function useUniversal(): UniversalContextValue;
|
|
|
92
113
|
*/
|
|
93
114
|
export declare function useOptionalLanguage(): Language | null;
|
|
94
115
|
/**
|
|
95
|
-
* Read and update the
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
116
|
+
* Read and update the language.
|
|
117
|
+
*
|
|
118
|
+
* `language` is what this app shows — its own override from App preferences
|
|
119
|
+
* when it has one, else the global choice. `globalLanguage` / `appLanguage`
|
|
120
|
+
* are the two halves, for a picker that needs to show both.
|
|
121
|
+
*
|
|
122
|
+
* On Assess products (when UniversalProvider has a cookieDomain) the GLOBAL
|
|
123
|
+
* choice persists in a cookie scoped to .unisim.co.uk so it follows the user
|
|
124
|
+
* across products; on the Universal Apps it persists in localStorage scoped to
|
|
125
|
+
* the current origin. Signed in, it also follows the account (the `suite` row
|
|
126
|
+
* of `user_app_prefs`). An app override is always localStorage, under
|
|
127
|
+
* `universal:language:<product>`.
|
|
100
128
|
*
|
|
101
129
|
* Each host product's own translation layer (Ergo's i18next, Exports'
|
|
102
130
|
* Context, etc.) should call setLanguage() alongside its existing setter so
|
|
103
131
|
* the SDK-rendered navbar flips in lockstep with the app body.
|
|
132
|
+
*
|
|
133
|
+
* ⚠️ Since 0.143.0 `setLanguage` sets the GLOBAL language — which is what it
|
|
134
|
+
* always did — so a host whose app has an override will not see its own body
|
|
135
|
+
* change from it. A host that drives its body from `language` stays right.
|
|
104
136
|
*/
|
|
105
137
|
export declare function useLanguage(): {
|
|
106
138
|
language: Language;
|
|
107
139
|
setLanguage: (lang: Language) => void;
|
|
140
|
+
globalLanguage: Language;
|
|
141
|
+
appLanguage: Language | null;
|
|
142
|
+
setGlobalLanguage: (lang: Language) => void;
|
|
143
|
+
setAppLanguage: (lang: Language | null) => void;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* The suite-wide preferences — what the navbar's Global preferences dialog
|
|
147
|
+
* edits. Values are the GLOBAL ones, never an app's override: an app's colour
|
|
148
|
+
* scheme override lives in its own `createThemeStore`, and its language
|
|
149
|
+
* override in {@link useLanguage}'s `appLanguage`.
|
|
150
|
+
*/
|
|
151
|
+
export declare function useGlobalPreferences(): {
|
|
152
|
+
language: Language;
|
|
153
|
+
setLanguage: (lang: Language) => void;
|
|
154
|
+
colorScheme: ThemePref;
|
|
155
|
+
setColorScheme: (pref: ThemePref) => void;
|
|
108
156
|
};
|
|
109
157
|
export {};
|
|
110
158
|
//# sourceMappingURL=provider.d.ts.map
|
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;AAEvF,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE5E,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEvF,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;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAA;CACjD;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;IAC9C;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/provider.js
CHANGED
|
@@ -6,6 +6,7 @@ import { createContext, useContext, useEffect, useMemo, useRef, useState, } from
|
|
|
6
6
|
import { DEFAULT_LANGUAGE, resolveLanguage } from './i18n.js';
|
|
7
7
|
import { createMockSupabase } from './mockAuth.js';
|
|
8
8
|
import { installRevealOnExpand } from './revealOnExpand.js';
|
|
9
|
+
import { GLOBAL_COLOR_SCHEME_EVENT, GLOBAL_COLOR_SCHEME_KEY } from './colorSchemeKeys.js';
|
|
9
10
|
const UniversalContext = createContext(null);
|
|
10
11
|
const ACTIVE_ORG_STORAGE_KEY = 'universal:active_org_id';
|
|
11
12
|
/**
|
|
@@ -85,6 +86,21 @@ function applyOrgHeader(client, orgId) {
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
const LANGUAGE_STORAGE_KEY = 'universal:language';
|
|
89
|
+
/**
|
|
90
|
+
* One app's language OVERRIDE, set from its App preferences. Absent means
|
|
91
|
+
* "follow global". Always localStorage, never the shared cookie, even on an
|
|
92
|
+
* Assess product: an override is by definition about this app alone, and a
|
|
93
|
+
* `.unisim.co.uk` cookie is precisely the thing that would carry it to the
|
|
94
|
+
* next one.
|
|
95
|
+
*/
|
|
96
|
+
function appLanguageKey(product) {
|
|
97
|
+
return `${LANGUAGE_STORAGE_KEY}:${product}`;
|
|
98
|
+
}
|
|
99
|
+
/** The row in `user_app_prefs` (migration 0151) that holds the GLOBAL prefs. */
|
|
100
|
+
const SUITE_PREFS_APP = 'suite';
|
|
101
|
+
function isThemePref(v) {
|
|
102
|
+
return v === 'light' || v === 'dark' || v === 'system';
|
|
103
|
+
}
|
|
88
104
|
// Products that are part of the open-source local-first Universal Apps
|
|
89
105
|
// suite. These all set cookieDomain so the SDK's Supabase session storage
|
|
90
106
|
// can ride on .unisim.co.uk like the Assess apps do, but language
|
|
@@ -215,19 +231,87 @@ export function UniversalProvider({ config, children }) {
|
|
|
215
231
|
// client render produce identical markup. A useEffect below upgrades to
|
|
216
232
|
// the persisted choice (or browser locale) after hydration completes —
|
|
217
233
|
// mirrors the pattern Ergo's i18next setup uses in lib/i18n.ts.
|
|
218
|
-
const [
|
|
234
|
+
const [globalLanguage, setGlobalLanguageState] = useState(DEFAULT_LANGUAGE);
|
|
235
|
+
const [appLanguage, setAppLanguageState] = useState(null);
|
|
236
|
+
const [globalColorScheme, setGlobalColorSchemeState] = useState('light');
|
|
237
|
+
const language = appLanguage ?? globalLanguage;
|
|
238
|
+
// The setters below need the CURRENT pair to write the account row, and they
|
|
239
|
+
// are closures over whichever render created them — a host that captured
|
|
240
|
+
// `setGlobalLanguage` in an effect would otherwise upsert a stale colour
|
|
241
|
+
// scheme next to the new language.
|
|
242
|
+
const globalsRef = useRef({ language: globalLanguage, colorScheme: globalColorScheme });
|
|
243
|
+
globalsRef.current = { language: globalLanguage, colorScheme: globalColorScheme };
|
|
244
|
+
// Global prefs live in the same store as ever — the `.unisim.co.uk` cookie on
|
|
245
|
+
// an Assess product, localStorage on a Universal App (see `languageStore`).
|
|
246
|
+
const readGlobal = (key) => {
|
|
247
|
+
try {
|
|
248
|
+
return languageStore ? languageStore.getItem(key) : window.localStorage.getItem(key);
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
const writeGlobal = (key, value) => {
|
|
255
|
+
try {
|
|
256
|
+
if (languageStore)
|
|
257
|
+
languageStore.setItem(key, value);
|
|
258
|
+
else
|
|
259
|
+
window.localStorage.setItem(key, value);
|
|
260
|
+
}
|
|
261
|
+
catch { /* private mode / storage disabled: state still holds for this page */ }
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Put a global colour scheme on screen: state, storage, and the event
|
|
265
|
+
* `createThemeStore` listens for.
|
|
266
|
+
*
|
|
267
|
+
* ⚠️ **The localStorage mirror is not redundant on an Assess product.** The
|
|
268
|
+
* canonical copy is the cookie there, but `createThemeStore` runs at IMPORT
|
|
269
|
+
* time — before this provider exists — so it can only read localStorage, and
|
|
270
|
+
* the pre-paint snippet in each app's index.html can only read localStorage
|
|
271
|
+
* too. Without the mirror a dark-mode Assess user gets a light first frame
|
|
272
|
+
* on every load.
|
|
273
|
+
*/
|
|
274
|
+
const applyGlobalColorScheme = (pref, persist) => {
|
|
275
|
+
setGlobalColorSchemeState(pref);
|
|
276
|
+
if (typeof window === 'undefined')
|
|
277
|
+
return;
|
|
278
|
+
if (persist)
|
|
279
|
+
writeGlobal(GLOBAL_COLOR_SCHEME_KEY, pref);
|
|
280
|
+
try {
|
|
281
|
+
window.localStorage.setItem(GLOBAL_COLOR_SCHEME_KEY, pref);
|
|
282
|
+
}
|
|
283
|
+
catch { /* ignore */ }
|
|
284
|
+
window.dispatchEvent(new CustomEvent(GLOBAL_COLOR_SCHEME_EVENT, { detail: pref }));
|
|
285
|
+
};
|
|
219
286
|
useEffect(() => {
|
|
220
287
|
if (typeof window === 'undefined')
|
|
221
288
|
return;
|
|
222
|
-
const stored =
|
|
223
|
-
? languageStore.getItem(LANGUAGE_STORAGE_KEY)
|
|
224
|
-
: window.localStorage.getItem(LANGUAGE_STORAGE_KEY);
|
|
289
|
+
const stored = readGlobal(LANGUAGE_STORAGE_KEY);
|
|
225
290
|
const resolved = resolveLanguage(stored) ??
|
|
226
291
|
resolveLanguage(typeof navigator !== 'undefined' ? navigator.language : null) ??
|
|
227
292
|
DEFAULT_LANGUAGE;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
293
|
+
setGlobalLanguageState(resolved);
|
|
294
|
+
let override = null;
|
|
295
|
+
try {
|
|
296
|
+
override = window.localStorage.getItem(appLanguageKey(config.product));
|
|
297
|
+
}
|
|
298
|
+
catch { /* ignore */ }
|
|
299
|
+
setAppLanguageState(resolveLanguage(override));
|
|
300
|
+
// Cookie first on an Assess product: another subdomain may have changed it
|
|
301
|
+
// since this origin's mirror was written, and re-applying refreshes the
|
|
302
|
+
// mirror (and any theme store already painted from the stale one).
|
|
303
|
+
let scheme = readGlobal(GLOBAL_COLOR_SCHEME_KEY);
|
|
304
|
+
if (!isThemePref(scheme)) {
|
|
305
|
+
try {
|
|
306
|
+
scheme = window.localStorage.getItem(GLOBAL_COLOR_SCHEME_KEY);
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
scheme = null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (isThemePref(scheme))
|
|
313
|
+
applyGlobalColorScheme(scheme, false);
|
|
314
|
+
// Only fire on mount — subsequent updates flow through the setters.
|
|
231
315
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
232
316
|
}, []);
|
|
233
317
|
// ⚠️ NO `initialised` REF GUARD HERE. There was one until 2026-08-29, and it
|
|
@@ -368,6 +452,102 @@ export function UniversalProvider({ config, children }) {
|
|
|
368
452
|
window.removeEventListener('pageshow', onPageShow);
|
|
369
453
|
};
|
|
370
454
|
}, [supabase]);
|
|
455
|
+
// ── Global preferences follow the ACCOUNT, not just the device ─────────────
|
|
456
|
+
//
|
|
457
|
+
// The `suite` row of `user_app_prefs` (migration 0151, the table useUserPrefs
|
|
458
|
+
// already uses per app) holds `{ language, colorScheme }`. Signing in on a
|
|
459
|
+
// new device picks them up; changing one writes it back.
|
|
460
|
+
//
|
|
461
|
+
// ⚠️ **This deliberately crosses the line `UNIVERSAL_APP_PRODUCTS` draws.**
|
|
462
|
+
// That list keeps a Universal App's language out of the Assess cookie, and
|
|
463
|
+
// the reason it gives is an ANONYMOUS visitor: somebody picking French in
|
|
464
|
+
// Universal PDF must not reframe the Assess SaaS for a different person on
|
|
465
|
+
// the same machine. A row keyed on the signed-in user's id cannot do that —
|
|
466
|
+
// it only ever reaches the same person — so "global" can honestly mean the
|
|
467
|
+
// whole suite once there is an account behind it.
|
|
468
|
+
//
|
|
469
|
+
// The rules, each of which has a way to go wrong:
|
|
470
|
+
// • **Remote wins on sign-in**, and is applied WITHOUT being written back —
|
|
471
|
+
// echoing it would be a pointless write on every page load.
|
|
472
|
+
// • **No row → seed one from what this device explicitly STORED**, never
|
|
473
|
+
// from defaults or `navigator.language`. Seeding a default would stamp
|
|
474
|
+
// "English, light" onto the account from the first browser that merely
|
|
475
|
+
// looked, and every other device would then be overwritten with it.
|
|
476
|
+
// • **Fire-and-forget and silent.** Offline, the migration missing on a
|
|
477
|
+
// self-hosted fork, an RLS refusal: all of them cost cross-device sync
|
|
478
|
+
// and nothing else. A preference is not worth an error on screen.
|
|
479
|
+
// • **Not in mock mode.** The fixture has no such table, and the whole
|
|
480
|
+
// point of it is making no network calls.
|
|
481
|
+
//
|
|
482
|
+
// Same subscribe-in-step shape as the auth effect above, so a StrictMode
|
|
483
|
+
// remount cancels the first read rather than applying it twice.
|
|
484
|
+
const userId = session?.user?.id ?? null;
|
|
485
|
+
const userIdRef = useRef(null);
|
|
486
|
+
userIdRef.current = mockActive ? null : userId;
|
|
487
|
+
useEffect(() => {
|
|
488
|
+
if (!userId || mockActive || typeof window === 'undefined')
|
|
489
|
+
return;
|
|
490
|
+
let cancelled = false;
|
|
491
|
+
void (async () => {
|
|
492
|
+
try {
|
|
493
|
+
const { data, error } = await supabase
|
|
494
|
+
.from('user_app_prefs')
|
|
495
|
+
.select('data')
|
|
496
|
+
.eq('app', SUITE_PREFS_APP)
|
|
497
|
+
.maybeSingle();
|
|
498
|
+
if (cancelled || error)
|
|
499
|
+
return;
|
|
500
|
+
const remote = data?.data;
|
|
501
|
+
if (remote) {
|
|
502
|
+
const lang = typeof remote.language === 'string' ? resolveLanguage(remote.language) : null;
|
|
503
|
+
if (lang) {
|
|
504
|
+
setGlobalLanguageState(lang);
|
|
505
|
+
writeGlobal(LANGUAGE_STORAGE_KEY, lang);
|
|
506
|
+
}
|
|
507
|
+
if (isThemePref(remote.colorScheme))
|
|
508
|
+
applyGlobalColorScheme(remote.colorScheme, true);
|
|
509
|
+
return;
|
|
510
|
+
}
|
|
511
|
+
const storedLang = resolveLanguage(readGlobal(LANGUAGE_STORAGE_KEY));
|
|
512
|
+
let storedScheme = readGlobal(GLOBAL_COLOR_SCHEME_KEY);
|
|
513
|
+
if (!isThemePref(storedScheme)) {
|
|
514
|
+
try {
|
|
515
|
+
storedScheme = window.localStorage.getItem(GLOBAL_COLOR_SCHEME_KEY);
|
|
516
|
+
}
|
|
517
|
+
catch {
|
|
518
|
+
storedScheme = null;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
const seed = {};
|
|
522
|
+
if (storedLang)
|
|
523
|
+
seed.language = storedLang;
|
|
524
|
+
if (isThemePref(storedScheme))
|
|
525
|
+
seed.colorScheme = storedScheme;
|
|
526
|
+
if (Object.keys(seed).length === 0 || cancelled)
|
|
527
|
+
return;
|
|
528
|
+
await supabase
|
|
529
|
+
.from('user_app_prefs')
|
|
530
|
+
.upsert({ user_id: userId, app: SUITE_PREFS_APP, data: seed }, { onConflict: 'user_id,app' });
|
|
531
|
+
}
|
|
532
|
+
catch {
|
|
533
|
+
/* no sync this session — see the rules above */
|
|
534
|
+
}
|
|
535
|
+
})();
|
|
536
|
+
return () => { cancelled = true; };
|
|
537
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
538
|
+
}, [supabase, userId, mockActive]);
|
|
539
|
+
const pushGlobals = (next) => {
|
|
540
|
+
const uid = userIdRef.current;
|
|
541
|
+
if (!uid)
|
|
542
|
+
return;
|
|
543
|
+
try {
|
|
544
|
+
void supabase
|
|
545
|
+
.from('user_app_prefs')
|
|
546
|
+
.upsert({ user_id: uid, app: SUITE_PREFS_APP, data: next }, { onConflict: 'user_id,app' })
|
|
547
|
+
.then(() => { }, () => { });
|
|
548
|
+
}
|
|
549
|
+
catch { /* see the rules above */ }
|
|
550
|
+
};
|
|
371
551
|
const setActiveOrgId = (orgId) => {
|
|
372
552
|
setActiveOrgIdState(orgId);
|
|
373
553
|
// Synchronously too, not just on the next render: a switcher's click
|
|
@@ -389,21 +569,39 @@ export function UniversalProvider({ config, children }) {
|
|
|
389
569
|
window.localStorage.removeItem(ACTIVE_ORG_STORAGE_KEY);
|
|
390
570
|
}
|
|
391
571
|
};
|
|
392
|
-
const
|
|
572
|
+
const setGlobalLanguage = (requested) => {
|
|
393
573
|
// Normalised, because the type is only a promise at the call site: an app
|
|
394
574
|
// written before 0.141.5 can still hand over a legacy `pt` (cast, or from
|
|
395
575
|
// its own untyped list), and storing that would leave the picker showing
|
|
396
576
|
// no selection. `pt` → `pt-PT`, `en-GB` → `en-gb`; nonsense → English.
|
|
397
577
|
const lang = resolveLanguage(requested) ?? DEFAULT_LANGUAGE;
|
|
398
|
-
|
|
578
|
+
setGlobalLanguageState(lang);
|
|
399
579
|
if (typeof window === 'undefined')
|
|
400
580
|
return;
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
581
|
+
writeGlobal(LANGUAGE_STORAGE_KEY, lang);
|
|
582
|
+
pushGlobals({ language: lang, colorScheme: globalsRef.current.colorScheme });
|
|
583
|
+
};
|
|
584
|
+
// ⚠️ Kept, and it means GLOBAL. Hosts call this alongside their own i18n
|
|
585
|
+
// setter (Ergo's i18next, Exports' Context) so the navbar flips in step with
|
|
586
|
+
// the body — and before 0.143.0 there was no other language for it to mean.
|
|
587
|
+
const setLanguage = setGlobalLanguage;
|
|
588
|
+
const setAppLanguage = (requested) => {
|
|
589
|
+
const lang = requested === null ? null : (resolveLanguage(requested) ?? DEFAULT_LANGUAGE);
|
|
590
|
+
setAppLanguageState(lang);
|
|
591
|
+
if (typeof window === 'undefined')
|
|
592
|
+
return;
|
|
593
|
+
try {
|
|
594
|
+
if (lang)
|
|
595
|
+
window.localStorage.setItem(appLanguageKey(config.product), lang);
|
|
596
|
+
else
|
|
597
|
+
window.localStorage.removeItem(appLanguageKey(config.product));
|
|
406
598
|
}
|
|
599
|
+
catch { /* ignore */ }
|
|
600
|
+
};
|
|
601
|
+
const setGlobalColorScheme = (pref) => {
|
|
602
|
+
const next = isThemePref(pref) ? pref : 'light';
|
|
603
|
+
applyGlobalColorScheme(next, true);
|
|
604
|
+
pushGlobals({ language: globalsRef.current.language, colorScheme: next });
|
|
407
605
|
};
|
|
408
606
|
const value = {
|
|
409
607
|
config,
|
|
@@ -414,6 +612,12 @@ export function UniversalProvider({ config, children }) {
|
|
|
414
612
|
setActiveOrgId,
|
|
415
613
|
language,
|
|
416
614
|
setLanguage,
|
|
615
|
+
globalLanguage,
|
|
616
|
+
appLanguage,
|
|
617
|
+
setGlobalLanguage,
|
|
618
|
+
setAppLanguage,
|
|
619
|
+
globalColorScheme,
|
|
620
|
+
setGlobalColorScheme,
|
|
417
621
|
noAccounts: !!config.noAccounts,
|
|
418
622
|
};
|
|
419
623
|
return _jsx(UniversalContext.Provider, { value: value, children: children });
|
|
@@ -436,18 +640,44 @@ export function useOptionalLanguage() {
|
|
|
436
640
|
return useContext(UniversalContext)?.language ?? null;
|
|
437
641
|
}
|
|
438
642
|
/**
|
|
439
|
-
* Read and update the
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
*
|
|
443
|
-
*
|
|
643
|
+
* Read and update the language.
|
|
644
|
+
*
|
|
645
|
+
* `language` is what this app shows — its own override from App preferences
|
|
646
|
+
* when it has one, else the global choice. `globalLanguage` / `appLanguage`
|
|
647
|
+
* are the two halves, for a picker that needs to show both.
|
|
648
|
+
*
|
|
649
|
+
* On Assess products (when UniversalProvider has a cookieDomain) the GLOBAL
|
|
650
|
+
* choice persists in a cookie scoped to .unisim.co.uk so it follows the user
|
|
651
|
+
* across products; on the Universal Apps it persists in localStorage scoped to
|
|
652
|
+
* the current origin. Signed in, it also follows the account (the `suite` row
|
|
653
|
+
* of `user_app_prefs`). An app override is always localStorage, under
|
|
654
|
+
* `universal:language:<product>`.
|
|
444
655
|
*
|
|
445
656
|
* Each host product's own translation layer (Ergo's i18next, Exports'
|
|
446
657
|
* Context, etc.) should call setLanguage() alongside its existing setter so
|
|
447
658
|
* the SDK-rendered navbar flips in lockstep with the app body.
|
|
659
|
+
*
|
|
660
|
+
* ⚠️ Since 0.143.0 `setLanguage` sets the GLOBAL language — which is what it
|
|
661
|
+
* always did — so a host whose app has an override will not see its own body
|
|
662
|
+
* change from it. A host that drives its body from `language` stays right.
|
|
448
663
|
*/
|
|
449
664
|
export function useLanguage() {
|
|
450
|
-
const { language, setLanguage } = useUniversal();
|
|
451
|
-
return { language, setLanguage };
|
|
665
|
+
const { language, setLanguage, globalLanguage, appLanguage, setGlobalLanguage, setAppLanguage } = useUniversal();
|
|
666
|
+
return { language, setLanguage, globalLanguage, appLanguage, setGlobalLanguage, setAppLanguage };
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* The suite-wide preferences — what the navbar's Global preferences dialog
|
|
670
|
+
* edits. Values are the GLOBAL ones, never an app's override: an app's colour
|
|
671
|
+
* scheme override lives in its own `createThemeStore`, and its language
|
|
672
|
+
* override in {@link useLanguage}'s `appLanguage`.
|
|
673
|
+
*/
|
|
674
|
+
export function useGlobalPreferences() {
|
|
675
|
+
const { globalLanguage, setGlobalLanguage, globalColorScheme, setGlobalColorScheme } = useUniversal();
|
|
676
|
+
return {
|
|
677
|
+
language: globalLanguage,
|
|
678
|
+
setLanguage: setGlobalLanguage,
|
|
679
|
+
colorScheme: globalColorScheme,
|
|
680
|
+
setColorScheme: setGlobalColorScheme,
|
|
681
|
+
};
|
|
452
682
|
}
|
|
453
683
|
//# sourceMappingURL=provider.js.map
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/suiteApps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suiteApps.d.ts","sourceRoot":"","sources":["../src/suiteApps.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,EAAE,EAAE,cAAc,CAAA;IAClB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,
|
|
1
|
+
{"version":3,"file":"suiteApps.d.ts","sourceRoot":"","sources":["../src/suiteApps.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,EAAE,EAAE,cAAc,CAAA;IAClB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAsBtD,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAE7E;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAOD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAkBjE;AAUD,iDAAiD;AACjD,wBAAgB,uBAAuB,SAEtC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAWvE;AAsBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,GAAG,SAAS,GAAG,IAAI,CAU7D;AAED,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAA;IACX,yEAAyE;IACzE,IAAI,EAAE,WAAW,GAAG,aAAa,CAAA;CAClC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,CAMtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,aAAa,GAAG,IAAI,CAqBtB"}
|
package/dist/suiteApps.js
CHANGED
|
@@ -86,9 +86,10 @@ export const SUITE_NATIVE_APPS = [
|
|
|
86
86
|
// 2026-09-15 this said `…ergoassesscapture` for both, so
|
|
87
87
|
// add-suite-app-links.mjs could not recognise Ergo's own plist and would have
|
|
88
88
|
// rewritten it WITHOUT its own scheme on the next run.
|
|
89
|
-
{ id: 'ergo_assess', scheme: 'unisim-ergo-assess', iosBundleId: 'com.universalsimulation.ergoassess', androidPackage: 'com.universalsimulation.ergoassesscapture', appStoreId: '6811535068' },
|
|
89
|
+
{ id: 'ergo_assess', scheme: 'unisim-ergo-assess', iosBundleId: 'com.universalsimulation.ergoassess', androidPackage: 'com.universalsimulation.ergoassesscapture', appStoreId: '6811535068', playListed: true },
|
|
90
90
|
{ id: 'cyber_assess', scheme: 'unisim-cyber-assess', iosBundleId: 'uk.co.unisim.cyberassess', androidPackage: 'uk.co.unisim.cyberassess' },
|
|
91
|
-
|
|
91
|
+
// Play live 2026-09-16; its App Store listing is still in review, so no appStoreId yet.
|
|
92
|
+
{ id: 'workplace_assess', scheme: 'unisim-workplace-assess', iosBundleId: 'uk.co.unisim.wfhassess', androidPackage: 'uk.co.unisim.wfhassess', playListed: true },
|
|
92
93
|
{ id: 'fire_assess', scheme: 'unisim-fire-assess', iosBundleId: 'uk.co.unisim.fireassess', androidPackage: 'uk.co.unisim.fireassess' },
|
|
93
94
|
{ id: 'coshh_assess', scheme: 'unisim-coshh-assess', iosBundleId: 'uk.co.unisim.coshhassess', androidPackage: 'uk.co.unisim.coshhassess' },
|
|
94
95
|
{ id: 'risk_assess', scheme: 'unisim-risk-assess', iosBundleId: 'uk.co.unisim.riskassess', androidPackage: 'uk.co.unisim.riskassess' },
|
package/dist/suiteApps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suiteApps.js","sourceRoot":"","sources":["../src/suiteApps.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,sEAAsE;AACtE,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,gFAAgF;AAChF,yEAAyE;AACzE,0EAA0E;AAC1E,+CAA+C;AAC/C,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,iDAAiD;AACjD,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,cAAc;AACd,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,+CAA+C;AAC/C,iFAAiF;AAEjF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AA2CvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,gFAAgF;IAChF,uEAAuE;IACvE,yDAAyD;IACzD,8EAA8E;IAC9E,uDAAuD;IACvD,EAAE,EAAE,EAAE,aAAa,EAAO,MAAM,EAAE,oBAAoB,EAAO,WAAW,EAAE,oCAAoC,EAAE,cAAc,EAAE,2CAA2C,EAAE,UAAU,EAAE,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"suiteApps.js","sourceRoot":"","sources":["../src/suiteApps.ts"],"names":[],"mappings":"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"}
|
package/dist/themeStore.d.ts
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
export type ThemePref = 'light' | 'dark' | 'system';
|
|
2
|
+
export { GLOBAL_COLOR_SCHEME_EVENT, GLOBAL_COLOR_SCHEME_KEY } from './colorSchemeKeys.js';
|
|
2
3
|
export interface ThemeState {
|
|
3
|
-
/** What
|
|
4
|
+
/** What applies to this app: `override ?? global`. `'light'` until chosen. */
|
|
4
5
|
pref: ThemePref;
|
|
5
6
|
/** What is actually on screen — `pref` with `'system'` resolved. */
|
|
6
7
|
effective: 'light' | 'dark';
|
|
7
|
-
/**
|
|
8
|
+
/** This app's own choice, from its App preferences. `null` = follow global. */
|
|
9
|
+
override: ThemePref | null;
|
|
10
|
+
/** The suite-wide choice, from Global preferences. */
|
|
11
|
+
global: ThemePref;
|
|
12
|
+
/** Persist and apply this app's override; `null` removes it. Stable across renders. */
|
|
13
|
+
setOverride(pref: ThemePref | null): void;
|
|
14
|
+
/**
|
|
15
|
+
* Back-compat: `setOverride(pref)`. Before 0.143.0 the app's choice was the
|
|
16
|
+
* only one there was, and it is still what this sets. Stable across renders.
|
|
17
|
+
*/
|
|
8
18
|
setPref(pref: ThemePref): void;
|
|
9
19
|
}
|
|
10
20
|
export interface ThemeStore {
|
|
@@ -16,7 +26,7 @@ export interface ThemeStore {
|
|
|
16
26
|
getState(): ThemeState;
|
|
17
27
|
/** Low-level change listener; returns the unsubscribe. */
|
|
18
28
|
subscribe(listener: () => void): () => void;
|
|
19
|
-
/** The localStorage key this store persists under. */
|
|
29
|
+
/** The localStorage key this store persists the app's override under. */
|
|
20
30
|
readonly storageKey: string;
|
|
21
31
|
}
|
|
22
32
|
/**
|
|
@@ -29,15 +39,18 @@ export interface ThemeStore {
|
|
|
29
39
|
* export const useThemeStore = createThemeStore('unisim-video-theme')
|
|
30
40
|
* ```
|
|
31
41
|
*
|
|
32
|
-
* The
|
|
42
|
+
* The resolved preference is read and applied to `<html>` immediately — at
|
|
33
43
|
* import time, before React renders — so a dark-mode user does not see a light
|
|
34
|
-
* frame first.
|
|
44
|
+
* frame first. Pass the store to the navbar (`themeStore={useThemeStore}`) and
|
|
45
|
+
* App preferences offers the override.
|
|
35
46
|
*
|
|
36
|
-
* ⚠️ **The key is the user's saved choice
|
|
37
|
-
*
|
|
38
|
-
*
|
|
47
|
+
* ⚠️ **The key is the user's saved choice** — since 0.143.0, their override of
|
|
48
|
+
* the global one. Changing it on an existing app silently puts everyone who
|
|
49
|
+
* chose something in that app back to following global. Existing apps keep
|
|
50
|
+
* the key their copy used (`unisim-<app>-theme`); a new app should follow that
|
|
51
|
+
* pattern.
|
|
39
52
|
*
|
|
40
|
-
* Only follows the OS live while the
|
|
53
|
+
* Only follows the OS live while the resolved preference is `'system'`.
|
|
41
54
|
*/
|
|
42
55
|
export declare function createThemeStore(storageKey: string): ThemeStore;
|
|
43
56
|
//# sourceMappingURL=themeStore.d.ts.map
|
package/dist/themeStore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeStore.d.ts","sourceRoot":"","sources":["../src/themeStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"themeStore.d.ts","sourceRoot":"","sources":["../src/themeStore.ts"],"names":[],"mappings":"AAqDA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEnD,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEzF,MAAM,WAAW,UAAU;IACzB,8EAA8E;IAC9E,IAAI,EAAE,SAAS,CAAA;IACf,oEAAoE;IACpE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAA;IAC1B,sDAAsD;IACtD,MAAM,EAAE,SAAS,CAAA;IACjB,uFAAuF;IACvF,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;IACzC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,IAAI,UAAU,CAAA;IACd,yEAAyE;IACzE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1C,yDAAyD;IACzD,QAAQ,IAAI,UAAU,CAAA;IACtB,0DAA0D;IAC1D,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAqCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAiF/D"}
|