decord/source/modules/parent_tools/native/ChangeSpendingLimitModal.tsx

198 lines
8 KiB
TypeScript
Raw Normal View History

2026-07-24 07:16:23 +00:00
// Module ID: 13861
// Function ID: 106134
2026-07-20 16:05:17 +00:00
// Name: renderMonthlySpendLine
2026-07-24 07:16:23 +00:00
// Dependencies: [5, 31, 27, 33, 4130, 689, 7631, 4126, 1212, 2198, 13862, 3831, 4091, 4337, 3830, 5616, 7613, 7614, 4541, 7574, 11098, 4965, 4543, 5087, 11100, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-24 07:16:23 +00:00
// Module 13861 (renderMonthlySpendLine)
2026-07-23 10:11:24 +00:00
import closure_3 from "_createForOfIteratorHelperLoose";
import result from "result";
import get_ActivityIndicator from "get ActivityIndicator";
import jsxProd from "jsxProd";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
let closure_6;
let closure_7;
const require = arg1;
2026-07-20 16:05:17 +00:00
function renderMonthlySpendLine(formatPriceResult, isOverspending, renewalDate, arg3) {
let tmp = formatPriceResult;
let formatToPlainStringResult = arg3;
if (null == formatPriceResult) {
return null;
} else if (isOverspending) {
let obj = { style: formatToPlainStringResult.warningRow };
2026-07-23 10:11:24 +00:00
obj = { size: "xs", color: importDefault(689).colors.ICON_FEEDBACK_WARNING };
2026-07-24 07:16:23 +00:00
const items = [callback(require(7631) /* WarningIcon */.WarningIcon, obj), ];
2026-07-20 16:05:17 +00:00
const obj1 = { variant: "text-sm/normal", style: formatToPlainStringResult.warningText };
2026-07-23 10:11:24 +00:00
const intl2 = require(1212) /* getSystemLocale */.intl;
2026-07-20 16:05:17 +00:00
const obj2 = { amount: tmp };
tmp = renewalDate;
obj2.date = renewalDate;
2026-07-23 10:11:24 +00:00
formatToPlainStringResult = intl2.formatToPlainString(importDefault(2198).Tk6x4X, obj2);
2026-07-20 16:05:17 +00:00
obj1.children = formatToPlainStringResult;
2026-07-23 10:11:24 +00:00
items[1] = callback(require(4126) /* Text */.Text, obj1);
2026-07-20 16:05:17 +00:00
obj.children = items;
2026-07-23 10:11:24 +00:00
let tmp8 = callback2(View, obj);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
obj = { variant: "text-sm/normal", color: "text-muted" };
const intl = require(1212) /* getSystemLocale */.intl;
2026-07-20 16:05:17 +00:00
const obj3 = { amount: tmp };
2026-07-23 10:11:24 +00:00
obj.children = intl.formatToPlainString(importDefault(2198).pfAlRY, obj3);
tmp8 = callback(require(4126) /* Text */.Text, obj);
2026-07-20 16:05:17 +00:00
}
}
function ChangeSpendingLimitScreen(teenId) {
let amountInput;
2026-07-23 10:11:24 +00:00
let c0;
2026-07-20 16:05:17 +00:00
let canSave;
let currencySymbol;
let exponent;
let handleAmountChange;
let isClearingCap;
let isOverspending;
let isSubmitting;
let monthlySpend;
let renewalDate;
2026-07-23 10:11:24 +00:00
let _require;
2026-07-20 16:05:17 +00:00
function handleSave() {
return _handleSave(...arguments);
}
function _handleSave(arg0) {
// CreateGeneratorClosureLongIndex (0x67)
2026-07-23 10:11:24 +00:00
const obj = outer1_3(tmp);
2026-07-20 16:05:17 +00:00
return obj(...arguments);
}
2026-07-23 10:11:24 +00:00
const tmp = _createForOfIteratorHelperLoose();
2026-07-24 07:16:23 +00:00
let obj = _require(13862);
2026-07-20 16:05:17 +00:00
const changeSpendingLimitFormState = obj.useChangeSpendingLimitFormState(teenId.teenId);
2026-07-23 10:11:24 +00:00
({ amountInput, isOverspending, isSubmitting, renewalDate, monthlySpend, save: c0 } = changeSpendingLimitFormState);
2026-07-20 16:05:17 +00:00
let formatPriceResult = null;
({ handleAmountChange, currencySymbol, exponent, isClearingCap, canSave } = changeSpendingLimitFormState);
if (null != monthlySpend) {
formatPriceResult = null;
if (monthlySpend > 0) {
2026-07-24 07:16:23 +00:00
let obj1 = _require(5616);
2026-07-20 16:05:17 +00:00
formatPriceResult = obj1.formatPrice(monthlySpend, tmp3);
}
}
obj = {};
obj = {};
2026-07-23 10:11:24 +00:00
obj1 = { spacing: _handleSave(689).space.PX_16 };
2026-07-20 16:05:17 +00:00
const obj2 = { variant: "text-sm/normal" };
2026-07-23 10:11:24 +00:00
const intl = _require(1212).intl;
obj2.children = intl.string(_handleSave(2198).IFguF2);
const items = [callback(_require(4126).Text, obj2), ];
const obj3 = { spacing: _handleSave(689).space.PX_8 };
const obj4 = { variant: "text-sm/semibold", color: "text-subtle" };
const intl2 = _require(1212).intl;
obj4.children = intl2.string(_handleSave(2198)["1fHSu2"]);
const items1 = [callback(_require(4126).Text, obj4), , ];
2026-07-20 16:05:17 +00:00
const obj5 = {};
const obj6 = {};
2026-07-23 10:11:24 +00:00
const intl3 = _require(1212).intl;
obj6.accessibilityLabel = intl3.string(_handleSave(2198)["1fHSu2"]);
2026-07-20 16:05:17 +00:00
obj6.value = amountInput;
obj6.onChange = handleAmountChange;
let tmp15;
if (tmp7) {
tmp15 = currencySymbol;
}
obj6.leadingText = tmp15;
2026-07-23 10:11:24 +00:00
const intl4 = _require(1212).intl;
obj6.placeholder = intl4.string(_handleSave(2198).DjSv82);
2026-07-20 16:05:17 +00:00
let str = "number-pad";
if (exponent > 0) {
str = "decimal-pad";
}
obj6.keyboardType = str;
obj6.isClearable = true;
2026-07-24 07:16:23 +00:00
const items2 = [callback(_require(7574).TextInput, obj6), ];
2026-07-20 16:05:17 +00:00
let tmp16 = null;
if (isOverspending) {
const obj7 = { style: tmp.warningOverlay, pointerEvents: "none" };
2026-07-23 10:11:24 +00:00
tmp16 = callback(View, obj7);
2026-07-20 16:05:17 +00:00
}
items2[1] = tmp16;
obj5.children = items2;
items1[1] = closure_7(View, obj5);
items1[2] = renderMonthlySpendLine(formatPriceResult, isOverspending, renewalDate, tmp);
obj3.children = items1;
2026-07-23 10:11:24 +00:00
items[1] = closure_7(_require(4541).Stack, obj3);
2026-07-20 16:05:17 +00:00
obj1.children = items;
2026-07-23 10:11:24 +00:00
obj.children = closure_7(_require(4541).Stack, obj1);
2026-07-24 07:16:23 +00:00
const items3 = [callback(_require(7614).ModalContent, obj), ];
2026-07-20 16:05:17 +00:00
const obj8 = {};
const obj9 = {};
if (isClearingCap) {
const obj10 = { variant: "destructive" };
2026-07-23 10:11:24 +00:00
const intl6 = _require(1212).intl;
obj10.text = intl6.string(_handleSave(2198).JZDGJ8);
2026-07-20 16:05:17 +00:00
obj10.onPress = handleSave;
obj10.disabled = isSubmitting;
obj10.loading = isSubmitting;
let obj11 = obj10;
} else {
obj11 = {};
2026-07-23 10:11:24 +00:00
const intl5 = _require(1212).intl;
obj11.text = intl5.string(_require(1212).t["R3BPH+"]);
2026-07-20 16:05:17 +00:00
obj11.onPress = handleSave;
obj11.disabled = !canSave || isSubmitting;
obj11.loading = isSubmitting;
}
2026-07-23 10:11:24 +00:00
const items4 = [callback(_require(4543).Button, obj11), ];
2026-07-20 16:05:17 +00:00
const obj12 = { variant: "tertiary" };
2026-07-23 10:11:24 +00:00
const intl7 = _require(1212).intl;
obj12.text = intl7.string(_require(1212).t["ETE/oC"]);
obj12.onPress = _handleSave(4337).pop;
items4[1] = callback(_require(4543).Button, obj12);
2026-07-20 16:05:17 +00:00
obj9.children = items4;
2026-07-23 10:11:24 +00:00
obj8.children = closure_7(_require(4965).ButtonGroup, obj9);
2026-07-24 07:16:23 +00:00
items3[1] = callback(_require(11098).ModalFooter, obj8);
2026-07-20 16:05:17 +00:00
obj.children = items3;
2026-07-24 07:16:23 +00:00
return closure_7(_require(7613).ModalScreen, obj);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
const View = get_ActivityIndicator.View;
({ jsx: closure_6, jsxs: closure_7 } = jsxProd);
_createForOfIteratorHelperLoose = {};
_createForOfIteratorHelperLoose = {};
const merged = Object.assign(get_ActivityIndicator.StyleSheet.absoluteFillObject);
_createForOfIteratorHelperLoose["borderRadius"] = require("_createForOfIteratorHelperLoose").modules.mobile.INPUT_FIELD_RADIUS_LG;
_createForOfIteratorHelperLoose["borderWidth"] = 1;
_createForOfIteratorHelperLoose["borderColor"] = require("_createForOfIteratorHelperLoose").colors.ICON_FEEDBACK_WARNING;
_createForOfIteratorHelperLoose["backgroundColor"] = require("_createForOfIteratorHelperLoose").colors.BACKGROUND_FEEDBACK_WARNING;
_createForOfIteratorHelperLoose.warningOverlay = _createForOfIteratorHelperLoose;
let obj1 = { flexDirection: "row", gap: require("_createForOfIteratorHelperLoose").space.PX_8, alignItems: "flex-start" };
_createForOfIteratorHelperLoose.warningRow = obj1;
_createForOfIteratorHelperLoose.warningText = { flex: 1, color: require("_createForOfIteratorHelperLoose").colors.ICON_FEEDBACK_WARNING };
_createForOfIteratorHelperLoose = _createForOfIteratorHelperLoose.createStyles(_createForOfIteratorHelperLoose);
let obj2 = { flex: 1, color: require("_createForOfIteratorHelperLoose").colors.ICON_FEEDBACK_WARNING };
const result = require("get ActivityIndicator").fileFinishedImporting("modules/parent_tools/native/ChangeSpendingLimitModal.tsx");
2026-07-20 16:05:17 +00:00
export default function ChangeSpendingLimitModal(teenId) {
teenId = teenId.teenId;
const items = [teenId];
2026-07-23 10:11:24 +00:00
const memo = React.useMemo(() => (function getScreens(teenId) {
let closure_0 = teenId;
2026-07-20 16:05:17 +00:00
let obj = {};
obj = {
headerShown: true,
2026-07-23 10:11:24 +00:00
headerLeft: teenId(outer2_2[23]).getHeaderCloseButton(outer2_1(outer2_2[13]).pop),
2026-07-20 16:05:17 +00:00
headerTitle() {
const obj = { variant: "text-md/semibold" };
2026-07-23 10:11:24 +00:00
const intl = teenId(outer3_2[8]).intl;
obj.children = intl.string(outer3_1(outer3_2[9]).xMRO6A);
return outer3_6(teenId(outer3_2[7]).Text, obj);
2026-07-20 16:05:17 +00:00
},
render() {
2026-07-23 10:11:24 +00:00
return outer3_6(outer3_10, { teenId: closure_0 });
2026-07-20 16:05:17 +00:00
}
};
obj.CHANGE_SPENDING_LIMIT = obj;
return obj;
2026-07-23 10:11:24 +00:00
})(teenId), items);
let obj = { initialRouteName: "CHANGE_SPENDING_LIMIT", screens: memo };
let intl = teenId(1212).intl;
obj.headerBackTitle = intl.string(teenId(1212).t["13/7kX"]);
2026-07-24 07:16:23 +00:00
return callback(teenId(11100).Modal, obj);
2026-07-20 16:05:17 +00:00
};