decord/source/modules/guild_themes/GuildThemePreviewStore.tsx

414 lines
13 KiB
TypeScript
Raw Normal View History

// Module ID: 4492
// Function ID: 4493
// Name: GuildThemePreviewStore
// Dependencies: [502, 4493, 1952, 573, 1978, 12, 504, 2]
2026-07-23 10:11:24 +00:00
// Module 4492 (GuildThemePreviewStore)
import _mod12 from "module_12" /* 12 */;
import initializeDefault from "initialize" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 573 */;
import guildThemeSerialization from "guildThemeSerialization" /* 1978 */;
import AuthenticationStore from "AuthenticationStore" /* 502 */;
2026-07-20 16:05:17 +00:00
require = fn;
2026-07-20 16:05:17 +00:00
function handleEnd() {
2026-07-29 08:29:29 +00:00
let tmp = null == closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (tmp) {
tmp = !timeout.isStarted();
}
let flag = !tmp;
if (!tmp) {
2026-07-29 08:29:29 +00:00
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
}
const GuildThemePreviewConstants = fn(4493);
({ GuildThemePreviewOrigin, GuildThemePreviewOwner } = GuildThemePreviewConstants);
const timeout = new fn(1952).Timeout();
2026-07-29 08:29:29 +00:00
let closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
2026-08-24 06:08:38 +00:00
const Store = initializeDefault.Store;
2026-07-29 08:29:29 +00:00
class GuildThemePreviewStore extends Store {
}
const prototype = GuildThemePreviewStore.prototype;
prototype["initialize"] = function initialize() {
this.waitFor(AuthenticationStore);
2026-07-29 08:29:29 +00:00
};
Object.defineProperty(prototype, "guildId", {
get: function guildId() {
return closure_5.guildId;
},
set: undefined
});
Object.defineProperty(prototype, "draft", {
get: function draft() {
return closure_5.draft;
},
set: undefined
});
Object.defineProperty(prototype, "original", {
get: function original() {
return closure_5.original;
},
set: undefined
});
Object.defineProperty(prototype, "draftEnabled", {
get: function draftEnabled() {
return closure_5.draftEnabled;
},
set: undefined
});
Object.defineProperty(prototype, "originalEnabled", {
get: function originalEnabled() {
return closure_5.originalEnabled;
},
set: undefined
});
Object.defineProperty(prototype, "origin", {
get: function origin() {
2026-07-29 08:29:29 +00:00
return closure_5.origin;
},
set: undefined
});
Object.defineProperty(prototype, "owner", {
get: function owner() {
return closure_5.owner;
},
set: undefined
});
Object.defineProperty(prototype, "isActive", {
get: function isActive() {
return null != closure_5.guildId;
},
set: undefined
});
Object.defineProperty(prototype, "isSaving", {
get: function isSaving() {
return closure_5.isSaving;
},
set: undefined
});
Object.defineProperty(prototype, "isAwaitingGuildUpdate", {
get: function isAwaitingGuildUpdate() {
return closure_5.isAwaitingGuildUpdate;
},
set: undefined
});
Object.defineProperty(prototype, "saveError", {
get: function saveError() {
return closure_5.saveError;
},
set: undefined
});
prototype["hasChanges"] = function hasChanges() {
let tmp = null != closure_5.guildId;
if (tmp) {
let tmp4 = closure_5.draftEnabled !== closure_5.originalEnabled;
if (!tmp4) {
tmp4 = !_mod12.isEqual(closure_5.draft, closure_5.original);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = tmp4;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp;
};
GuildThemePreviewStore.displayName = "GuildThemePreviewStore";
const guildThemePreviewStore = new GuildThemePreviewStore(DispatcherDefault, {
2026-07-20 16:05:17 +00:00
GUILD_THEME_PREVIEW_START: function handleStart(owner) {
owner = owner.owner;
({ guildId, draft, original, draftEnabled, originalEnabled, origin } = owner);
2026-07-29 08:29:29 +00:00
timeout.stop();
const obj = { guildId, draft: guildThemeSerialization.cloneGuildThemeSettings(draft), original: null, draftEnabled: null, originalEnabled: null, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
obj.original = guildThemeSerialization.cloneGuildThemeSettings(original);
obj.draftEnabled = draftEnabled;
obj.originalEnabled = originalEnabled;
obj.origin = origin;
2026-07-29 08:29:29 +00:00
if (owner == null) {
owner = closure_5.owner;
2026-07-20 16:05:17 +00:00
}
obj.owner = owner;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
},
GUILD_THEME_PREVIEW_SELECT_PRESET: function handleSelectPreset(arg0) {
if (null == closure_5.guildId) {
2026-07-20 16:05:17 +00:00
return false;
} else {
const obj2 = { presetId: tmp, customUserThemeSettings: "a" };
const isEqualResult = _mod12.isEqual(closure_5.draft, obj2);
2026-07-29 08:29:29 +00:00
let flag = !isEqualResult;
if (isEqualResult) {
flag = !closure_5.draftEnabled;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
timeout.stop();
const obj = {};
const merged = Object.assign(closure_5);
obj.draft = obj2;
2026-07-29 08:29:29 +00:00
obj.draftEnabled = true;
obj.isAwaitingGuildUpdate = false;
obj.saveError = null;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
}
},
GUILD_THEME_PREVIEW_UPDATE_CUSTOM: function handleUpdateCustom(colors) {
colors = colors.colors;
if (null == closure_5.guildId) {
2026-07-20 16:05:17 +00:00
return false;
} else {
const obj2 = { presetId: "Array", customUserThemeSettings: 0 };
const obj3 = { colors: null, gradientColorStops: null, gradientAngle: null, baseMix: null };
2026-07-20 16:05:17 +00:00
const items = [];
HermesBuiltin.arraySpread(colors, 0);
obj3.colors = items;
obj3.gradientColorStops = [];
obj3.gradientAngle = tmp;
obj3.baseMix = tmp2;
obj2.customUserThemeSettings = obj3;
const isEqualResult = _mod12.isEqual(closure_5.draft, obj2);
2026-07-29 08:29:29 +00:00
let flag = !isEqualResult;
if (isEqualResult) {
flag = !closure_5.draftEnabled;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
timeout.stop();
const obj = {};
const merged = Object.assign(closure_5);
obj.draft = obj2;
2026-07-29 08:29:29 +00:00
obj.draftEnabled = true;
obj.isAwaitingGuildUpdate = false;
obj.saveError = null;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
}
},
GUILD_THEME_PREVIEW_TRANSFER_OWNERSHIP: function handleTransferOwnership(owner) {
owner = owner.owner;
let flag = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (flag) {
flag = closure_5.owner !== owner;
2026-07-20 16:05:17 +00:00
}
if (flag) {
const obj = {};
const merged = Object.assign(closure_5);
2026-07-29 08:29:29 +00:00
obj.owner = owner;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
},
GUILD_THEME_PREVIEW_END: handleEnd,
GUILD_THEME_PREVIEW_SAVE_START: function handleSaveStart() {
2026-07-29 08:29:29 +00:00
timeout.stop();
2026-07-20 16:05:17 +00:00
const obj = {};
const merged = Object.assign(closure_5);
2026-07-29 08:29:29 +00:00
obj.isSaving = true;
obj.isAwaitingGuildUpdate = false;
obj.saveError = null;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
},
GUILD_THEME_PREVIEW_SAVE_SUCCESS: function handleSaveSuccess(guildTheme) {
guildTheme = guildTheme.guildTheme;
if (null != closure_5.guildId) {
if (tmp === closure_5.guildId) {
2026-07-20 16:05:17 +00:00
let themeSettings;
2026-07-29 08:29:29 +00:00
if (guildTheme != null) {
2026-07-20 16:05:17 +00:00
themeSettings = guildTheme.themeSettings;
}
2026-07-29 08:29:29 +00:00
if (themeSettings == null) {
themeSettings = null;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let flag;
if (guildTheme != null) {
flag = guildTheme.enabled;
}
if (flag == null) {
flag = false;
2026-07-20 16:05:17 +00:00
}
let obj = {};
const merged = Object.assign(closure_5);
obj.draft = guildThemeSerialization.cloneGuildThemeSettings(themeSettings);
obj.original = guildThemeSerialization.cloneGuildThemeSettings(themeSettings);
2026-07-29 08:29:29 +00:00
obj.draftEnabled = flag;
obj.originalEnabled = flag;
obj.isSaving = false;
obj.isAwaitingGuildUpdate = true;
obj.saveError = null;
closure_5 = obj;
2026-07-29 08:29:29 +00:00
timeout.stop();
timeout.start(10000, () => {
if (closure_1_5.isAwaitingGuildUpdate) {
DispatcherDefault.dispatch({ type: "GUILD_THEME_PREVIEW_END" });
2026-07-29 08:29:29 +00:00
}
});
2026-07-20 16:05:17 +00:00
return true;
}
}
return false;
},
GUILD_THEME_PREVIEW_SAVE_FAILURE: function handleSaveFailure(error) {
let flag = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (flag) {
flag = tmp === closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
timeout.stop();
const obj = {};
const merged = Object.assign(closure_5);
2026-07-29 08:29:29 +00:00
obj.isSaving = false;
obj.isAwaitingGuildUpdate = false;
obj.saveError = error.error;
closure_5 = obj;
2026-07-20 16:05:17 +00:00
flag = true;
}
return flag;
},
GUILD_SETTINGS_GUILD_THEME_SAVE_SUCCESS: function handleSettingsSaveSuccess(arg0) {
2026-07-29 08:29:29 +00:00
let tmp2 = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (tmp2) {
2026-07-29 08:29:29 +00:00
tmp2 = tmp === closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (tmp2) {
2026-07-29 08:29:29 +00:00
let tmp5 = null == closure_5.guildId;
if (tmp5) {
tmp5 = !timeout.isStarted();
}
let flag = !tmp5;
if (!tmp5) {
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
flag = true;
}
tmp2 = flag;
2026-07-20 16:05:17 +00:00
}
return tmp2;
},
USER_SETTINGS_MODAL_OPEN: handleEnd,
CHANNEL_SELECT: function handleChannelSelect(arg0) {
2026-07-29 08:29:29 +00:00
let flag = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
flag = tmp !== closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
let tmp4 = null == closure_5.guildId;
if (tmp4) {
tmp4 = !timeout.isStarted();
}
2026-07-20 16:05:17 +00:00
flag = true;
2026-07-29 08:29:29 +00:00
if (!tmp4) {
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
flag = true;
}
2026-07-20 16:05:17 +00:00
}
return flag;
},
GUILD_DELETE: function handleGuildDelete(guild) {
2026-07-29 08:29:29 +00:00
let flag = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
flag = guild.guild.id === closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
let tmp3 = null == closure_5.guildId;
if (tmp3) {
tmp3 = !timeout.isStarted();
}
2026-07-20 16:05:17 +00:00
flag = true;
2026-07-29 08:29:29 +00:00
if (!tmp3) {
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
flag = true;
}
2026-07-20 16:05:17 +00:00
}
return flag;
},
GUILD_MEMBER_REMOVE: function handleGuildMemberRemove(user) {
let tmp = user.user.id === AuthenticationStore.getId();
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-07-29 08:29:29 +00:00
let flag = null != closure_5.guildId;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-29 08:29:29 +00:00
flag = user.guildId === closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (flag) {
2026-07-29 08:29:29 +00:00
let tmp6 = null == closure_5.guildId;
if (tmp6) {
tmp6 = !timeout.isStarted();
}
2026-07-20 16:05:17 +00:00
flag = true;
2026-07-29 08:29:29 +00:00
if (!tmp6) {
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
flag = true;
}
2026-07-20 16:05:17 +00:00
}
tmp = flag;
}
return tmp;
},
GUILD_UPDATE: function handleGuildUpdate(guild) {
guild = guild.guild;
2026-07-29 08:29:29 +00:00
const isAwaitingGuildUpdate = closure_5.isAwaitingGuildUpdate;
let tmp = !isAwaitingGuildUpdate;
if (isAwaitingGuildUpdate) {
tmp = null == closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
if (!tmp) {
2026-07-29 08:29:29 +00:00
tmp = guild.id !== closure_5.guildId;
2026-07-20 16:05:17 +00:00
}
let tmp5 = !tmp;
if (!tmp) {
let tmp6 = undefined !== guild.theme;
if (tmp6) {
const fromServerGuildThemeResult = guildThemeSerialization.fromServerGuildTheme(guild.theme);
2026-07-29 08:29:29 +00:00
let flag;
if (fromServerGuildThemeResult != null) {
flag = fromServerGuildThemeResult.enabled;
}
if (flag == null) {
flag = false;
2026-07-20 16:05:17 +00:00
}
let themeSettings;
2026-07-29 08:29:29 +00:00
if (fromServerGuildThemeResult != null) {
2026-07-20 16:05:17 +00:00
themeSettings = fromServerGuildThemeResult.themeSettings;
}
2026-07-29 08:29:29 +00:00
if (themeSettings == null) {
themeSettings = null;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let isEqualResult = flag === closure_5.originalEnabled;
2026-07-20 16:05:17 +00:00
if (isEqualResult) {
2026-07-29 08:29:29 +00:00
isEqualResult = tmp7(12).isEqual(themeSettings, closure_5.original);
const tmp7Result = tmp7(12);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let flag2 = isEqualResult;
if (flag2) {
let tmp16 = null == closure_5.guildId;
if (tmp16) {
tmp16 = !timeout.isStarted();
}
flag2 = true;
if (!tmp16) {
timeout.stop();
closure_5 = { guildId: null, draft: null, original: null, draftEnabled: false, originalEnabled: false, origin: null, owner: null, isSaving: false, isAwaitingGuildUpdate: false, saveError: null };
flag2 = true;
}
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp6 = flag2;
tmp7 = require;
2026-07-20 16:05:17 +00:00
}
tmp5 = tmp6;
}
return tmp5;
},
LOGOUT: handleEnd
2026-07-23 10:11:24 +00:00
});
const size = fn(2);
const result = size.fileFinishedImporting("modules/guild_themes/GuildThemePreviewStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default guildThemePreviewStore;
2026-07-20 16:05:17 +00:00
export { GuildThemePreviewOrigin };
export { GuildThemePreviewOwner };