diff --git a/artifacts/api-server/src/routes/executive-meetings.ts b/artifacts/api-server/src/routes/executive-meetings.ts index 1a588e89..7d154bb5 100644 --- a/artifacts/api-server/src/routes/executive-meetings.ts +++ b/artifacts/api-server/src/routes/executive-meetings.ts @@ -2970,6 +2970,16 @@ const upsertFontSettingsHandler = async ( }); } } + if (data.scope === "global") { + await tx + .delete(executiveMeetingFontSettingsTable) + .where( + and( + eq(executiveMeetingFontSettingsTable.scope, "user"), + eq(executiveMeetingFontSettingsTable.userId, userId), + ), + ); + } await logAudit(tx, { action: existing ? "update" : "create", entityType: "font_settings", diff --git a/artifacts/tx-os/public/opengraph.jpg b/artifacts/tx-os/public/opengraph.jpg index 46197ebd..5d3fa81c 100644 Binary files a/artifacts/tx-os/public/opengraph.jpg and b/artifacts/tx-os/public/opengraph.jpg differ diff --git a/artifacts/tx-os/src/pages/executive-meetings.tsx b/artifacts/tx-os/src/pages/executive-meetings.tsx index 20b4c505..5d5ae2a8 100644 --- a/artifacts/tx-os/src/pages/executive-meetings.tsx +++ b/artifacts/tx-os/src/pages/executive-meetings.tsx @@ -952,6 +952,13 @@ function ExecutiveMeetingsPageInner() { {section === "settings" && me && ( string }) { function FontSettingsSection({ font, + globalFont, globalLogoObjectPath, canEditGlobal, t, }: { font: FontPrefs; + globalFont: FontPrefs | null; globalLogoObjectPath: string | null; canEditGlobal: boolean; t: (k: string) => string; @@ -7385,13 +7397,12 @@ function FontSettingsSection({ const { toast } = useToast(); const [scope, setScope] = useState<"user" | "global">("user"); const [prefs, setPrefs] = useState(font); - // Local mirror of the global logo path for instant preview. const [logoPath, setLogoPath] = useState(globalLogoObjectPath); const [saving, setSaving] = useState(false); useEffect(() => { - setPrefs(font); - }, [font]); + setPrefs(scope === "global" && globalFont ? globalFont : font); + }, [font, globalFont, scope]); useEffect(() => { setLogoPath(globalLogoObjectPath); }, [globalLogoObjectPath]);