Files
discord-decomp/modules/stickers/StickersStore.tsx
T
2026-11-01 12:12:55 +02:00

128 lines
3.8 KiB
TypeScript

// Metro module 5092 (f5093).
import GuildMembershipStore from "../../stores/GuildMembershipStore";
import GuildStore from "../../stores/GuildStore";
import GuildStickersStore from "./GuildStickersStore";
import StickersPackStore from "./StickersPackStore";
import DatabaseDaos from "../app_database/DatabaseDaos";
import { tryLoadOrResetCacheGatewayAsync } from "../app_database/app/TryLoad";
import Module10 from "../../_bundle/Module10";
import GuildStickers from "../app_database/modules/GuildStickers";
import Dispatcher from "../../Dispatcher";
import Module589 from "../../_bundle/Module589";
let c3059_8, c3059_12;
let env3059 = {};
const loadSavedGuildStickers = async function loadSavedGuildStickers() {
let c25327_0, c25327_1;
L15: {
L14: {
let env29449;
const r10 = env3059;
c25327_1 = r10;
const r25 = env29449 = {
$parent: r10
};
c25327_0 = r25;
env29449[0] = void 0;
env29449[1] = void 0;
const r14 = env3059[9];
if (r14 !== c3059_8.Unloaded) {
break L15;
}
const r32 = DatabaseDaos.database();
env29449[0] = r32;
if (r32 != null) {
env3059[9] = c3059_8.Loaded;
env29449[1] = await tryLoadOrResetCacheGatewayAsync("StickerStore.loadSavedGuildStickers", () => Module10.timeAsync("💾", "loadSavedGuildStickers", () => GuildStickers.getAsync(env29449[0])));
if (env29449[1] == null) {
break L14;
}
Dispatcher.dispatch({
type: "CACHED_STICKERS_LOADED",
stickers: env29449[1]
});
break L14;
}
break L15;
}
return void 0;
}
};
c3059_8 = {
Unloaded: 0,
0: "Unloaded",
Loaded: 1,
1: "Loaded"
};
env3059[9] = c3059_8.Unloaded;
class StickersStore extends Module589.Store {
static displayName = "StickersStore";
constructor() {
super(...arguments);
}
initialize() {
this.waitFor(GuildMembershipStore, GuildStickersStore, GuildStore, StickersPackStore);
this.syncWith([GuildStickersStore, StickersPackStore], () => true);
}
get isLoaded() {
return env3059[9] !== c3059_8.Unloaded;
}
get loadState() {
return env3059[9];
}
getStickerMetadataArrays() {
loadSavedGuildStickers();
return [GuildStickersStore.getStickerMetadataMap(), StickersPackStore.getStickerMetadataMap()];
}
get hasLoadedStickerPacks() {
return StickersPackStore.hasLoadedStickerPacks;
}
get isFetchingStickerPacks() {
return StickersPackStore.isFetchingStickerPacks;
}
getStickerById(a0) {
loadSavedGuildStickers();
let r7 = GuildStickersStore.getStickerById(a0);
if (r7 == null) {
r7 = StickersPackStore.getStickerById(a0);
}
return r7;
}
getStickerPack(a0) {
return StickersPackStore.getStickerPack(a0);
}
getPremiumPacks() {
return StickersPackStore.getPremiumPacks();
}
isPremiumPack(a0) {
return StickersPackStore.isPremiumPack(a0);
}
getRawStickersByGuild() {
return GuildStickersStore.getAllGuildStickers();
}
getAllGuildStickers() {
loadSavedGuildStickers();
return GuildStickersStore.getAllGuildStickers();
}
getAllPackStickers() {
return StickersPackStore.getAllPackStickers();
}
getStickersByGuildId(a0) {
loadSavedGuildStickers();
return GuildStickersStore.getStickersByGuildId(a0);
}
}
c3059_12 = StickersStore;
const r74 = new StickersStore(Dispatcher, {
BACKGROUND_SYNC: function handleBackgroundSync() {
env3059[9] = c3059_8.Unloaded;
},
CONNECTION_OPEN: function handleConnectionOpen(a0) {
const guilds = a0.guilds;
env3059[9] = a0.unavailableGuilds.length === 0 && guilds.every((guild) => guild.stickers.op === "full_sync") ? c3059_8.Loaded : c3059_8.Unloaded;
},
LOGOUT: function handleLogout() {
env3059[9] = c3059_8.Unloaded;
}
});
export default r74;