Files
discord-decomp/_bundle/Module3913.jsx
T
2026-11-01 12:12:55 +02:00

68 lines
2.6 KiB
React

// Metro module 3913 (f3914).
import { useContext, useMemo } from "react";
import { ThemeContext, FALLBACK_THEME_CONTEXT_VALUE, createThemedContext } from "./Module3912";
export function ThemeContextProvider(props) {
const { children, theme, primaryColor, secondaryColor, gradient, flags, contrast, saturation, enabledExperiments, density, disableAdaptiveTheme, reduceAdaptiveTheme } = props;
const context = useContext(ThemeContext);
FALLBACK_THEME_CONTEXT_VALUE;
return <ThemeContext.Provider value={useMemo(() => {
let theme2 = theme;
if (theme == null) {
theme2 = context.theme;
}
let primaryColor2 = primaryColor;
if (primaryColor == null) {
primaryColor2 = context.primaryColor;
}
let secondaryColor2 = secondaryColor;
if (secondaryColor == null) {
secondaryColor2 = context.secondaryColor;
}
let gradient2 = gradient;
if (gradient == null) {
gradient2 = context.gradient;
}
let flags2 = flags;
if (flags == null) {
flags2 = context.flags;
}
let contrast2 = contrast;
if (contrast == null) {
contrast2 = context.contrast;
}
let saturation2 = saturation;
if (saturation == null) {
saturation2 = context.saturation;
}
let enabledExperiments2 = enabledExperiments;
if (enabledExperiments == null) {
enabledExperiments2 = context.enabledExperiments;
}
let density2 = density;
if (density == null) {
density2 = context.density;
}
let disableAdaptiveTheme2 = disableAdaptiveTheme;
if (disableAdaptiveTheme == null) {
disableAdaptiveTheme2 = context.disableAdaptiveTheme;
}
let reduceAdaptiveTheme2 = reduceAdaptiveTheme;
if (reduceAdaptiveTheme == null) {
reduceAdaptiveTheme2 = context.reduceAdaptiveTheme;
}
return createThemedContext({
theme: theme2,
primaryColor: primaryColor2,
secondaryColor: secondaryColor2,
gradient: gradient2,
flags: flags2,
contrast: contrast2,
saturation: saturation2,
enabledExperiments: enabledExperiments2,
density: density2,
disableAdaptiveTheme: disableAdaptiveTheme2,
reduceAdaptiveTheme: reduceAdaptiveTheme2
});
}, [theme, context.theme, context.primaryColor, context.secondaryColor, context.gradient, context.flags, context.contrast, context.saturation, context.enabledExperiments, context.density, context.disableAdaptiveTheme, context.reduceAdaptiveTheme, primaryColor, secondaryColor, gradient, flags, contrast, saturation, enabledExperiments, density, disableAdaptiveTheme, reduceAdaptiveTheme])}>{children}</ThemeContext.Provider>;
}