decord/beta/source/stores/SurveyStore.tsx
2026-10-12 16:32:48 +00:00

606 lines
19 KiB
TypeScript

// Module ID: 7472
// Function ID: 7473
// Name: SurveyStore
// Dependencies: [5020, 2087, 4750, 4939, 1390, 1085, 1102, 7473, 1097, 510, 4702, 504, 584, 2]
// Module 7472 (SurveyStore)
import get_initializedDefault from "get initialized" /* 504 */;
import Storage2 from "Storage" /* 510 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import BigFlagUtilsAll from "BigFlagUtils" /* 1097 */;
import DurationsDefault from "Durations" /* 1102 */;
import _modDef4702 from "module_4702" /* 4702 */;
import surveyFetch from "surveyFetch" /* 7473 */;
import GuildMemberCountStore from "GuildMemberCountStore" /* 5020 */;
import GuildStore from "GuildStore" /* 2087 */;
import PermissionStore from "PermissionStore" /* 4750 */;
import SelectedGuildStore from "SelectedGuildStore" /* 4939 */;
import UserStore from "UserStore" /* 1390 */;
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
let closure_13, currentUser, guildId, guildsArray, memberCount;
let c10;
let c9;
let unpackModuleId;
function fetchSurveyIfNeeded() {
let tmp = c18;
if (!tmp) {
let tmp4 = null == closure_13.lastFetched;
if (!tmp4) {
const _Date = Date;
tmp4 = Date.now() - closure_13.lastFetched >= DAY;
}
tmp = !tmp4 && null == closure_13.surveyOverride;
const tmp8 = !tmp4 && null == closure_13.surveyOverride;
}
if (!tmp) {
c18 = true;
obj = surveyFetch;
obj.surveyFetch(closure_13.surveyOverride, true);
}
}
function setSurvey(survey) {
survey = survey.survey;
c18 = false;
const isActionTriggered = survey.isActionTriggered;
closure_13.lastFetched = Date.now();
if (isActionTriggered) {
const _Date = Date;
closure_13.lastActionTriggered = Date.now();
}
if (null == closure_13.hiddenSurveys) {
closure_13.hiddenSurveys = {};
}
let tmp3 = null != survey;
const tmp4 = tmp3 && null == closure_13.hiddenSurveys[survey.key];
if (tmp3) {
tmp3 = (function meetsGuildRequirements(c17) {
let guild_requirements = c17.guild_requirements;
if (undefined === guild_requirements) {
guild_requirements = [];
}
let guild_size = c17.guild_size;
if (undefined === guild_size) {
guild_size = [null, null];
}
let guild_permissions = c17.guild_permissions;
if (undefined === guild_permissions) {
guild_permissions = [];
}
if (0 === guild_requirements.length) {
return true;
} else {
for (const item10017 of guild_requirements) {
if (set.has(item10017)) {
continue;
} else {
obj2.return();
let flag = false;
return false;
}
}
const hasItem = guild_requirements.includes(constants3.GUILD_SIZE_ALL);
let flag3 = true;
guildsArray = guildsArray.getGuildsArray();
const iter = guildsArray[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp14 = nextResult;
if (hasItem) {
memberCount = memberCount.getMemberCount(tmp14.id);
let tmp20 = memberCount;
if (null == memberCount) {
flag3 = false;
continue;
} else {
if (null != guild_size[0]) {
if (tmp20 < guild_size[0]) {
flag3 = false;
continue;
}
}
if (null != guild_size[1]) {
if (tmp20 > guild_size[1]) {
flag3 = false;
continue;
}
}
}
}
let tmp24 = constants3;
if (!guild_requirements.includes(constants3.IS_COMMUNITY)) {
if (!guild_requirements.includes(tmp24.IS_HUB)) {
if (!guild_requirements.includes(tmp24.GUILD_PERMISSIONS)) {
currentUser = currentUser.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
let tmp44 = id === tmp14.ownerId;
let canResult = PermissionStore.can(constants2.ADMINISTRATOR, tmp14);
let tmp49 = constants3;
if (!guild_requirements.includes(constants3.IS_OWNER)) {
if (!guild_requirements.includes(tmp49.IS_ADMIN)) {
if (obj == null) {
obj = {};
}
if (null == obj[c17.key]) {
obj[c17.key] = c17;
}
guildId = guildId.getGuildId();
let tmp57 = null != guildId;
if (tmp57) {
tmp57 = tmp56 === tmp14.id;
}
if (!guild_requirements.includes(tmp49.IS_VIEWING)) {
if (!hasItem) {
iter.return();
return true;
}
}
}
}
} else if (0 === guild_permissions.length) {
continue;
} else {
let flag5 = false;
for (const item10086 of guild_permissions) {
let tmp32 = item10086;
let deserializer = BigFlagUtilsAll;
if (PermissionStore.can(deserializer.deserialize(tmp32), tmp14)) {
flag5 = true;
obj3.return();
break;
}
continue;
}
continue;
}
continue;
} else {
let features2 = tmp14.features;
}
} else {
let features = tmp14.features;
}
continue;
}
if (hasItem) {
if (flag3) {
return true;
}
}
return false;
}
})(survey);
}
const tmp6 = c14 || c15;
const Storage = Storage2.Storage;
const value = Storage.get(unpackModuleId);
let tmp9 = null == value;
if (!tmp9) {
obj = _modDef4702();
tmp9 = obj.diff(value, "day") < 7;
}
let tmp11 = null;
if (tmp4) {
tmp11 = null;
if (tmp3) {
tmp11 = null;
if (!tmp6) {
tmp11 = null;
if (!tmp9) {
tmp11 = survey;
}
}
}
}
c17 = tmp11;
}
function handleSelectedGuildChange() {
let constants2;
let constants3;
if (null != c17) {
let flag = (function meetsGuildRequirements(c17) {
let guild_requirements = c17.guild_requirements;
if (undefined === guild_requirements) {
guild_requirements = [];
}
let guild_size = c17.guild_size;
if (undefined === guild_size) {
guild_size = [null, null];
}
let guild_permissions = c17.guild_permissions;
if (undefined === guild_permissions) {
guild_permissions = [];
}
if (0 === guild_requirements.length) {
return true;
} else {
for (const item10017 of guild_requirements) {
if (set.has(item10017)) {
continue;
} else {
obj2.return();
let flag = false;
return false;
}
}
const hasItem = guild_requirements.includes(constants3.GUILD_SIZE_ALL);
let flag3 = true;
guildsArray = guildsArray.getGuildsArray();
const iter = guildsArray[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp14 = nextResult;
if (hasItem) {
memberCount = memberCount.getMemberCount(tmp14.id);
let tmp20 = memberCount;
if (null == memberCount) {
flag3 = false;
continue;
} else {
if (null != guild_size[0]) {
if (tmp20 < guild_size[0]) {
flag3 = false;
continue;
}
}
if (null != guild_size[1]) {
if (tmp20 > guild_size[1]) {
flag3 = false;
continue;
}
}
}
}
let tmp24 = constants3;
if (!guild_requirements.includes(constants3.IS_COMMUNITY)) {
if (!guild_requirements.includes(tmp24.IS_HUB)) {
if (!guild_requirements.includes(tmp24.GUILD_PERMISSIONS)) {
currentUser = currentUser.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
let tmp44 = id === tmp14.ownerId;
let canResult = PermissionStore.can(constants2.ADMINISTRATOR, tmp14);
let tmp49 = constants3;
if (!guild_requirements.includes(constants3.IS_OWNER)) {
if (!guild_requirements.includes(tmp49.IS_ADMIN)) {
if (obj == null) {
obj = {};
}
if (null == obj[c17.key]) {
obj[c17.key] = c17;
}
guildId = guildId.getGuildId();
let tmp57 = null != guildId;
if (tmp57) {
tmp57 = tmp56 === tmp14.id;
}
if (!guild_requirements.includes(tmp49.IS_VIEWING)) {
if (!hasItem) {
iter.return();
return true;
}
}
}
}
} else if (0 === guild_permissions.length) {
continue;
} else {
let flag5 = false;
for (const item10086 of guild_permissions) {
let tmp32 = item10086;
let deserializer = BigFlagUtilsAll;
if (PermissionStore.can(deserializer.deserialize(tmp32), tmp14)) {
flag5 = true;
obj3.return();
break;
}
continue;
}
continue;
}
continue;
} else {
let features2 = tmp14.features;
}
} else {
let features = tmp14.features;
}
continue;
}
if (hasItem) {
if (flag3) {
return true;
}
}
return false;
}
})(c17);
if (!flag) {
c17 = null;
flag = false;
}
if (flag) {
return false;
}
}
if (obj == null) {
obj = {};
}
const first = Object.values(obj)[0];
if (null != first) {
if ((function meetsGuildRequirements(c17) {
let guild_requirements = c17.guild_requirements;
if (undefined === guild_requirements) {
guild_requirements = [];
}
let guild_size = c17.guild_size;
if (undefined === guild_size) {
guild_size = [null, null];
}
let guild_permissions = c17.guild_permissions;
if (undefined === guild_permissions) {
guild_permissions = [];
}
if (0 === guild_requirements.length) {
return true;
} else {
for (const item10017 of guild_requirements) {
if (set.has(item10017)) {
continue;
} else {
obj2.return();
let flag = false;
return false;
}
}
const hasItem = guild_requirements.includes(constants3.GUILD_SIZE_ALL);
let flag3 = true;
guildsArray = guildsArray.getGuildsArray();
const iter = guildsArray[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp14 = nextResult;
if (hasItem) {
memberCount = memberCount.getMemberCount(tmp14.id);
let tmp20 = memberCount;
if (null == memberCount) {
flag3 = false;
continue;
} else {
if (null != guild_size[0]) {
if (tmp20 < guild_size[0]) {
flag3 = false;
continue;
}
}
if (null != guild_size[1]) {
if (tmp20 > guild_size[1]) {
flag3 = false;
continue;
}
}
}
}
let tmp24 = constants3;
if (!guild_requirements.includes(constants3.IS_COMMUNITY)) {
if (!guild_requirements.includes(tmp24.IS_HUB)) {
if (!guild_requirements.includes(tmp24.GUILD_PERMISSIONS)) {
currentUser = currentUser.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
let tmp44 = id === tmp14.ownerId;
let canResult = PermissionStore.can(constants2.ADMINISTRATOR, tmp14);
let tmp49 = constants3;
if (!guild_requirements.includes(constants3.IS_OWNER)) {
if (!guild_requirements.includes(tmp49.IS_ADMIN)) {
if (obj == null) {
obj = {};
}
if (null == obj[c17.key]) {
obj[c17.key] = c17;
}
guildId = guildId.getGuildId();
let tmp57 = null != guildId;
if (tmp57) {
tmp57 = tmp56 === tmp14.id;
}
if (!guild_requirements.includes(tmp49.IS_VIEWING)) {
if (!hasItem) {
iter.return();
return true;
}
}
}
}
} else if (0 === guild_permissions.length) {
continue;
} else {
let flag5 = false;
for (const item10086 of guild_permissions) {
let tmp32 = item10086;
let deserializer = BigFlagUtilsAll;
if (PermissionStore.can(deserializer.deserialize(tmp32), tmp14)) {
flag5 = true;
obj3.return();
break;
}
continue;
}
continue;
}
continue;
} else {
let features2 = tmp14.features;
}
} else {
let features = tmp14.features;
}
continue;
}
if (hasItem) {
if (flag3) {
return true;
}
}
return false;
}
})(first)) {
let tmp3 = setSurvey;
obj2 = { type: "SURVEY_FETCHED", survey: first };
setSurvey(obj2);
}
}
if (null != c17) {
c17 = null;
}
}
({ GuildFeatures: c9, Permissions: c10, FIRST_RUN_DATE_KEY: unpackModuleId } = Constants);
let obj = { hiddenSurveys: {}, surveyOverride: null, lastFetched: null, lastSeen: null, lastActionTriggered: null };
let c14 = false;
let c15 = false;
obj = {};
let c17 = null;
let c18 = false;
let c19 = null;
const DAY = DurationsDefault.Millis.DAY;
const result = 10 * DurationsDefault.Millis.HOUR;
let obj2 = { IS_OWNER: "is_owner", IS_ADMIN: "is_admin", IS_COMMUNITY: "is_community", GUILD_SIZE: "guild_size", IS_HUB: "is_hub", IS_VIEWING: "is_viewing", GUILD_PERMISSIONS: "guild_permissions", GUILD_SIZE_ALL: "guild_size_all" };
const set = new Set(Object.values(obj2));
const PersistedStore = get_initializedDefault.PersistedStore;
class SurveyStore extends PersistedStore {
initialize(arg0) {
const self = this;
let tmp = arg0;
this.waitFor(GuildMemberCountStore, GuildStore, PermissionStore, SelectedGuildStore, UserStore);
const tmp2 = SelectedGuildStore;
if (arg0 == null) {
tmp = obj;
}
closure_13 = tmp;
const items = [tmp2];
self.syncWith(items, handleSelectedGuildChange);
}
getState() {
return closure_13;
}
getCurrentSurvey() {
let tmp = null == closure_13.lastFetched;
if (!tmp) {
const _Date = Date;
tmp = Date.now() - closure_13.lastFetched >= DAY;
}
let tmp5 = null;
if (!tmp) {
tmp5 = c17;
}
return tmp5;
}
getSurveyOverride() {
return closure_13.surveyOverride;
}
getActionTriggeredSurveyOverride() {
return c19;
}
getLastSeenTimestamp() {
return closure_13.lastSeen;
}
shouldAllowSurveyAction() {
let num = closure_13.lastActionTriggered;
const timestamp = Date.now();
if (num == null) {
num = 0;
}
return timestamp - num >= result;
}
}
const prototype = SurveyStore.prototype;
SurveyStore.displayName = "SurveyStore";
SurveyStore.persistKey = "SurveyStore";
let items = [
(arg0) => {
obj = {};
const merged = Object.assign(arg0);
delete obj["validSurveys"];
delete obj["currentSurvey"];
delete obj["iosIsPushNotificationClicked"];
delete obj["iosIsInviteShown"];
delete obj["iosFirstRunDate"];
return obj;
},
(lastSeen) => {
obj = { lastSeen };
const merged = Object.assign(lastSeen);
lastSeen = lastSeen.lastSeen;
if (lastSeen == null) {
lastSeen = null;
}
return obj;
},
(hiddenSurveys) => {
obj = { hiddenSurveys };
const merged = Object.assign(hiddenSurveys);
hiddenSurveys = hiddenSurveys.hiddenSurveys;
if (hiddenSurveys == null) {
hiddenSurveys = {};
}
return obj;
}
];
SurveyStore.migrations = items;
const obj3 = {
CONNECTION_OPEN: fetchSurveyIfNeeded,
CONNECTION_RESUMED: fetchSurveyIfNeeded,
SURVEY_FETCHED: setSurvey,
SURVEY_HIDE: function handleSurveyHide(key) {
closure_13.hiddenSurveys[key.key] = true;
c17 = null;
if (obj == null) {
obj = {};
}
delete obj[key.key];
},
SURVEY_OVERRIDE: function handleSurveyOverride(id) {
id = id.id;
if (id.isActionTriggered) {
c19 = id;
if (null != id) {
delete closure_13.hiddenSurveys[id];
}
} else {
c19 = null;
closure_13.surveyOverride = id;
if (null != id) {
delete closure_13.hiddenSurveys[id];
}
obj = surveyFetch;
obj.surveyFetch(closure_13.surveyOverride, true);
}
},
PUSH_NOTIFICATION_CLICK: function handlePushNotificationClick() {
c14 = true;
},
DISPLAYED_INVITE_SHOW: function handleInviteShow() {
c15 = true;
},
LOGOUT: function handleLogout() {
closure_13.hiddenSurveys = {};
},
SURVEY_SEEN: function handleSurveySeen() {
closure_13.lastSeen = Date.now();
}
};
const surveyStore = new SurveyStore(DispatcherDefault, obj3);
const result1 = size.fileFinishedImporting("stores/SurveyStore.tsx");
export default surveyStore;
export const SURVEY_REFETCH_INTERVAL = DAY;
export const SURVEY_ACTION_INTERVAL = result;