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

44 lines
1.9 KiB
TypeScript

// Metro module 9073 (f9074).
import { ActivityTypes } from "../../../Constants";
import isEmbeddedActivity from "../../activities/utils/isEmbeddedActivity";
import { GameControllerIcon } from "../../../design/components/Icon/native/redesign/generated/GameControllerIcon";
import { AppsIcon } from "../../../design/components/Icon/native/redesign/generated/AppsIcon";
import { MusicIcon } from "../../../design/components/Icon/native/redesign/generated/MusicIcon";
import { TvIcon } from "../../../design/components/Icon/native/redesign/generated/TvIcon";
import getActivityStatusText from "../getActivityStatusText";
import ActivityStatusIcon from "./ActivityStatusIcon";
import ActivityStatusText from "./ActivityStatusText";
export default function PresenceActivityStatus(props) {
let AppsIcon2, text;
const { activity, iconStyle, textStyle, maxFontSizeMultiplier, hideIcon = false, hideText = false } = props;
if (hideIcon && hideText) {
return null;
}
L21: {
text = getActivityStatusText(activity, true).text;
if (isEmbeddedActivity(activity)) {
AppsIcon2 = AppsIcon;
} else if (activity.type === ActivityTypes.PLAYING) {
AppsIcon2 = GameControllerIcon;
} else if (activity.type === ActivityTypes.LISTENING) {
AppsIcon2 = MusicIcon;
} else {
if (activity.type !== ActivityTypes.WATCHING && activity.type !== ActivityTypes.STREAMING) {
const type = activity.type;
const COMPETING = ActivityTypes.COMPETING;
AppsIcon2 = null;
if (type !== COMPETING) {
break L21;
}
AppsIcon2 = GameControllerIcon;
break L21;
}
AppsIcon2 = TvIcon;
}
}
return <>
{(hideIcon ? !hideIcon : AppsIcon2 != null) && <ActivityStatusIcon icon={AppsIcon2} style={iconStyle} />}
{hideText ? !hideText : <ActivityStatusText style={textStyle} maxFontSizeMultiplier={maxFontSizeMultiplier}>{text}</ActivityStatusText>}
</>;
};