Files
discord-decomp/modules/rpc/server/events/subscriptionHelpers.tsx
T
2026-11-01 12:12:55 +02:00

79 lines
2.9 KiB
TypeScript

// Metro module 13560 (f13561).
import EmbeddedActivitiesStore from "../../../activities/EmbeddedActivitiesStore";
import FramesStore from "../../../frames/FramesStore";
import QuestStore from "../../../quests/QuestStore";
import { RPCEvents } from "../../../../Constants";
import { ActivityLayoutMode, ActivityScreenOrientation } from "../../../activities/Constants";
import { getThermalState, ThermalStates } from "../../../device/useThermalState";
import { getIsScreenLandscape } from "../../../screen/useIsScreenLandscape.native";
import { activityInstanceConnectedParticipants } from "../../helpers/activityInstanceConnectedParticipants";
import { getActivityApplicationId } from "../../../quests/utils/QuestTaskUtils";
export function getInitialSubscriptionPayload(a0, a1, a2) {
if (RPCEvents.ACTIVITY_PIP_MODE_UPDATE === a1) {
const id3 = a0.application?.id;
const r100 = id3 != null ? EmbeddedActivitiesStore.getLayoutModeForApp(id3) : null;
return r100 != null ? {
is_pip_mode: r100 !== ActivityLayoutMode.FOCUSED
} : null;
}
if (RPCEvents.ACTIVITY_LAYOUT_MODE_UPDATE === a1) {
const id2 = a0.application?.id;
const layout_mode2 = id2 != null ? EmbeddedActivitiesStore.getLayoutModeForApp(id2) : null;
return layout_mode2 != null ? {
layout_mode: layout_mode2
} : null;
}
if (RPCEvents.FRAME_LAYOUT_MODE_UPDATE === a1) {
const layout_mode = a0.application?.id != null ? FramesStore.getConnectedFrame()?.layoutMode : null;
return layout_mode != null ? {
layout_mode
} : null;
}
if (RPCEvents.THERMAL_STATE_UPDATE === a1) {
const thermalState = getThermalState();
return thermalState !== ThermalStates.UNHANDLED ? {
thermal_state: thermalState
} : null;
}
if (RPCEvents.ORIENTATION_UPDATE === a1) {
return {
screen_orientation: getIsScreenLandscape() ? ActivityScreenOrientation.LANDSCAPE : ActivityScreenOrientation.PORTRAIT
};
}
if (RPCEvents.ACTIVITY_INSTANCE_PARTICIPANTS_UPDATE === a1) {
return activityInstanceConnectedParticipants();
}
if (RPCEvents.QUEST_ENROLLMENT_STATUS_UPDATE === a1) {
const quest_id = a2.quest_id;
if (quest_id) {
const quest = QuestStore.getQuest(quest_id);
const activityApplicationId = getActivityApplicationId(quest);
const r1 = quest == null;
let r28 = null;
if (!r1) {
const r29 = activityApplicationId == null;
r28 = null;
if (!r29) {
const id = a0.application?.id;
r28 = null;
if (activityApplicationId === id) {
const enrolledAt = quest.userStatus?.enrolledAt;
let enrolled_at = quest.userStatus?.enrolledAt;
if (enrolled_at == null) {
enrolled_at = null;
}
r28 = {
quest_id,
is_enrolled: enrolledAt != null,
enrolled_at
};
}
}
}
return r28;
}
return null;
}
return null;
}