decord/alpha/source/stores/SelectedGuildStore.tsx

294 lines
9 KiB
TypeScript
Raw Normal View History

2026-10-09 10:00:15 +00:00
// Module ID: 4900
// Function ID: 4901
// Name: SelectedGuildStore
2026-10-09 10:00:15 +00:00
// Dependencies: [4901, 502, 4904, 2086, 1085, 1112, 504, 4905, 4918, 584, 2]
2026-07-20 16:05:17 +00:00
2026-10-09 10:00:15 +00:00
// Module 4900 (SelectedGuildStore)
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import router_utils from "router_utils" /* 1112 */;
2026-10-09 10:00:15 +00:00
import matchPathCompat from "matchPathCompat" /* 4905 */;
import RouteUtils from "RouteUtils" /* 4918 */;
import UserGuildJoinRequestStore from "UserGuildJoinRequestStore" /* 4901 */;
import AuthenticationStore from "AuthenticationStore" /* 502 */;
2026-10-09 10:00:15 +00:00
import DefaultRouteStore from "DefaultRouteStore" /* 4904 */;
2026-10-08 09:57:35 +00:00
import GuildStore from "GuildStore" /* 2086 */;
2026-10-03 08:58:59 +00:00
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let metroImportDefault;
let metroRequire;
2026-07-20 16:05:17 +00:00
function handleConnectionOpen() {
2026-10-03 08:58:59 +00:00
const tmp = null != selectedGuildId && null == GuildStore.getGuild(selectedGuildId) && null == UserGuildJoinRequestStore.getRequest(selectedGuildId);
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-10-03 08:58:59 +00:00
selectedGuildId = null;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
const tmp6 = null != lastSelectedGuildId && null == GuildStore.getGuild(lastSelectedGuildId) && null == UserGuildJoinRequestStore.getRequest(lastSelectedGuildId);
2026-07-20 16:05:17 +00:00
if (tmp6) {
2026-10-03 08:58:59 +00:00
lastSelectedGuildId = null;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if (null != selectedGuildId) {
2026-07-20 16:05:17 +00:00
const _Date = Date;
prop[tmp11] = Date.now();
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
({ ME: metroRequire, Routes: metroImportDefault } = Constants);
let selectedGuildId = null;
let lastSelectedGuildId = null;
let prop = {};
2026-10-03 08:58:59 +00:00
const PersistedStore = get_initializedDefault.PersistedStore;
2026-07-29 08:29:29 +00:00
class SelectedGuildStore extends PersistedStore {
2026-10-03 08:58:59 +00:00
initialize(selectedGuildTimestampMillis) {
let CHANNEL;
let RouteParam;
this.mustEmitChanges((type) => "CONNECTION_OPEN" !== type.type);
this.waitFor(AuthenticationStore, DefaultRouteStore, GuildStore, UserGuildJoinRequestStore);
prop = undefined;
const tmp2 = DefaultRouteStore;
if (selectedGuildTimestampMillis != null) {
prop = selectedGuildTimestampMillis.selectedGuildTimestampMillis;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if (prop == null) {
prop = {};
}
selectedGuildId = undefined;
if (selectedGuildTimestampMillis != null) {
selectedGuildId = selectedGuildTimestampMillis.selectedGuildId;
}
if (selectedGuildId == null) {
selectedGuildId = null;
}
lastSelectedGuildId = undefined;
if (selectedGuildTimestampMillis != null) {
lastSelectedGuildId = selectedGuildTimestampMillis.lastSelectedGuildId;
}
if (lastSelectedGuildId == null) {
lastSelectedGuildId = null;
}
const lastNonVoiceRoute = tmp2.lastNonVoiceRoute;
const obj = { path: CHANNEL(RouteParam.guildId()) };
const matchPath = matchPathCompat.matchPath;
CHANNEL = metroImportDefault.CHANNEL;
matchPathCompat;
RouteParam = RouteUtils.RouteParam;
const matchPathResult = matchPath(lastNonVoiceRoute, obj);
let guildId;
if (matchPathResult != null) {
const params = matchPathResult.params;
if (params != null) {
guildId = params.guildId;
}
}
let tmp9 = null;
if (guildId !== metroRequire) {
if (guildId == null) {
guildId = null;
}
tmp9 = guildId;
}
const tmp10 = null != tmp9 && tmp9 !== selectedGuildId;
if (tmp10) {
selectedGuildId = tmp9;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getState() {
return { selectedGuildTimestampMillis: prop, selectedGuildId, lastSelectedGuildId };
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getGuildId() {
return selectedGuildId;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getLastSelectedGuildId() {
return lastSelectedGuildId;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getLastSelectedTimestamp(arg0) {
let num = -1;
if (selectedGuildId !== arg0) {
num = prop[arg0];
}
return num;
}
}
const prototype = SelectedGuildStore.prototype;
2026-07-29 08:29:29 +00:00
SelectedGuildStore.displayName = "SelectedGuildStore";
SelectedGuildStore.persistKey = "SelectedGuildStore";
2026-10-03 08:58:59 +00:00
let obj = {
2026-07-20 16:05:17 +00:00
CONNECTION_OPEN: handleConnectionOpen,
OVERLAY_INITIALIZE: function handleOverlayInitialize(selectedGuildId) {
selectedGuildId = selectedGuildId.selectedGuildId;
2026-10-03 08:58:59 +00:00
lastSelectedGuildId = undefined;
2026-07-20 16:05:17 +00:00
handleConnectionOpen();
},
CHANNEL_SELECT: function handleChannelSelect(guildId) {
guildId = guildId.guildId;
2026-10-03 08:58:59 +00:00
if (selectedGuildId === guildId) {
2026-07-20 16:05:17 +00:00
return false;
} else {
2026-10-03 08:58:59 +00:00
if (null != selectedGuildId) {
2026-07-29 08:29:29 +00:00
const _Date = Date;
2026-10-03 08:58:59 +00:00
prop[selectedGuildId] = Date.now();
2026-07-29 08:29:29 +00:00
}
if (null != guildId) {
const _Date2 = Date;
prop[guildId] = Date.now();
2026-07-29 08:29:29 +00:00
}
if (null != guildId) {
2026-10-03 08:58:59 +00:00
lastSelectedGuildId = guildId;
}
2026-10-03 08:58:59 +00:00
selectedGuildId = guildId;
2026-07-21 22:01:30 +00:00
}
},
2026-07-29 08:29:29 +00:00
GUILD_MEMBER_REMOVE: function handleGuildMemberRemove(guildId) {
guildId = guildId.guildId;
2026-10-03 08:58:59 +00:00
let tmp = guildId.user.id === AuthenticationStore.getId();
if (tmp) {
delete prop[guildId];
2026-07-29 08:29:29 +00:00
let flag = false;
2026-10-03 08:58:59 +00:00
if (lastSelectedGuildId === guildId) {
lastSelectedGuildId = null;
2026-07-29 08:29:29 +00:00
flag = true;
}
2026-10-03 08:58:59 +00:00
if (selectedGuildId === guildId) {
const tmp5 = (function pickFallbackGuildId(guildId) {
let closure_0 = guildId;
if (null != lastSelectedGuildId) {
if (null != GuildStore.getGuild(lastSelectedGuildId)) {
return lastSelectedGuildId;
2026-07-29 08:29:29 +00:00
}
}
let tmp3 = null;
let num = 0;
const keys = Object.keys(prop);
2026-07-29 08:29:29 +00:00
for (const item10022 of keys) {
let tmp5 = item10022;
2026-10-03 08:58:59 +00:00
if (item10022 !== guildId) {
let tmp8 = prop[tmp5];
2026-07-29 08:29:29 +00:00
let tmp11 = tmp8 > num;
if (tmp11) {
tmp11 = null != GuildStore.getGuild(tmp5);
2026-07-29 08:29:29 +00:00
}
if (tmp11) {
tmp3 = item10022;
num = tmp8;
}
}
continue;
}
if (null != tmp3) {
return tmp3;
} else {
const guildsArray = GuildStore.getGuildsArray();
2026-07-29 08:29:29 +00:00
const found = guildsArray.find((id) => id.id !== closure_0);
let id;
if (found != null) {
id = found.id;
}
if (id == null) {
id = null;
}
return id;
}
})(guildId);
2026-10-03 08:58:59 +00:00
if (null != tmp5) {
selectedGuildId = tmp5;
const obj2 = router_utils;
obj2.replaceWith(metroImportDefault.CHANNEL(tmp5));
flag = true;
} else {
selectedGuildId = null;
const obj = router_utils;
obj.replaceWith(metroImportDefault.ME);
2026-07-29 08:29:29 +00:00
flag = true;
}
}
2026-10-03 08:58:59 +00:00
tmp = flag;
2026-07-21 22:01:30 +00:00
}
2026-10-03 08:58:59 +00:00
return tmp;
2026-07-21 22:01:30 +00:00
},
GUILD_DELETE: function handleGuildDelete(guild) {
2026-07-29 08:29:29 +00:00
guild = guild.guild;
let id = guild.id;
2026-10-03 08:58:59 +00:00
let tmp = true !== guild.unavailable;
if (tmp) {
delete prop[id];
2026-07-29 08:29:29 +00:00
let flag = false;
2026-10-03 08:58:59 +00:00
if (lastSelectedGuildId === id) {
let tmp3 = null;
lastSelectedGuildId = null;
2026-07-29 08:29:29 +00:00
flag = true;
}
2026-10-03 08:58:59 +00:00
if (selectedGuildId === id) {
let num = 0;
let tmp5 = (function pickFallbackGuildId(guildId) {
let closure_0 = guildId;
if (null != lastSelectedGuildId) {
if (null != GuildStore.getGuild(lastSelectedGuildId)) {
return lastSelectedGuildId;
2026-07-29 08:29:29 +00:00
}
}
let tmp3 = null;
let num = 0;
const keys = Object.keys(prop);
2026-07-29 08:29:29 +00:00
for (const item10022 of keys) {
let tmp5 = item10022;
2026-10-03 08:58:59 +00:00
if (item10022 !== guildId) {
let tmp8 = prop[tmp5];
2026-07-29 08:29:29 +00:00
let tmp11 = tmp8 > num;
if (tmp11) {
tmp11 = null != GuildStore.getGuild(tmp5);
2026-07-29 08:29:29 +00:00
}
if (tmp11) {
tmp3 = item10022;
num = tmp8;
}
}
continue;
}
if (null != tmp3) {
return tmp3;
} else {
const guildsArray = GuildStore.getGuildsArray();
2026-07-29 08:29:29 +00:00
const found = guildsArray.find((id) => id.id !== closure_0);
let id;
if (found != null) {
id = found.id;
}
if (id == null) {
id = null;
}
return id;
}
})(id);
2026-10-03 08:58:59 +00:00
let tmp6 = null;
if (null != tmp5) {
selectedGuildId = tmp5;
let tmp11 = require;
let tmp12 = dependencyMap;
let tmp13 = metroImportDefault;
const obj2 = router_utils;
obj2.replaceWith(metroImportDefault.CHANNEL(tmp5));
flag = true;
} else {
selectedGuildId = null;
let tmp7 = require;
let tmp8 = dependencyMap;
let tmp9 = metroImportDefault;
const obj = router_utils;
obj.replaceWith(metroImportDefault.ME);
2026-07-29 08:29:29 +00:00
flag = true;
}
}
2026-10-03 08:58:59 +00:00
tmp = flag;
2026-07-21 22:01:30 +00:00
}
2026-10-03 08:58:59 +00:00
return tmp;
2026-07-21 22:01:30 +00:00
},
LOGOUT: function handleLogout() {
2026-10-03 08:58:59 +00:00
selectedGuildId = null;
lastSelectedGuildId = null;
2026-07-21 22:01:30 +00:00
}
2026-10-03 08:58:59 +00:00
};
const selectedGuildStore = new SelectedGuildStore(DispatcherDefault, obj);
const result = size.fileFinishedImporting("stores/SelectedGuildStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default selectedGuildStore;
2026-07-20 16:05:17 +00:00
export const SELECTED_GUILD_TIMESTAMP_NOW = -1;