Skip to content

Commit dedb47a

Browse files
committed
Share id for root color scheme theme
1 parent 5066efb commit dedb47a

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/lib/darkMode.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export type ColorScheme = "light" | "dark";
88

99
export const data_fr_theme = "data-fr-theme";
1010
export const data_fr_scheme = "data-fr-scheme";
11-
11+
export const rootColorSchemeStyleTagId = "root-color-scheme";
1212
//export const $colorScheme = createStatefulObservable<ColorScheme>(() => "light");
1313
export const $isDark = createStatefulObservable(() => false);
1414

@@ -121,10 +121,8 @@ export function startObservingColorSchemeHtmlAttribute() {
121121
const setRootColorScheme = (isDark: boolean) => {
122122
const colorScheme: ColorScheme = isDark ? "dark" : "light";
123123

124-
const id = "root-color-scheme";
125-
126124
remove_existing_element: {
127-
const element = document.getElementById(id);
125+
const element = document.getElementById(rootColorSchemeStyleTagId);
128126

129127
if (element === null) {
130128
break remove_existing_element;
@@ -135,7 +133,7 @@ export function startObservingColorSchemeHtmlAttribute() {
135133

136134
const element = document.createElement("style");
137135

138-
element.id = id;
136+
element.id = rootColorSchemeStyleTagId;
139137

140138
element.innerHTML = `:root { color-scheme: ${colorScheme}; }`;
141139

src/next.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import faviconWebmanifestUrl from "./dsfr/favicon/manifest.webmanifest";
2525
import {
2626
data_fr_scheme,
2727
data_fr_theme,
28+
rootColorSchemeStyleTagId,
2829
isDarkContext,
2930
refDoPersistDarkModePreferenceWithCookie
3031
} from "./lib/darkMode";
@@ -195,7 +196,9 @@ export function createNextDsfrIntegrationApi(params: Params): NextDsfrIntegratio
195196
href={faviconWebmanifestUrl}
196197
crossOrigin="use-credentials"
197198
/>
198-
<style>{`:root { color-scheme: ${colorScheme}; }`}</style>
199+
<style
200+
id={rootColorSchemeStyleTagId}
201+
>{`:root { color-scheme: ${colorScheme}; }`}</style>
199202
</Head>
200203
{isBrowser ? (
201204
<App {...(props as any)} />

0 commit comments

Comments
 (0)