fix: use dangerouslySetInnerHTML for inline CSS to prevent HTML-escaping

Preact was escaping & characters in SCSS-compiled CSS (e.g. & nesting)
into &, breaking CSS rules. Using dangerouslySetInnerHTML bypasses
the escaping, matching how browsers expect style element content.
This commit is contained in:
saberzero1 2026-02-14 01:11:56 +01:00
parent bff9b464a9
commit 90fbee4ef8
No known key found for this signature in database

View File

@ -47,7 +47,7 @@ export function JSResourceToScriptElement(resource: JSResource, preserve?: boole
export function CSSResourceToStyleElement(resource: CSSResource, preserve?: boolean): JSX.Element { export function CSSResourceToStyleElement(resource: CSSResource, preserve?: boolean): JSX.Element {
const spaPreserve = preserve ?? resource.spaPreserve const spaPreserve = preserve ?? resource.spaPreserve
if (resource.inline ?? false) { if (resource.inline ?? false) {
return <style>{resource.content}</style> return <style dangerouslySetInnerHTML={{ __html: resource.content }} />
} else { } else {
return ( return (
<link <link