1 | import { data_fr_scheme, data_fr_theme } from "../useIsDark/constants";
|
2 | import type { ColorScheme } from "../useIsDark";
|
3 | import {
|
4 | type DefaultColorScheme,
|
5 | setDefaultColorSchemeServerSide
|
6 | } from "./zz_internal/defaultColorScheme";
|
7 | import { setUseLang } from "../i18n";
|
8 |
|
9 | const suppressHydrationWarning = true;
|
10 |
|
11 | export function getHtmlAttributes(params: {
|
12 | defaultColorScheme: DefaultColorScheme;
|
13 | lang?: string;
|
14 | }): { suppressHydrationWarning: true; lang?: string } & (
|
15 | | Record<typeof data_fr_scheme | typeof data_fr_theme, ColorScheme>
|
16 | | {}
|
17 | ) {
|
18 | const { defaultColorScheme, lang } = params;
|
19 |
|
20 | setDefaultColorSchemeServerSide({ defaultColorScheme });
|
21 |
|
22 | if (lang !== undefined) {
|
23 | setUseLang({ "useLang": () => lang });
|
24 | }
|
25 |
|
26 | if (defaultColorScheme === "system") {
|
27 | return {
|
28 | lang,
|
29 | suppressHydrationWarning
|
30 | };
|
31 | }
|
32 |
|
33 | return {
|
34 | lang,
|
35 | suppressHydrationWarning,
|
36 | [data_fr_scheme]: defaultColorScheme,
|
37 | [data_fr_theme]: defaultColorScheme
|
38 | };
|
39 | }
|