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

379 lines
10 KiB
TypeScript

// Metro module 4072 (f4073).
import AuthenticationStore from "../../stores/AuthenticationStore";
import * as _GuildThemePreviewConstants from "./GuildThemePreviewConstants";
import { Timeout } from "../../_bundle/Timeout";
import Dispatcher from "../../Dispatcher";
import { cloneGuildThemeSettings, fromServerGuildTheme } from "./guildThemeSerialization";
import * as _Module12 from "../../_bundle/Module12";
import Module589 from "../../_bundle/Module589";
let c2341_4, c2341_5;
const handleEnd = function handleEnd() {
const r1 = c2341_5.guildId == null && !c2341_4.isStarted();
let r8 = !r1;
if (!r1) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r8 = true;
}
return r8;
};
const { GuildThemePreviewOrigin, GuildThemePreviewOwner } = _GuildThemePreviewConstants;
c2341_4 = new Timeout();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
class GuildThemePreviewStore extends Module589.Store {
static displayName = "GuildThemePreviewStore";
initialize() {
this.waitFor(AuthenticationStore);
}
get guildId() {
return c2341_5.guildId;
}
get draft() {
return c2341_5.draft;
}
get original() {
return c2341_5.original;
}
get draftEnabled() {
return c2341_5.draftEnabled;
}
get originalEnabled() {
return c2341_5.originalEnabled;
}
get origin() {
return c2341_5.origin;
}
get owner() {
return c2341_5.owner;
}
get isActive() {
return c2341_5.guildId != null;
}
get isSaving() {
return c2341_5.isSaving;
}
get isAwaitingGuildUpdate() {
return c2341_5.isAwaitingGuildUpdate;
}
get saveError() {
return c2341_5.saveError;
}
hasChanges() {
return c2341_5.guildId != null && (c2341_5.draftEnabled !== c2341_5.originalEnabled || !_Module12.isEqual(c2341_5.draft, c2341_5.original));
}
}
const guildThemePreviewStore = new GuildThemePreviewStore(Dispatcher, {
GUILD_THEME_PREVIEW_START: function handleStart(a0) {
const { guildId: guildId2, draft: draft2, original: original2, draftEnabled: draftEnabled2, originalEnabled: originalEnabled2, origin: origin2 } = a0;
let owner2 = a0.owner;
c2341_4.stop();
const r16 = {
guildId: guildId2,
draft: cloneGuildThemeSettings(draft2),
original: cloneGuildThemeSettings(original2),
draftEnabled: draftEnabled2,
originalEnabled: originalEnabled2,
origin: origin2,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
if (owner2 == null) {
owner2 = c2341_5.owner;
}
r16.owner = owner2;
c2341_5 = r16;
},
GUILD_THEME_PREVIEW_SELECT_PRESET: function handleSelectPreset({ presetId }) {
if (c2341_5.guildId == null) {
return false;
}
const draft2 = {
presetId,
customUserThemeSettings: void 0
};
const isEqual = _Module12.isEqual(c2341_5.draft, draft2);
let r20 = isEqual ? !c2341_5.draftEnabled : !isEqual;
if (r20) {
c2341_4.stop();
c2341_5 = {
...c2341_5,
draft: draft2,
draftEnabled: true,
isAwaitingGuildUpdate: false,
saveError: null
};
r20 = true;
}
return r20;
},
GUILD_THEME_PREVIEW_UPDATE_CUSTOM: function handleUpdateCustom({ colors, gradientAngle, baseMix }) {
if (c2341_5.guildId == null) {
return false;
}
const draft2 = {
presetId: void 0,
customUserThemeSettings: {
colors: [...colors],
gradientColorStops: [],
gradientAngle,
baseMix
}
};
const isEqual = _Module12.isEqual(c2341_5.draft, draft2);
let r27 = isEqual ? !c2341_5.draftEnabled : !isEqual;
if (r27) {
c2341_4.stop();
c2341_5 = {
...c2341_5,
draft: draft2,
draftEnabled: true,
isAwaitingGuildUpdate: false,
saveError: null
};
r27 = true;
}
return r27;
},
GUILD_THEME_PREVIEW_TRANSFER_OWNERSHIP: function handleTransferOwnership({ owner: owner2 }) {
let r10 = c2341_5.guildId != null && c2341_5.owner !== owner2;
if (r10) {
c2341_5 = {
...c2341_5,
owner: owner2
};
r10 = true;
}
return r10;
},
GUILD_THEME_PREVIEW_END: handleEnd,
GUILD_THEME_PREVIEW_SAVE_START: function handleSaveStart() {
c2341_4.stop();
c2341_5 = {
...c2341_5,
isSaving: true,
isAwaitingGuildUpdate: false,
saveError: null
};
},
GUILD_THEME_PREVIEW_SAVE_SUCCESS: function handleSaveSuccess({ guildId: guildId2, guildTheme }) {
if (c2341_5.guildId != null && guildId2 === c2341_5.guildId) {
let r9 = guildTheme?.themeSettings;
if (r9 == null) {
r9 = null;
}
let draftEnabled2 = guildTheme?.enabled;
if (draftEnabled2 == null) {
draftEnabled2 = false;
}
c2341_5 = {
...c2341_5,
draft: cloneGuildThemeSettings(r9),
original: cloneGuildThemeSettings(r9),
draftEnabled: draftEnabled2,
originalEnabled: draftEnabled2,
isSaving: false,
isAwaitingGuildUpdate: true,
saveError: null
};
c2341_4.stop();
c2341_4.start(10000, () => {
if (c2341_5.isAwaitingGuildUpdate) {
Dispatcher.dispatch({
type: "GUILD_THEME_PREVIEW_END"
});
}
});
return true;
}
return false;
},
GUILD_THEME_PREVIEW_SAVE_FAILURE: function handleSaveFailure({ guildId: guildId2, error }) {
let r10 = c2341_5.guildId != null && guildId2 === c2341_5.guildId;
if (r10) {
c2341_4.stop();
c2341_5 = {
...c2341_5,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: error
};
r10 = true;
}
return r10;
},
GUILD_SETTINGS_GUILD_THEME_SAVE_SUCCESS: function handleSettingsSaveSuccess({ guildId: guildId2 }) {
let r0 = c2341_5.guildId != null && guildId2 === c2341_5.guildId;
if (r0) {
const r2 = c2341_5.guildId == null && !c2341_4.isStarted();
let r15 = !r2;
if (!r2) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r15 = true;
}
r0 = r15;
}
return r0;
},
USER_SETTINGS_MODAL_OPEN: handleEnd,
CHANNEL_SELECT: function handleChannelSelect({ guildId: guildId2 }) {
let r0 = c2341_5.guildId != null && guildId2 !== c2341_5.guildId;
if (r0) {
const r1 = c2341_5.guildId == null && !c2341_4.isStarted();
r0 = true;
if (!r1) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r0 = true;
}
}
return r0;
},
GUILD_DELETE: function handleGuildDelete({ guild }) {
let r0 = c2341_5.guildId != null && guild.id === c2341_5.guildId;
if (r0) {
const r1 = c2341_5.guildId == null && !c2341_4.isStarted();
r0 = true;
if (!r1) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r0 = true;
}
}
return r0;
},
GUILD_MEMBER_REMOVE: function handleGuildMemberRemove(a0) {
const guildId2 = a0.guildId;
let r2 = a0.user.id === AuthenticationStore.getId();
if (r2) {
let r0 = c2341_5.guildId != null && guildId2 === c2341_5.guildId;
if (r0) {
const r1 = c2341_5.guildId == null && !c2341_4.isStarted();
r0 = true;
if (!r1) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r0 = true;
}
}
r2 = r0;
}
return r2;
},
GUILD_UPDATE: function handleGuildUpdate({ guild }) {
const isAwaitingGuildUpdate2 = c2341_5.isAwaitingGuildUpdate;
const r0 = (isAwaitingGuildUpdate2 ? c2341_5.guildId == null : !isAwaitingGuildUpdate2) || guild.id !== c2341_5.guildId;
let r17 = !r0;
if (!r0) {
let r19 = guild.theme !== void 0;
if (r19) {
const r24 = fromServerGuildTheme(guild.theme);
let r25 = r24?.enabled;
if (r25 == null) {
r25 = false;
}
let r27 = r24?.themeSettings;
if (r27 == null) {
r27 = null;
}
let r37 = !!(r25 === c2341_5.originalEnabled && _Module12.isEqual(r27, c2341_5.original));
if (r37) {
const r40 = c2341_5.guildId == null && !c2341_4.isStarted();
r37 = true;
if (!r40) {
c2341_4.stop();
c2341_5 = {
guildId: null,
draft: null,
original: null,
draftEnabled: false,
originalEnabled: false,
origin: null,
owner: null,
isSaving: false,
isAwaitingGuildUpdate: false,
saveError: null
};
r37 = true;
}
}
r19 = r37;
}
r17 = r19;
}
return r17;
},
LOGOUT: handleEnd
});
export default guildThemePreviewStore;
export { GuildThemePreviewOrigin };
export { GuildThemePreviewOwner };