Files
discord-decomp/sources/modules/user_profile/hooks/useProfileTheme.tsx
T
2026-07-27 16:20:00 +03:00

69 lines
4.4 KiB
TypeScript

/* Metro module 8494; source: modules/user_profile/hooks/useProfileTheme.tsx; dependencies: [57, 4502, 8495, 661, 4048, 566, 696, 8372, 673, 7593, 4002, 2] */
function _fun67393(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8679:6, offset: 0x01c20e02, size: 178 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_5 = (require(8495) /* metro dependency 8495: useProfileThemeOverrideStore */).useEffectiveThemeOverride;
const env0_6 = (require(661) /* metro dependency 661: Constants */).ThemeTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/user_profile/hooks/useProfileTheme.tsx');
exports.default = useProfileTheme;
}
function useProfileTheme({user, displayProfile, pendingThemeColors, pendingAvatarSrc, isPreview, forceUserTheme}) { // fn#67394, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8679:264, offset: 0x01c20eb4, size: 623 bytes, params: 2, frame: 28
var r2;
var r6;
var r3;
var r4;
var moduleValue7;
const value3 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const value4 = useEffectiveThemeOverride();
const syncProfileThemeWithUserTheme = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.syncProfileThemeWithUserTheme;
});
const value8 = env0_3((require(8372) /* metro dependency 8372: useAvatarColor */).useAvatarColors(pendingAvatarSrc ?? user?.getAvatarURL(displayProfile?.guildId,
80), (require(696) /* metro dependency 696: shimsNative */).unsafe_getResolvedRawColor('PRIMARY_530',
{saturation: 1}), false), 2);
const property = value8[0];
const property2 = value8[1];
if (value4 != null) {
return value4;
}
if (displayProfile != null) {
if (displayProfile.canEditThemes) {
r6 = displayProfile?.getPreviewThemeColors(pendingThemeColors);
r3 = r6?.[0];
r3 = r3 ?? (require(673) /* metro dependency 673: ColorUtils */).hex2int(property);
r2 = r6?.[1];
r2 = r2 ?? (require(673) /* metro dependency 673: ColorUtils */).hex2int(property2);
r6 = syncProfileThemeWithUserTheme || forceUserTheme ? value3 : (require(7593) /* metro dependency 7593: UserProfileGradientUtils */).getProfileTheme(r3) ?? value3;
if (r6 !== ThemeTypes.DARK) {
r4 = r6 === ThemeTypes.DARK && (require(4002) /* metro dependency 4002: shared */).isThemeLight(value3) ? ThemeTypes.DARKER : r6;
} else {
moduleValue7 = require(4002) /* metro dependency 4002: shared */;
r4 = moduleValue7.isThemeDark(value3) ? value3 : r6 === ThemeTypes.DARK && (require(4002) /* metro dependency 4002: shared */).isThemeLight(value3) ? ThemeTypes.DARKER : r6;
}
return {theme: r4, primaryColor: r3, secondaryColor: r2};
}
}
if (isPreview) {
r6 = displayProfile?.getPreviewThemeColors(pendingThemeColors);
r3 = r6?.[0];
r3 = r3 ?? (require(673) /* metro dependency 673: ColorUtils */).hex2int(property);
r2 = r6?.[1];
r2 = r2 ?? (require(673) /* metro dependency 673: ColorUtils */).hex2int(property2);
r6 = syncProfileThemeWithUserTheme || forceUserTheme ? value3 : (require(7593) /* metro dependency 7593: UserProfileGradientUtils */).getProfileTheme(r3) ?? value3;
if (r6 !== ThemeTypes.DARK) {
r4 = r6 === ThemeTypes.DARK && (require(4002) /* metro dependency 4002: shared */).isThemeLight(value3) ? ThemeTypes.DARKER : r6;
} else {
moduleValue7 = require(4002) /* metro dependency 4002: shared */;
r4 = moduleValue7.isThemeDark(value3) ? value3 : r6 === ThemeTypes.DARK && (require(4002) /* metro dependency 4002: shared */).isThemeLight(value3) ? ThemeTypes.DARKER : r6;
}
return {theme: r4, primaryColor: r3, secondaryColor: r2};
}
return {'theme': null, 'primaryColor': null, 'secondaryColor': null, theme: value3};
}