Files
discord-decomp/modules/client_themes/native/MobileThemesUtils.tsx
T
2026-11-01 12:12:55 +02:00

98 lines
4.3 KiB
TypeScript

// Metro module 4122 (f4123).
import ThemeStore from "../../user_settings/ThemeStore";
import SavedCustomThemeStore from "../SavedCustomThemeStore";
import CustomThemeMobileStore from "./CustomThemeMobileStore";
import { REFRESH_STANDARD_BACKGROUND_THEMES, LEGACY_STANDARD_BACKGROUND_THEMES, BACKGROUND_GRADIENT_PRESETS_MOBILE } from "../ClientThemesConstants";
import { intl } from "../../../intl/index.native";
import ClientThemes_messages from "../intl/ClientThemes.messages";
import { ClientThemeType } from "../ClientThemesTypes";
import { useCustomThemeDisplaySettings } from "./useCustomThemeDisplaySettings";
import { useStateFromStores } from "../../../_bundle/Module589";
import MobileVisualRefreshExperiment, { isMobileVisualRefreshEnabled } from "../../themes/experiments/MobileVisualRefreshExperiment";
function $mk73627($env) {
return () => {
const r9 = $env[0];
if (r9 == null) {
return null;
}
const r7 = $env.$parent;
const r8 = r7[3];
const customUserThemeSettings = r8.getSyncedClientTheme(r9)?.customUserThemeSettings;
return customUserThemeSettings == null ? null : customUserThemeSettings.colors.length !== 0 ? {
type: (0, r7[0])(r7[2][6]).ClientThemeType.CUSTOM_BACKGROUND_GRADIENT,
getName: r7[9],
theme: r8.themePreferenceForSystemTheme(r9),
customThemeSettings: customUserThemeSettings
} : null;
};
}
let $mk73628 = function() {
return () => SavedCustomThemeStore.getSavedCustomTheme();
};
let env2375 = {};
const getCustomThemesName = function getCustomThemesName() {
return intl.string(ClientThemes_messages.yl1iMm);
};
export function getCustomBackgroundGradient() {
const customThemeDisplaySettings = CustomThemeMobileStore.getCustomThemeDisplaySettings();
return customThemeDisplaySettings !== void 0 ? {
type: ClientThemeType.CUSTOM_BACKGROUND_GRADIENT,
getName: getCustomThemesName,
theme: customThemeDisplaySettings.baseTheme,
customThemeSettings: customThemeDisplaySettings.customTheme
} : null;
}
export function useCustomBackgroundGradient(a0) {
const customThemeDisplaySettings = useCustomThemeDisplaySettings(a0);
return customThemeDisplaySettings !== void 0 ? {
type: ClientThemeType.CUSTOM_BACKGROUND_GRADIENT,
getName: getCustomThemesName,
theme: customThemeDisplaySettings.baseTheme,
customThemeSettings: customThemeDisplaySettings.customTheme
} : null;
}
export function usePerModeCustomBackgroundGradient(a0) {
let env13867;
const r1 = env13867 = {
$parent: env2375
};
env13867[0] = a0;
return useStateFromStores([ThemeStore], $mk73627(r1));
}
export function getAllMobileThemes() {
const customThemeDisplaySettings = CustomThemeMobileStore.getCustomThemeDisplaySettings();
const r7 = customThemeDisplaySettings !== void 0 ? {
type: ClientThemeType.CUSTOM_BACKGROUND_GRADIENT,
getName: getCustomThemesName,
theme: customThemeDisplaySettings.baseTheme,
customThemeSettings: customThemeDisplaySettings.customTheme
} : null;
const r29 = isMobileVisualRefreshEnabled("MobileThemesUtils") ? REFRESH_STANDARD_BACKGROUND_THEMES : LEGACY_STANDARD_BACKGROUND_THEMES;
return r7 != null ? [...r29, r7, ...BACKGROUND_GRADIENT_PRESETS_MOBILE] : [...r29, ...BACKGROUND_GRADIENT_PRESETS_MOBILE];
}
export function useAllMobileThemes(a0) {
const stateFromStores = useStateFromStores([SavedCustomThemeStore], $mk73628());
const customThemeDisplaySettings = useCustomThemeDisplaySettings(stateFromStores ?? null);
let r25 = customThemeDisplaySettings !== void 0 ? {
type: ClientThemeType.CUSTOM_BACKGROUND_GRADIENT,
getName: getCustomThemesName,
theme: customThemeDisplaySettings.baseTheme,
customThemeSettings: customThemeDisplaySettings.customTheme
} : null;
let env13868;
const r35 = env13868 = {
$parent: env2375
};
env13868[0] = a0;
const stateFromStores2 = useStateFromStores([ThemeStore], $mk73627(r35));
if (a0 != null) {
r25 = stateFromStores2;
}
const r46 = MobileVisualRefreshExperiment("MobileThemesUtils") ? REFRESH_STANDARD_BACKGROUND_THEMES : LEGACY_STANDARD_BACKGROUND_THEMES;
return r25 != null ? [...r46, r25, ...BACKGROUND_GRADIENT_PRESETS_MOBILE] : [...r46, ...BACKGROUND_GRADIENT_PRESETS_MOBILE];
}
export function useSavedCustomTheme() {
const stateFromStores = useStateFromStores([SavedCustomThemeStore], $mk73628());
return stateFromStores ?? null;
}