feat: theme flavours for theme varients

This commit is contained in:
2026-04-29 11:13:32 +09:30
parent b88d29967d
commit fba5d09c75
11 changed files with 1311 additions and 207 deletions
+2 -2
View File
@@ -35,9 +35,9 @@ export function OpenWhatsNewPopup(onDismissed?: () => void) {
<div class="whatsnewTextContainer" style="height: 50%;overflow-y: auto;">
<h1>3.6.4 - Fix for alpine theme & Assement dashlet improvement</h1>
<h1>3.6.4 - Theme syncing, falvours, fixes & Upcoming Assement dashlet improvement</h1>
<li>Added advanced colour adjustments variables for theme customisation.</li>
<li>Improved logic for assement dashlet to improve compatibility.</li>
<li>Improved logic for upcoming assements dashlet to improve compatibility.</li>
<li>BS Cloud can now automatically download themes from other devices.</li>
<h1>3.6.3 - Assessment overview fix</h1>
+4 -1
View File
@@ -143,7 +143,10 @@ export async function getSnapshotForUpload(): Promise<{
return buildUploadPayload(all as Record<string, unknown>);
}
/** Theme to ensure is installed locally after a downloaded envelope (explicit field overrides `data.selectedTheme`). */
/**
* Theme to ensure is installed locally after a downloaded envelope (explicit `themeId` overrides `data.selectedTheme`).
* Works for any store-backed id, including **flavour (slave) variants** nested under masters in the catalogue.
*/
export function resolveThemeIdForPostSyncDownload(envelope: unknown): string | undefined {
if (envelope && typeof envelope === "object" && "themeId" in envelope) {
const top = normalizeThemeIdForSync(