decord/source/modules/application_commands/native/ApplicationCommandBar.tsx

414 lines
16 KiB
TypeScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 11427
// Function ID: 88949
// Name: ApplicationCommandOptionItem
// Dependencies: []
// Exports: default
// Module 11427 (ApplicationCommandOptionItem)
function ApplicationCommandOptionItem(arg0) {
let option;
let optionState;
({ option, optionState } = arg0);
let obj = Object.create(null);
obj.option = 0;
obj.optionState = 0;
const merged = Object.assign(arg0, obj);
const tmp3 = callback3();
let isActive;
if (null != optionState) {
isActive = optionState.isActive;
}
obj = {};
const intl = arg1(dependencyMap[9]).intl;
obj = { optionName: option.displayName };
obj.accessibilityLabel = intl.formatToPlainString(arg1(dependencyMap[9]).t.evoEHc, obj);
obj.accessibilityRole = "button";
obj.disabled = null != isActive && isActive;
const items = [tmp3.applicationCommandOption, , ];
let activeCommandOption = tmp5;
if (null != isActive && isActive) {
activeCommandOption = tmp3.activeCommandOption;
}
items[1] = activeCommandOption;
let completeCommandOption = !tmp5;
if (completeCommandOption) {
let success;
if (null != optionState) {
if (null != optionState.lastValidationResult) {
success = lastValidationResult.success;
}
}
completeCommandOption = success;
}
if (completeCommandOption) {
completeCommandOption = tmp3.completeCommandOption;
}
items[2] = completeCommandOption;
obj.style = items;
const merged1 = Object.assign(merged);
const obj1 = {};
const items1 = [tmp3.applicationCommandOptionText, , , ];
let activeCommandOptionText = tmp5;
if (null != isActive && isActive) {
activeCommandOptionText = tmp3.activeCommandOptionText;
}
items1[1] = activeCommandOptionText;
let completeCommandOptionText = !tmp5;
if (completeCommandOptionText) {
let success1;
if (null != optionState) {
if (null != optionState.lastValidationResult) {
success1 = lastValidationResult2.success;
}
}
completeCommandOptionText = success1;
}
if (completeCommandOptionText) {
completeCommandOptionText = tmp3.completeCommandOptionText;
}
items1[2] = completeCommandOptionText;
let errorCommandOptionText = !tmp5;
if (errorCommandOptionText) {
let success2;
if (null != optionState) {
if (null != optionState.lastValidationResult) {
success2 = lastValidationResult3.success;
}
}
errorCommandOptionText = false === success2;
}
if (errorCommandOptionText) {
errorCommandOptionText = tmp3.errorCommandOptionText;
}
items1[3] = errorCommandOptionText;
obj1.style = items1;
obj1.numberOfLines = 1;
obj1.children = option.displayName;
obj["children"] = closure_8(arg1(dependencyMap[10]).LegacyText, obj1);
return closure_8(arg1(dependencyMap[8]).PressableOpacity, obj);
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importAll(dependencyMap[1]);
const tmp2 = arg1(dependencyMap[2]);
({ View: closure_5, ScrollView: closure_6 } = tmp2);
let closure_7 = importDefault(dependencyMap[3]);
({ jsx: closure_8, Fragment: closure_9, jsxs: closure_10 } = arg1(dependencyMap[4]));
let obj = arg1(dependencyMap[5]);
obj = {};
obj = { flexDirection: "column", backgroundColor: importDefault(dependencyMap[6]).colors.MOBILE_FLOATING_ACCESSORY_BACKGROUND, borderRadius: importDefault(dependencyMap[6]).modules.mobile.CHAT_INPUT_FLOATING_BORDER_RADIUS, borderWidth: importDefault(dependencyMap[6]).modules.mobile.CHAT_INPUT_FLOATING_ACCESSORY_BORDER_WIDTH, borderColor: importDefault(dependencyMap[6]).colors.MOBILE_FLOATING_ACCESSORY_BORDER, overflow: "hidden" };
obj.applicationCommandBar = obj;
const obj1 = { backgroundColor: false, accessibilityRole: false, -45001119: false, 1379623171: false, borderRadius: importDefault(dependencyMap[6]).radii.md };
obj.applicationIcon = obj1;
obj.applicationTopWrapperScrollView = {};
obj.applicationName = { "Bool(false)": "isArrayBufferToString", "Bool(false)": "sy" };
const obj2 = { "Bool(false)": 0.0000000000000000002609920288403476, "Bool(false)": -0.00000000000000000000000000000000000010579471013961805, "Bool(false)": 8595040800.000618, "Bool(false)": 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000338751164151324, "Bool(false)": 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000598483294717387, width: tmp2.StyleSheet.hairlineWidth, backgroundColor: importDefault(dependencyMap[6]).colors.BACKGROUND_MOD_NORMAL };
obj.applicationOptionalOptionsDivider = obj2;
obj.applicationOptionalOptionsDividerWithNoRequired = { marginLeft: 4 };
obj.applicationOptionalOptionsIndicator = {};
obj.applicationDescriptionContainer = { flexShrink: 1 };
const tmp3 = arg1(dependencyMap[4]);
obj.applicationDescriptionDivider = { marginLeft: 0, backgroundColor: importDefault(dependencyMap[6]).colors.MOBILE_COMMAND_BAR_DIVIDER };
const obj3 = { marginLeft: 0, backgroundColor: importDefault(dependencyMap[6]).colors.MOBILE_COMMAND_BAR_DIVIDER };
obj.applicationCommandOption = { borderRadius: importDefault(dependencyMap[6]).radii.xs, backgroundColor: arg1(dependencyMap[7]).DARK_PRIMARY_800_LIGHT_PRIMARY_300 };
const obj4 = { borderRadius: importDefault(dependencyMap[6]).radii.xs, backgroundColor: arg1(dependencyMap[7]).DARK_PRIMARY_800_LIGHT_PRIMARY_300 };
obj.applicationCommandOptionText = { color: importDefault(dependencyMap[6]).colors.TEXT_DEFAULT };
const obj5 = { color: importDefault(dependencyMap[6]).colors.TEXT_DEFAULT };
obj.activeCommandOption = { backgroundColor: importDefault(dependencyMap[6]).colors.BACKGROUND_BRAND };
const obj6 = { backgroundColor: importDefault(dependencyMap[6]).colors.BACKGROUND_BRAND };
obj.activeCommandOptionText = { color: importDefault(dependencyMap[6]).colors.WHITE };
obj.completeCommandOptionText = { opacity: 0.5 };
const obj7 = { color: importDefault(dependencyMap[6]).colors.WHITE };
obj.errorCommandOptionText = { color: importDefault(dependencyMap[6]).colors.TEXT_FEEDBACK_CRITICAL };
obj.optionDescriptionContainer = {};
const obj8 = { color: importDefault(dependencyMap[6]).colors.TEXT_FEEDBACK_CRITICAL };
obj.descriptionEllipsis = { marginLeft: 10, backgroundColor: importDefault(dependencyMap[6]).colors.MOBILE_FLOATING_ACCESSORY_BACKGROUND };
const obj9 = { marginLeft: 10, backgroundColor: importDefault(dependencyMap[6]).colors.MOBILE_FLOATING_ACCESSORY_BACKGROUND };
obj.descriptionEllipsisDots = { backgroundColor: importDefault(dependencyMap[6]).colors.INTERACTIVE_TEXT_DEFAULT };
const obj10 = { backgroundColor: importDefault(dependencyMap[6]).colors.INTERACTIVE_TEXT_DEFAULT };
obj.completeCommandOption = { backgroundColor: arg1(dependencyMap[7]).DARK_PRIMARY_660_LIGHT_PRIMARY_300 };
let closure_11 = obj.createStyles(obj);
function ApplicationCommandOptionDescription(option) {
let tmp8;
option = option.option;
const arg1 = option;
const optionState = option.optionState;
let dependencyMap;
let React;
let closure_5;
let closure_6;
function onDescriptionLayout(nativeEvent) {
const truncResult = Math.trunc(nativeEvent.nativeEvent.layout.height);
let tmp2 = undefined === first;
if (!tmp2) {
tmp2 = truncResult > first1;
}
if (tmp2) {
callback2(truncResult);
}
_undefined(truncResult);
}
const tmp = callback3();
const tmp2 = importDefault(dependencyMap[16])(option);
const importDefault = tmp2;
const tmp3 = callback(React.useState(undefined), 2);
const first = tmp3[0];
dependencyMap = first;
let callback = tmp3[1];
const tmp5 = callback(React.useState(0), 2);
const first1 = tmp5[0];
React = first1;
closure_5 = tmp5[1];
[tmp8, closure_6] = callback(React.useState(0), 2);
const tmp9 = importDefault(dependencyMap[16])(first1);
let closure_7 = tmp9;
const items = [tmp2, option, first1, tmp9];
const effect = React.useEffect(() => {
if (tmp2 !== option) {
callback2(0);
const tmp9 = _undefined(0);
callback(undefined);
} else {
let tmp2 = first1 > 0;
if (tmp2) {
tmp2 = 0 === tmp9;
}
if (tmp2) {
callback(1);
}
}
}, items);
const items1 = [first];
let tmp12 = 1 === first;
callback = React.useCallback(() => {
closure_3(1);
}, items1);
if (tmp12) {
tmp12 = tmp8 === first1;
}
let str = "button";
if (tmp12) {
str = "text";
}
let obj = { accessibilityRole: str, disabled: tmp12, onPress: callback };
obj = { style: tmp.optionDescriptionContainer };
obj = { style: tmp.applicationDescriptionContainer };
let error;
if (null != optionState) {
if (null != optionState.lastValidationResult) {
error = lastValidationResult.error;
}
}
if (null != error) {
const obj1 = { lineClamp: first, onLayout: onDescriptionLayout, variant: "text-sm/medium", color: "text-feedback-critical", children: optionState.lastValidationResult.error };
let tmp18Result = callback2(arg1(dependencyMap[14]).Text, obj1);
} else {
const obj2 = { lineClamp: first, onLayout: onDescriptionLayout, variant: "text-sm/medium", color: "mobile-text-heading-primary", children: null != option ? option.displayDescription : option.command.displayDescription };
tmp18Result = callback2(arg1(dependencyMap[14]).Text, obj2);
const tmp18 = callback2;
}
obj.children = tmp18Result;
const items2 = [callback2(closure_5, obj), ];
let tmp25 = null;
if (tmp8 !== first1) {
({ descriptionEllipsis: obj6.style, descriptionEllipsisDots: obj6.dotStyle } = tmp);
tmp25 = callback2(importDefault(dependencyMap[17]), {});
const obj3 = {};
}
items2[1] = tmp25;
obj.children = items2;
obj.children = closure_10(closure_5, obj);
return callback2(arg1(dependencyMap[8]).PressableOpacity, obj);
}
const obj11 = { backgroundColor: arg1(dependencyMap[7]).DARK_PRIMARY_660_LIGHT_PRIMARY_300 };
const result = arg1(dependencyMap[18]).fileFinishedImporting("modules/application_commands/native/ApplicationCommandBar.tsx");
export default function _default(command) {
let currentOption;
let tmp4;
let tmp6;
command = command.command;
const arg1 = command;
const section = command.section;
const importDefault = section;
({ guildId: closure_2, currentOption } = command);
const callback = currentOption;
const optionStates = command.optionStates;
const React = optionStates;
const onPressOption = command.onPressOption;
const tmp = callback3();
const ref = React.useRef(null);
let closure_7 = ref;
const callback2 = React.useRef({});
[tmp4, closure_9] = callback(React.useState(false), 2);
const tmp3 = callback(React.useState(false), 2);
[tmp6, closure_10] = callback(React.useState(false), 2);
const tmp7 = callback(React.useState(), 2);
const first = tmp7[0];
const callback3 = first;
let closure_12 = tmp7[1];
const items = [command];
const effect = React.useEffect(() => {
let options = false;
let closure_1 = false;
options = options.options;
if (null != options) {
const item = options.forEach((required) => {
if (true !== required.required) {
let closure_0 = true;
} else {
let closure_1 = true;
}
});
}
callback(options);
callback2(closure_1);
}, items);
const items1 = [currentOption];
const effect1 = React.useEffect(() => {
let name;
if (null != currentOption) {
name = currentOption.name;
}
closure_12(name);
}, items1);
const items2 = [first, tmp];
const effect2 = React.useEffect(() => {
let tmp = null;
if (null != first) {
tmp = ref.current[closure_11];
}
if (null != tmp) {
const current = ref.current;
if (null != current) {
const obj = { x: tmp.x - tmp.applicationTopWrapperScrollView.paddingHorizontal, animated: true };
current.scrollTo(obj);
}
}
}, items2);
let obj = arg1(dependencyMap[11]);
const items3 = [closure_7];
const stateFromStores = obj.useStateFromStores(items3, () => {
if (null != closure_2) {
let botId;
if (null != section) {
botId = section.botId;
}
if (null != botId) {
return ref.getMember(closure_2, section.botId);
}
}
});
const ApplicationCommandOptionItem = stateFromStores;
const items4 = [section, stateFromStores];
const memo = React.useMemo(() => command(closure_2[12]).getApplicationCommandsIconSource(section, stateFromStores), items4);
let closure_14 = React.useCallback((nativeEvent, name) => {
nativeEvent = nativeEvent.nativeEvent;
const current = ref.current;
current[name.name] = { x: nativeEvent.layout.x, width: nativeEvent.layout.width };
ref.current = current;
}, []);
let name;
if (null != currentOption) {
name = currentOption.name;
}
let tmp15;
if (null != name) {
let name1;
if (null != currentOption) {
name1 = currentOption.name;
}
tmp15 = optionStates[name1];
}
obj = { style: tmp.applicationCommandBar };
obj = { ref, contentContainerStyle: tmp.applicationTopWrapperScrollView };
let tmp20 = null != memo;
if (tmp20) {
const obj1 = { style: tmp.applicationIcon, source: memo };
tmp20 = callback2(importDefault(dependencyMap[13]), obj1);
}
const items5 = [tmp20, , , ];
const obj2 = { backgroundColor: 1358955199, alignItems: 1091658877, flexDirection: 89998, borderRadius: 9842, style: tmp.applicationName, children: `/ ${command.displayName}` };
items5[1] = callback2(arg1(dependencyMap[14]).Text, obj2);
const options = command.options;
let mapped;
if (null != options) {
mapped = options.map((required) => {
const command = required;
let tmp = null;
if (required.required) {
const obj = {
option: required,
onPress() {
let tmp;
if (null != callback) {
tmp = callback(arg0);
}
return tmp;
},
optionState: optionStates[required.name],
onLayout(arg0) {
return callback2(arg0, arg0);
}
};
tmp = ref(stateFromStores, obj, required.name);
}
return tmp;
});
}
items5[2] = mapped;
let tmp26Result = null;
if (tmp4) {
const obj3 = {};
const obj4 = {};
const items6 = [tmp.applicationOptionalOptionsDivider, ];
let applicationOptionalOptionsDividerWithNoRequired = !tmp6;
if (applicationOptionalOptionsDividerWithNoRequired) {
applicationOptionalOptionsDividerWithNoRequired = tmp.applicationOptionalOptionsDividerWithNoRequired;
}
items6[1] = applicationOptionalOptionsDividerWithNoRequired;
obj4.style = items6;
const items7 = [callback2(onPressOption, obj4), , ];
const obj5 = { backgroundColor: "isArray", alignItems: "key", flexDirection: "constructor", borderRadius: "l", style: tmp.applicationOptionalOptionsIndicator };
const intl = arg1(dependencyMap[9]).intl;
obj5.children = intl.string(arg1(dependencyMap[9]).t.U19GM3);
items7[1] = callback2(arg1(dependencyMap[14]).Text, obj5);
const options1 = command.options;
let mapped1;
if (null != options1) {
mapped1 = options1.map((required) => {
const command = required;
let tmp = null;
if (!required.required) {
const obj = {
option: required,
onPress() {
return callback(arg0);
},
optionState: optionStates[required.name],
onLayout(arg0) {
return callback2(arg0, arg0);
}
};
tmp = ref(stateFromStores, obj, required.name);
}
return tmp;
});
}
items7[2] = mapped1;
obj3.children = items7;
tmp26Result = closure_10(closure_9, obj3);
const tmp26 = closure_10;
const tmp27 = closure_9;
const tmp28 = callback2;
const tmp29 = onPressOption;
}
items5[3] = tmp26Result;
obj.children = items5;
const items8 = [closure_10(tmp, obj), callback2(arg1(dependencyMap[15]).FormDivider, { style: tmp.applicationDescriptionDivider }), , ];
const obj7 = { command, option: currentOption, optionState: tmp15 };
items8[2] = callback2(closure_12, obj7);
items8[3] = callback2(arg1(dependencyMap[15]).FormDivider, { style: tmp.applicationDescriptionDivider });
obj.children = items8;
return closure_10(onPressOption, obj);
};