decord/source/modules/guild_onboarding/GuildOnboardingPromptsConstants.tsx
2026-08-13 07:00:46 +00:00

277 lines
10 KiB
TypeScript

// Module ID: 5283
// Function ID: 5284
// Name: serverPromptToClientPrompt
// Dependencies: [32, 109, 676, 659, 1236, 1903, 2]
// Exports: clientPromptToServerPrompt, getConnectionIdentifier, getDefaultPrompt, getEmptyPrompt, isDefaultPrompt, isEmojiEmpty, parseConnectionIdentifier, serverApiResponseToClientState, validateOnboardingConnections
// Module 5283 (serverPromptToClientPrompt)
import _slicedToArray from "_slicedToArray";
import _objectWithoutProperties from "_objectWithoutProperties";
import { PlatformTypes } from "ME";
import set from "ME";
const require = arg1;
function serverPromptToClientPrompt(id) {
const options = id.options;
return {
id: id.id,
options: options.map((id) => {
const obj = { id: id.id, channelIds: id.channel_ids, roleIds: id.role_ids, emoji: id.emoji, title: id.title, description: null };
let str = id.description;
if (str == null) {
str = "";
}
obj[5] = str;
return obj;
}),
title: id.title,
singleSelect: id.single_select,
disabled: id.disabled,
required: id.required,
inOnboarding: id.in_onboarding,
type: id.type
};
}
function validateOnboardingConnection(connection_type) {
const items = [];
connection_type = connection_type.connection_type;
if (obj.APPLICATION === connection_type) {
if (obj3.isNullOrEmpty(connection_type.application_id)) {
items.push("Application ID is required for application connections");
}
obj3 = require(1903) /* isNullOrEmpty */;
const tmp9 = require;
if (!tmp9Result.isNullOrEmpty(connection_type.provider_id)) {
items.push("Platform ID not allowed for application connections");
}
tmp9Result = require(1903) /* isNullOrEmpty */;
} else if (tmp.PROVIDER_CONNECTED_ACCOUNT === connection_type) {
obj = require(1903) /* isNullOrEmpty */;
if (obj.isNullOrEmpty(connection_type.provider_id)) {
items.push("Platform ID is required for platform connections");
} else if (!closure_11.includes(connection_type.provider_id)) {
items.push("Invalid platform ID");
}
if (!tmp3Result.isNullOrEmpty(connection_type.application_id)) {
items.push("Application ID not allowed for platform connections");
}
const tmp3 = require;
tmp3Result = require(1903) /* isNullOrEmpty */;
} else {
const connection_type2 = connection_type.connection_type;
items.push("Invalid connection type");
return items;
}
let tmp13 = null != connection_type.description;
if (tmp13) {
tmp13 = connection_type.description.length > 100;
}
if (tmp13) {
items.push("Description must be 100 characters or less");
}
return items;
}
let closure_3 = ["id"];
let closure_4 = ["id"];
let obj = { MULTIPLE_CHOICE: 0, [0]: "MULTIPLE_CHOICE", DROPDOWN: 1, [1]: "DROPDOWN" };
obj = { APPLICATION: 0, [0]: "APPLICATION", PROVIDER_CONNECTED_ACCOUNT: 1, [1]: "PROVIDER_CONNECTED_ACCOUNT" };
let items = [, , , , , , , ];
({ PLAYSTATION_STAGING: arr[0], CONTACTS: arr[1], DOMAIN: arr[2], TWITTER_LEGACY: arr[3], MASTODON: arr[4], INSTAGRAM: arr[5], LEAGUE_OF_LEGENDS: arr[6], SKYPE: arr[7] } = PlatformTypes);
let set = new Set(items);
const values = Object.values(PlatformTypes);
let closure_11 = values.filter((arg0) => !set.has(arg0));
const result = set.fileFinishedImporting("modules/guild_onboarding/GuildOnboardingPromptsConstants.tsx");
export const MAX_PROMPT_TITLE_LENGTH = 100;
export const MAX_PROMPT_OPTION_TITLE_LENGTH = 50;
export const MAX_PROMPT_OPTION_DESCRIPTION_LENGTH = 100;
export const MAX_NUM_PROMPTS = 15;
export const MULTIPLE_CHOICE_MAX_NUM_OPTIONS = 12;
export const DROPDOWN_MAX_NUM_OPTIONS = 50;
export const MAX_DEFAULT_CHANNEL_IDS = 25;
export const MAX_NUMBER_OF_ONBOARDING_CONNECTIONS = 10;
export const MAX_CONNECTION_DESCRIPTION_LENGTH = 100;
export const MAX_NUMBER_OF_ONBOARDING_PROMPTS_IN_ONBOARDING = 4;
export const NUM_DEFAULT_CHATTABLE_CHANNELS_MIN = 1;
export const ONBOARDING_PROMPT_TYPE_SWITCH_THRESHOLD = 13;
export const GuildOnboardingTab = { CUSTOMIZE: 0, [0]: "CUSTOMIZE", BROWSE: 1, [1]: "BROWSE" };
export const OnboardingPromptType = obj;
export const GuildOnboardingMode = { ONBOARDING_DEFAULT: 0, [0]: "ONBOARDING_DEFAULT", ONBOARDING_ADVANCED: 1, [1]: "ONBOARDING_ADVANCED" };
export const OnboardingConnectionType = obj;
export const isDefaultPrompt = function isDefaultPrompt(options) {
if (options.options.length > 0) {
return false;
} else {
const obj = { id: null, title: null, options: null, singleSelect: false, required: false, inOnboarding: true, type: null };
const _String = String;
const _Date = Date;
obj[0] = String(Date.now());
const intl = require(1236) /* getSystemLocale */.intl;
obj[1] = intl.string(require(1236) /* getSystemLocale */.t.vY91C9);
obj[2] = [];
obj[6] = obj.MULTIPLE_CHOICE;
const id = obj.id;
const id2 = options.id;
const tmp7 = callback2(obj, closure_3);
return importDefault(659)(tmp7, callback2(options, closure_4));
}
};
export const getDefaultPrompt = function getDefaultPrompt() {
const obj = { id: String(Date.now()), title: null, options: null, singleSelect: false, required: false, inOnboarding: true, type: null };
const intl = require(1236) /* getSystemLocale */.intl;
obj[1] = intl.string(require(1236) /* getSystemLocale */.t.vY91C9);
obj[2] = [];
obj[6] = obj.MULTIPLE_CHOICE;
return obj;
};
export const getEmptyPrompt = function getEmptyPrompt(inOnboarding) {
obj = { id: String(Date.now()), title: "", options: [], singleSelect: false, required: false, inOnboarding, type: obj.MULTIPLE_CHOICE };
return obj;
};
export const clientPromptToServerPrompt = function clientPromptToServerPrompt(id) {
const options = id.options;
return {
id: id.id,
options: options.map((id) => {
const obj = { id: id.id, channel_ids: id.channelIds, role_ids: id.roleIds, emoji: id.emoji, emoji_id: null, emoji_name: null, emoji_animated: null, title: null, description: null };
const emoji = id.emoji;
id = undefined;
if (emoji != null) {
id = emoji.id;
}
obj[4] = id;
const emoji2 = id.emoji;
let name;
if (emoji2 != null) {
name = emoji2.name;
}
obj[5] = name;
const emoji3 = id.emoji;
let animated;
if (emoji3 != null) {
animated = emoji3.animated;
}
obj[6] = animated;
({ title: obj[7], description: obj[8] } = id);
return obj;
}),
title: id.title,
single_select: id.singleSelect,
disabled: id.disabled,
required: id.required,
in_onboarding: id.inOnboarding,
type: id.type
};
};
export { serverPromptToClientPrompt };
export const serverApiResponseToClientState = function serverApiResponseToClientState(defaultChannelIds) {
let connections;
let onboarding_prompts_seen;
const obj = { prompts: prompts.map(serverPromptToClientPrompt), defaultChannelIds: defaultChannelIds.default_channel_ids, responses: null, mode: null, enabled: null, onboardingPromptsSeen: null, onboardingResponsesSeen: null, belowRequirements: null, connections: null, additionalConnections: null };
prompts = defaultChannelIds.prompts;
let responses = defaultChannelIds.responses;
if (responses == null) {
responses = [];
}
obj[2] = responses;
({ mode: obj[3], enabled: obj[4], onboarding_prompts_seen } = defaultChannelIds);
if (onboarding_prompts_seen == null) {
onboarding_prompts_seen = {};
}
obj[5] = onboarding_prompts_seen;
let prop = defaultChannelIds.onboarding_responses_seen;
if (prop == null) {
prop = {};
}
obj[6] = prop;
({ below_requirements: obj[7], connections } = defaultChannelIds);
if (connections == null) {
connections = [];
}
obj[8] = connections;
let prop1 = defaultChannelIds.additional_connections;
if (prop1 == null) {
prop1 = [];
}
obj[9] = prop1;
return obj;
};
export const isEmojiEmpty = function isEmojiEmpty(id) {
let tmp = null == id;
if (!tmp) {
tmp = null == id.id && null == id.name;
const tmp2 = null == id.id && null == id.name;
}
return tmp;
};
export const EXCLUDED_ONBOARDING_PLATFORM_TYPES = set;
export const getConnectionIdentifier = function getConnectionIdentifier(connection_type) {
if (connection_type.connection_type === obj.APPLICATION) {
const _HermesInternal2 = HermesInternal;
let combined = "app:" + connection_type.application_id;
} else {
const _HermesInternal = HermesInternal;
combined = "provider:" + connection_type.provider_id;
}
return combined;
};
export const parseConnectionIdentifier = function parseConnectionIdentifier(str) {
let tmp2;
let tmp3;
[tmp2, tmp3] = callback(str.split(":"), 2);
if ("app" === tmp2) {
if (undefined !== tmp3) {
if ("" !== tmp3) {
let obj = { type: null, applicationId: null };
obj[0] = obj.APPLICATION;
obj[1] = tmp3;
let tmp4 = obj;
}
return tmp4;
}
}
tmp4 = null;
if ("provider" === tmp2) {
tmp4 = null;
if (undefined !== tmp3) {
tmp4 = null;
if ("" !== tmp3) {
obj = { type: null, providerId: null };
obj[0] = obj.PROVIDER_CONNECTED_ACCOUNT;
obj[1] = tmp3;
tmp4 = obj;
}
}
}
};
export { validateOnboardingConnection };
export const validateOnboardingConnections = function validateOnboardingConnections(arr) {
let items = [];
const set = new Set();
function _loop(arg0) {
let items = arg0;
let arr = outer1_12(connection_type);
items = [...arr.map((arg0) => "Connection " + closure_0 + 1 + ": " + arg0)];
items.push.apply(items);
if (connection_type.connection_type === outer1_8.APPLICATION) {
const _HermesInternal2 = HermesInternal;
let combined = "app:" + tmp.application_id;
} else {
const _HermesInternal = HermesInternal;
combined = "provider:" + tmp.provider_id;
}
if (set.has(combined)) {
arr = items.push("Duplicate connection configuration");
}
set.add(combined);
}
const entries = arr.entries();
while (tmp3 !== undefined) {
let tmp5 = callback;
let tmp6 = callback(tmp4, 2);
let closure_2 = tmp6[1];
let _loopResult = _loop(tmp6[0]);
continue;
}
return items;
};