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
|
|
|
};
|