72 lines
2.1 KiB
TypeScript
72 lines
2.1 KiB
TypeScript
// Metro module 8078 (f8079).
|
|
import { ThemeTypes } from "../../../Constants";
|
|
import { create } from "../../../_bundle/Module644";
|
|
import useTheme from "../../../hooks/useTheme";
|
|
import { getProfileTheme } from "../UserProfileGradientUtils";
|
|
import { isThemeDark, isThemeLight } from "../../../design/shared";
|
|
let c5123_4 = create()((c16237_0) => ({
|
|
themeOverride: null,
|
|
savedClientTheme: null,
|
|
setThemeOverride: (a0) => c16237_0({
|
|
themeOverride: a0
|
|
}),
|
|
setSavedClientTheme: (a0) => c16237_0({
|
|
savedClientTheme: a0
|
|
})
|
|
}));
|
|
export { c5123_4 as useProfileThemeOverrideStore };
|
|
export function useEffectiveThemeOverride() {
|
|
let r8, primaryColor, secondaryColor;
|
|
const r14 = c5123_4((a0) => a0.themeOverride);
|
|
const theme = useTheme();
|
|
if (r14 == null) {
|
|
return null;
|
|
}
|
|
if (r14.mode === "nitro") {
|
|
const themeColors = r14.themeColors;
|
|
let r6 = themeColors == null ? void 0 : themeColors[0];
|
|
if (r6 == null) {
|
|
r6 = null;
|
|
}
|
|
const themeColors2 = r14.themeColors;
|
|
let r23 = themeColors2 == null ? void 0 : themeColors2[1];
|
|
if (r23 == null) {
|
|
r23 = null;
|
|
}
|
|
let r24 = theme;
|
|
if (r6 != null) {
|
|
r24 = theme;
|
|
if (r23 != null) {
|
|
let r27 = getProfileTheme(r6);
|
|
if (r27 == null) {
|
|
r27 = theme;
|
|
}
|
|
r24 = r27;
|
|
}
|
|
}
|
|
r8 = r24;
|
|
secondaryColor = r23;
|
|
primaryColor = r6;
|
|
} else {
|
|
r8 = r14.themeType;
|
|
if (r8 == null) {
|
|
r8 = theme;
|
|
}
|
|
secondaryColor = null;
|
|
primaryColor = null;
|
|
}
|
|
return {
|
|
theme: r8 === ThemeTypes.DARK ? isThemeDark(theme) ? theme : r8 === ThemeTypes.DARK && isThemeLight(theme) ? ThemeTypes.DARKER : r8 : r8 === ThemeTypes.DARK && isThemeLight(theme) ? ThemeTypes.DARKER : r8,
|
|
primaryColor,
|
|
secondaryColor
|
|
};
|
|
}
|
|
export function useIsBannerDisabledByOverride() {
|
|
const r7 = c5123_4((a0) => a0.themeOverride);
|
|
return r7 != null && (r7.mode === "non-nitro" || r7.disableBanner === true);
|
|
}
|
|
export function useHasNonNitroThemeOverride() {
|
|
const r5 = c5123_4((a0) => a0.themeOverride);
|
|
return r5 != null && r5.mode === "non-nitro";
|
|
}
|