Files
discord-decomp/stores/views/ActivityLauncherStore.tsx
T
2026-11-01 12:12:55 +02:00

136 lines
4.4 KiB
TypeScript

// Metro module 10471 (f10472).
import LocalActivityStore from "../LocalActivityStore";
import SelfPresenceStore from "../SelfPresenceStore";
import { ActivityActionStates, ActivityActionTypes } from "../../Constants";
import { Timeout } from "../../_bundle/Timeout";
import Dispatcher from "../../Dispatcher";
import Module589 from "../../_bundle/Module589";
function $mk84786($env) {
return () => {
const r4 = $env;
const r1 = $env.$parent;
return (0, r1[1])(r1[2][4]).dispatch({
type: "ACTIVITY_LAUNCH_FAIL",
applicationId: r4[0],
activityType: r4[1]
});
};
}
let handleActivityUpdate, c7018_8, c7018_9, c7018_12;
let env7018 = {};
const handleActivityStateChanged = function handleActivityStateChanged(a0, a1, { applicationId, remotePartyId }) {
if (a0 === ActivityActionStates.COMPLETE) {
const r60 = env7018[7][applicationId];
if (r60 != null) {
delete r60[a1];
}
if (c7018_8[applicationId] != null) {
c7018_8[applicationId].stop();
delete c7018_8[applicationId];
}
return void 0;
}
let r10 = env7018[7][applicationId];
if (r10 == null) {
r10 = {};
}
r10[a1] = {
state: a0,
remotePartyId
};
env7018[7][applicationId] = r10;
if (a0 === ActivityActionStates.FAILED) {
let env17984;
const r39 = env17984 = {
$parent: env7018
};
env17984[0] = applicationId;
env17984[1] = a1;
if (c7018_8[applicationId] != null) {
c7018_8[applicationId].stop();
}
const timeout2 = new Timeout();
timeout2.start(c7018_9, $mk84786(r39));
c7018_8[applicationId] = timeout2;
} else if (a0 === ActivityActionStates.LOADING) {
const r0 = remotePartyId != null ? 15000 : c7018_9;
let env17983;
const r20 = env17983 = {
$parent: env7018
};
env17983[0] = applicationId;
env17983[1] = a1;
if (c7018_8[applicationId] != null) {
c7018_8[applicationId].stop();
}
const timeout = new Timeout();
timeout.start(r0, $mk84786(r20));
c7018_8[applicationId] = timeout;
}
};
const handleActivityComplete = function handleActivityComplete(a0) {
return (a0.type !== "ACTIVITY_JOIN" || a0.parentApplicationId == null) && handleActivityStateChanged(ActivityActionStates.COMPLETE, ActivityActionTypes.JOIN, a0);
};
handleActivityUpdate = function handleActivityUpdate() {
let c17985_0;
const r13 = Object.entries(env7018[7]).map((item) => {
const [applicationId, r14] = item;
return {
applicationId,
remotePartyId: r14[ActivityActionTypes.JOIN]?.remotePartyId
};
}).filter((item) => item.remotePartyId != null);
c17985_0 = false;
r13.forEach(({ applicationId, remotePartyId }) => {
const applicationActivity = LocalActivityStore.getApplicationActivity(applicationId);
const applicationActivity2 = SelfPresenceStore.getApplicationActivity(applicationId);
if (!((applicationActivity == null ? void 0 : applicationActivity.party?.id) !== remotePartyId && (applicationActivity2 == null ? void 0 : applicationActivity2.party?.id) !== remotePartyId)) {
handleActivityStateChanged(ActivityActionStates.COMPLETE, ActivityActionTypes.JOIN, {
applicationId,
remotePartyId
});
c17985_0 = true;
}
});
return c17985_0;
};
env7018[7] = {};
c7018_8 = {};
c7018_9 = 120000;
class ActivityLauncherStore extends Module589.Store {
static displayName = "ActivityLauncherStore";
constructor() {
super(...arguments);
}
initialize() {
this.syncWith([LocalActivityStore, SelfPresenceStore], handleActivityUpdate);
}
getState(a0, a1) {
const r5 = env7018[7][a0];
return r5 == null ? void 0 : r5[a1]?.state;
}
getStates() {
return env7018[7];
}
}
c7018_12 = ActivityLauncherStore;
const r49 = new ActivityLauncherStore(Dispatcher, {
OVERLAY_INITIALIZE: function handleOverlayInitialize(a0) {
env7018[7] = {
...a0.activityLauncherStates
};
},
ACTIVITY_JOIN_LOADING: (a0) => handleActivityStateChanged(ActivityActionStates.LOADING, ActivityActionTypes.JOIN, a0),
ACTIVITY_JOIN_FAILED: (a0) => handleActivityStateChanged(ActivityActionStates.FAILED, ActivityActionTypes.JOIN, a0),
ACTIVITY_JOIN: handleActivityComplete,
EMBEDDED_ACTIVITY_CLOSE: handleActivityComplete,
ACTIVITY_LAUNCH_FAIL: function handleActivityLaunchFail({ applicationId, activityType }) {
const r6 = env7018[7][applicationId];
if (r6 == null) {
return false;
}
delete r6[activityType];
}
});
export default r49;