Files
discord-decomp/sources/modules/activity_status/native/ActivityStatus.tsx
T
2026-07-28 01:06:53 +03:00

159 lines
9.2 KiB
TypeScript

/* Metro module 8829; source: modules/activity_status/native/ActivityStatus.tsx; dependencies: [31, 27, 4396, 3793, 1878, 8830, 661, 33, 4501, 566, 8831, 8832, 8833, 8838, 8839, 8848, 8852, 8837, 2] */
import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import RelationshipStore from '../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */
import PresenceStore from '../../../stores/PresenceStore.tsx'; /* Metro dependency 4396 */
import UseDiscoverableApplicationStream from '../../blocking/useDiscoverableApplicationStream.tsx'; /* Metro dependency 8831 */
import UseUserVoiceActivity from '../useUserVoiceActivity.tsx'; /* Metro dependency 8832 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as ActivityStatusConstantsModule from '../ActivityStatusConstants.tsx'; /* Metro dependency 8830 */
function _fun68974(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68974, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9014:6, offset: 0x01c6353f, size: 342 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_13 = (CreateStylesModule).createStyles({container: {'flexDirection': 'row',
'alignItems': 'center', 'gap': 4}, icon: {marginTop: 1}, emoji: {marginRight: 0}});
(FileImportTrackerModule).fileFinishedImporting('modules/activity_status/native/ActivityStatus.tsx');
exports.default = ActivityStatus;
function ActivityStatus({userId, guildId, iconStyle, textStyle, emojiSize, maxFontSizeMultiplier, animate, hideEmoji}) { // fn#68975, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9014:456, offset: 0x01c63695, size: 758 bytes, params: 2, frame: 29
var r10;
var r1;
var r6;
var jsxRuntimeEnv0_11Binding;
var emoji;
var ActivityEmoji;
var object2;
var items2;
emojiSize = emojiSize === undefined ? 14 : emojiSize;
const maxFontSizeMultiplier2 = maxFontSizeMultiplier;
animate = animate === undefined || animate;
hideEmoji = !(hideEmoji === undefined) && hideEmoji;
const styles = useStyles();
const user = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getUser(userId);
});
const activities = (require(566) /* metro dependency 566: flux */).useStateFromStores([PresenceStore], function() {
return PresenceStore.getActivities(userId);
});
const env0_6 = (UseDiscoverableApplicationStream)(userId);
const env0_7 = (UseUserVoiceActivity)({userId: userId,
guildId: guildId}).voiceChannel;
const value6 = maxFontSizeMultiplier2.useMemo(_fun68978, [activities]);
if ((require(566) /* metro dependency 566: flux */).useStateFromStores([RelationshipStore], function() {
return RelationshipStore.isBlockedOrIgnored(userId);
})) {
return null;
}
const env0_8 = user?.bot === true;
const env0_9 = value6?.state != null;
const value9 = _fun68981();
if (value6 == null) {
r6 = null;
} else {
if (value6 != null) {
jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
emoji = value6.emoji;
r10 = emoji != null && !hideEmoji;
if (r10) {
ActivityEmoji = importDefault(8852) /* metro dependency 8852: ActivityEmoji */;
object2 = {};
emoji = value6.emoji;
object2.emoji = emoji;
object2.size = emojiSize;
object2.animate = animate;
emoji = styles.emoji;
object2.style = emoji;
r10 = <ActivityEmoji {...object2} />;
}
items2 = [r10];
r10 = value6.state != null && ((Component) => <Component variant="text-xs/normal" style={textStyle} maxFontSizeMultiplier={maxFontSizeMultiplier}>{value6.state}</Component>)(importDefault(8837) /* metro dependency 8837: ActivityStatusText */);
items2[1] = r10;
r1 = (
<>
{items2}
</>
);
} else {
r1 = null;
}
r6 = r1;
}
return (
<View style={styles.container}>
{value9}
{value9 != null && r6 != null && ((Component) => <Component variant="text-xs/normal" style={textStyle} maxFontSizeMultiplier={maxFontSizeMultiplier} accessibilityElementsHidden importantForAccessibility="no-hide-descendants">{DOT_UNICODE}</Component>)(importDefault(8837) /* metro dependency 8837: ActivityStatusText */)}
{r6}
</View>
);
function _fun68978() { // fn#68978, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9014:788, offset: 0x01c639a6, size: 121 bytes, params: 1, frame: 14
const activitiesBinding = activities;
const value2 = null;
const value3 = undefined;
const r2 = value2 == activitiesBinding ? value3 : activities.find(function({type}) {
return type === ActivityTypes.CUSTOM_STATUS;
});
if (value2 == r2) {
return value2;
}
const state = r2.state;
let r1 = value2 == state ? value3 : state.trim();
const r3 = value2 != r1 ? r1 : value2;
r1 = r3 === '' ? value2 : r3;
r1 = value2 != r1 ? r2 : value2 == r2.emoji ? value2 : r2;
return r1;
}
function _fun68981() { // fn#68981, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9014:1145, offset: 0x01c63a55, size: 452 bytes, params: 1, frame: 20
var environment;
var value7;
var value8;
var ApplicationStreamActivityStatus;
const value2 = null;
if (value2 != env0_6) {
value7 = environment.__proto__;
value8 = undefined;
ApplicationStreamActivityStatus = importDefault(8833) /* metro dependency 8833: ApplicationStreamActivityStatus */;
return (
<ApplicationStreamActivityStatus
game={value2 == activities ? value8 : activities.find(importDefault(8838) /* metro dependency 8838: isGameActivity */)}
iconStyle={[styles.icon, iconStyle]}
textStyle={textStyle}
maxFontSizeMultiplier={maxFontSizeMultiplier}
hideIcon={env0_8}
hideText={env0_9}
/>
);
}
const r6 = value2 == activities ? undefined : activities.find(_fun68982);
return (
value2 != r6
? ((Component) => <Component activity={r6} iconStyle={[styles.icon,
iconStyle]} textStyle={textStyle} maxFontSizeMultiplier={maxFontSizeMultiplier} hideIcon={env0_8} hideText={env0_9} />)(importDefault(8839) /* metro dependency 8839: PresenceActivityStatus */)
: (
value2 != voiceChannel
? ((Component) => <Component channel={voiceChannel} iconStyle={[styles.icon,
iconStyle]} textStyle={textStyle} maxFontSizeMultiplier={maxFontSizeMultiplier} hideIcon={env0_8} hideText={env0_9} />)(importDefault(8848) /* metro dependency 8848: VoiceActivityStatus */)
: value2
)
);
function _fun68982({type}) { // fn#68982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9014:1327, offset: 0x01c63c19, size: 44 bytes, params: 2, frame: 4
const value = environment.__proto__.__proto__;
const CUSTOM_STATUS = ActivityTypes.CUSTOM_STATUS;
return type !== CUSTOM_STATUS && type !== ActivityTypes.HANG_STATUS;
}
}
}
}
global.__d(_fun68974, 8829, [31, 27, 4396, 3793, 1878, 8830, 661, 33, 4501, 566, 8831, 8832, 8833, 8838, 8839, 8848,
8852, 8837,
2]) /* metro module 8829, dependencies: [31, 27, 4396, 3793, 1878, 8830, 661, 33, 4501, 566, 8831, 8832, 8833, 8838, 8839, 8848, 8852, 8837, 2] */;