44 lines
1.9 KiB
TypeScript
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>}
|
|
</>;
|
|
};
|