Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions public/offline.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@
--page-text: #1b2533; /* --text */
--page-heading: #0a1220; /* --text-heading */
--page-muted: #55627a; /* --text-muted */
--page-accent: #1a66a8; /* --command */
--page-accent-hover: #185c99; /* --command-hover */
--page-accent: #111827; /* --command */
--page-accent-hover: #0b1220; /* --command-hover */
--page-accent-contrast: #ffffff; /* --command-contrast */
--page-focus: var(--page-accent); /* --focus command channel */
--page-glow: rgb(26 102 168 / 10%); /* command at low alpha */
--page-glow: rgb(17 24 39 / 10%); /* command at low alpha */
--page-shadow: 0 4px 8px rgb(13 40 71 / 5%), 0 32px 56px -20px rgb(13 40 71 / 15%); /* --e4 */
background: var(--page-background);
color: var(--page-text);
Expand Down Expand Up @@ -135,10 +135,10 @@
--page-text: #f4f6f8; /* dark --text */
--page-heading: #fbfcfd; /* dark --text-heading */
--page-muted: #a8b2bd; /* dark --text-muted */
--page-accent: #3a80c0; /* dark --command */
--page-accent-hover: #4a91d2; /* dark --command-hover */
--page-accent-contrast: #06121e; /* dark --command-contrast */
--page-glow: rgb(58 128 192 / 10%);
--page-accent: #f5f7f7; /* dark --command */
--page-accent-hover: #e6e9e8; /* dark --command-hover */
--page-accent-contrast: #0a0c0e; /* dark --command-contrast */
--page-glow: rgb(245 247 247 / 10%);
--page-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 32px 56px -20px rgb(0 0 0 / 64%); /* dark --e4 */
}
}
Expand Down
2 changes: 1 addition & 1 deletion public/sw.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
*/

const CACHE_PREFIX = "clinical-kb-pwa-";
const CACHE_VERSION = "2026-08-05-v2";
const CACHE_VERSION = "2026-08-05-v3";
const SHELL_CACHE = `${CACHE_PREFIX}shell-${CACHE_VERSION}`;
const STATIC_CACHE = `${CACHE_PREFIX}static-${CACHE_VERSION}`;
const STATIC_CACHE_PREFIX = `${CACHE_PREFIX}static-`;
Expand Down
20 changes: 12 additions & 8 deletions src/app/ckb-v2-tokens.css
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,11 @@
}
}

/* Crisp white light shell (#10, #24) + blue command colour (#1, #12).
/* Crisp white light shell (#10, #24). Command stays graphite, matching the
live compatibility layer and docs/redesign/permanent-colour-direction.md —
command (CTA) and clinical-accent (evidence/selected/send) are deliberately
different roles; a blue command briefly shipped here and collapsed that
distinction (reverted per design-system review, 2026-08-05).
Light is the default on .ckb-v2 itself - never :not(.dark), which matched a
subtree inside html.dark and overrode the inherited dark values (DS-01). */
.ckb-v2.ckb-v2 {
Expand Down Expand Up @@ -233,9 +237,9 @@
--decoration-soft: #8894a6;
--disabled: #9aa5b5;

--command: #1a66a8;
--command-hover: #185c99;
--command-active: #164a7a;
--command: #111827;
Comment thread
BigSimmo marked this conversation as resolved.
--command-hover: #0b1220;
--command-active: #080b0f;
--command-contrast: #ffffff;
--danger-solid: #a3190f;
--danger-solid-hover: #85140d;
Expand Down Expand Up @@ -334,10 +338,10 @@
--decoration-soft: #7d8792;
--border-dashed: #454e57;

--command: #3a80c0;
--command-hover: #4a91d2;
--command-active: #1d6fb8;
--command-contrast: #06121e;
--command: #f5f7f7;
--command-hover: #e6e9e8;
--command-active: #cbd1d8;
--command-contrast: #0a0c0e;
--danger-solid: #b42318;
--danger-solid-hover: #d92d20;
--danger-solid-active: #912018;
Expand Down
13 changes: 10 additions & 3 deletions tests/pwa-manifest.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,16 @@ describe("PWA manifest and public bootstrap resources", () => {
);
expect(offlineHtml).toContain('<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0b0e11" />');
expect(offlineHtml).toContain("--page-background: #ffffff; /* --background */");
expect(offlineHtml).toContain("--page-accent: #1a66a8; /* --command */");
expect(offlineHtml).toContain("--page-accent: #111827; /* --command */");
expect(offlineHtml).toContain("--page-accent-hover: #0b1220; /* --command-hover */");
expect(offlineHtml).toContain("--page-accent-contrast: #ffffff; /* --command-contrast */");
expect(offlineHtml).toContain("--page-glow: rgb(17 24 39 / 10%); /* command at low alpha */");
expect(offlineHtml).toContain("--page-background: #0b0e11; /* dark --background */");
expect(offlineHtml).toContain("--page-surface: #1c2126; /* dark --surface-raised */");
expect(offlineHtml).toContain("--page-accent: #f5f7f7; /* dark --command */");
expect(offlineHtml).toContain("--page-accent-hover: #e6e9e8; /* dark --command-hover */");
expect(offlineHtml).toContain("--page-accent-contrast: #0a0c0e; /* dark --command-contrast */");
expect(offlineHtml).toContain("--page-glow: rgb(245 247 247 / 10%);");
expect(offlineHtml).not.toContain("#060708");
});

Expand All @@ -101,8 +108,8 @@ describe("PWA manifest and public bootstrap resources", () => {
// value (never reuse a previous one, even for rollbacks) and record the
// new offline.html hash here.
const expectedPairing = {
cacheVersion: "2026-08-05-v2",
offlineHtmlSha256: "ce5e4b73faccfaa69a43d7e29cf13c41f948b6fe6b364797ae321506368cd86c",
cacheVersion: "2026-08-05-v3",
offlineHtmlSha256: "a681b26a0cbe0c046dc6f694d9f9990946614a11338fd38ec14527cd693f93eb",
};

const workerSource = readFileSync(join(process.cwd(), "public", "sw.js"), "utf8");
Expand Down
Loading