fix(theme): preserve poyraz dark interaction tokens

This commit is contained in:
poyrazavsever
2026-07-17 22:51:51 +03:00
parent 4d15c2c481
commit 5afb04c580
3 changed files with 16 additions and 8 deletions
+15 -1
View File
@@ -93,7 +93,21 @@ try {
assert.equal(fileService.readPublicBranding(darkLogo.id).metadata.id, darkLogo.id);
assert.equal(fileService.readPublicBranding(icon.id).metadata.id, icon.id);
assert.ok(contrastRatio(branding.primaryColor, branding.cssVariables["--poyraz-primary-foreground"]) >= 4.5);
assert.ok(contrastRatio(branding.accentColor, branding.cssVariables["--poyraz-accent-foreground"]) >= 4.5);
assert.equal(
branding.cssVariables["--poyraz-accent"],
undefined,
"Poyraz must own the light/dark semantic accent surface",
);
assert.equal(
branding.cssVariables["--poyraz-accent-foreground"],
undefined,
"Poyraz must own the light/dark semantic accent foreground",
);
assert.equal(
branding.cssVariables["--poyraz-accent-hover"],
undefined,
"Poyraz must own the light/dark semantic accent hover surface",
);
assertDomainError(() => brandingService.update(clientOne, { applicationName: "Attack" }), "FORBIDDEN");
assertDomainError(() => brandingService.update(ownerTwo, { applicationName: "Attack" }), "FORBIDDEN");
assertDomainError(() => brandingService.update(ownerOne, { primaryColor: "red" }), "VALIDATION_ERROR");
-1
View File
@@ -19,7 +19,6 @@ export function getPublicBranding(): PublicBranding {
iconUrl: null,
cssVariables: buildBrandingTokens(
DEFAULT_BRANDING.primaryColor,
DEFAULT_BRANDING.accentColor,
DEFAULT_BRANDING.radiusScale,
),
};
+1 -6
View File
@@ -106,7 +106,7 @@ export class BrandingService {
lightLogoUrl: publicAssetUrl(lightLogoId),
darkLogoUrl: publicAssetUrl(darkLogoId),
iconUrl: publicAssetUrl(settings.iconFileId),
cssVariables: buildBrandingTokens(settings.primaryColor, settings.accentColor, settings.radiusScale),
cssVariables: buildBrandingTokens(settings.primaryColor, settings.radiusScale),
};
}
@@ -164,7 +164,6 @@ export class BrandingService {
export function buildBrandingTokens(
primary: string,
accent: string,
radiusScale: "compact" | "default" | "soft",
): Record<`--${string}`, string> {
const radii = {
@@ -173,7 +172,6 @@ export function buildBrandingTokens(
soft: ["0.5rem", "0.75rem", "1rem", "1.25rem", "1.5rem"],
}[radiusScale];
const primaryForeground = readableForeground(primary);
const accentForeground = readableForeground(accent);
return {
"--poyraz-primary": primary,
@@ -188,9 +186,6 @@ export function buildBrandingTokens(
"--poyraz-primary-dark": mixHex(primary, "#000000", 0.4),
"--poyraz-primary-muted": `color-mix(in srgb, ${primary} 12%, var(--poyraz-surface))`,
"--poyraz-primary-muted-foreground": primary,
"--poyraz-accent": accent,
"--poyraz-accent-foreground": accentForeground,
"--poyraz-accent-hover": mixHex(accent, accentForeground, 0.1),
"--poyraz-ring": primary,
"--poyraz-focus-ring": primary,
"--poyraz-radius-xs": radii[0],