decord/source/modules/user_profile/native/UserProfileCard.tsx

151 lines
6.1 KiB
TypeScript
Raw Normal View History

2026-08-24 06:08:38 +00:00
// Module ID: 7223
// Function ID: 7224
2026-07-20 16:05:17 +00:00
// Name: Divider
2026-08-24 06:08:38 +00:00
// Dependencies: [19, 17, 7224, 21, 4668, 712, 5438, 4739, 6721, 1367, 2]
2026-07-20 16:05:17 +00:00
// Exports: UserProfileCardRows, UserProfileFormRow, default
2026-08-24 06:08:38 +00:00
// Module 7223 (Divider)
import ThemesDefault from "Themes" /* 712 */;
import useIsMobileVisualRefreshExperimentEnabledDefault from "useIsMobileVisualRefreshExperimentEnabled" /* 1367 */;
import Text from "Text" /* 4739 */;
import PressableBase from "PressableBase" /* 5438 */;
import ChevronSmallRightIcon from "ChevronSmallRightIcon" /* 6721 */;
import closure_3 from "noop" /* 19 */;
import { View } from "get ActivityIndicator" /* 17 */;
import ARBITRARY_LARGE_OFFSET from "ARBITRARY_LARGE_OFFSET" /* 7224 */;
import jsxProd from "jsxProd" /* 21 */;
import createCacheKey from "createCacheKey" /* 4668 */;
2026-07-23 10:11:24 +00:00
2026-08-24 06:08:38 +00:00
require = arg1;
2026-07-20 16:05:17 +00:00
function Divider() {
2026-08-24 06:08:38 +00:00
return callback(View, { style: callback2().rowDivider });
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
({ CARD_ROWS_COLUMN_GAP, CARD_ROWS_ICON_SIZE, CARD_ROWS_ICON_SIZE_VARIANT: c5, CARD_PADDING } = ARBITRARY_LARGE_OFFSET);
2026-08-24 06:08:38 +00:00
({ jsx: closure_6, jsxs: error, Fragment: closure_8 } = jsxProd);
2026-07-29 08:29:29 +00:00
createCacheKey = { title: null, titleContent: null, text: null, rowDivider: null, row: null, rowLabel: null, rowLabelText: null, rowSublabel: null };
2026-08-24 06:08:38 +00:00
createCacheKey = { marginBottom: ThemesDefault.space.PX_12, flexDirection: "row", alignItems: "center", gap: ThemesDefault.space.PX_4 };
2026-07-29 08:29:29 +00:00
createCacheKey[0] = createCacheKey;
2026-08-24 06:08:38 +00:00
createCacheKey[1] = { flex: 1, flexDirection: "row", alignItems: "center", gap: ThemesDefault.space.PX_4 };
2026-07-29 08:29:29 +00:00
createCacheKey[2] = { flexShrink: 1 };
2026-08-24 06:08:38 +00:00
let obj1 = { flex: 1, flexDirection: "row", alignItems: "center", gap: ThemesDefault.space.PX_4 };
createCacheKey[3] = { borderBottomWidth: 1, borderBottomColor: ThemesDefault.colors.BORDER_SUBTLE, marginLeft: CARD_ROWS_ICON_SIZE + CARD_ROWS_COLUMN_GAP, marginRight: -CARD_PADDING };
2026-07-29 08:29:29 +00:00
createCacheKey[4] = { flexDirection: "column", paddingVertical: 20 };
createCacheKey[5] = { flexDirection: "row", alignItems: "center", columnGap: CARD_ROWS_COLUMN_GAP };
createCacheKey[6] = { flex: 1, lineHeight: CARD_ROWS_ICON_SIZE };
createCacheKey[7] = { marginHorizontal: CARD_ROWS_ICON_SIZE + CARD_ROWS_COLUMN_GAP };
2026-08-24 06:08:38 +00:00
let closure_9 = createCacheKey.createStyles(createCacheKey);
let obj2 = { borderBottomWidth: 1, borderBottomColor: ThemesDefault.colors.BORDER_SUBTLE, marginLeft: CARD_ROWS_ICON_SIZE + CARD_ROWS_COLUMN_GAP, marginRight: -CARD_PADDING };
const result = require("set").fileFinishedImporting("modules/user_profile/native/UserProfileCard.tsx");
2026-07-20 16:05:17 +00:00
2026-07-22 07:54:56 +00:00
export default function UserProfileCard(arg0) {
({ title, trailingAction } = arg0);
2026-07-23 10:11:24 +00:00
({ titleLeadingIcon, titleIcon, titleStyle, children, style } = arg0);
2026-07-29 08:29:29 +00:00
const merged = Object.assign(arg0, Object.create(null));
2026-08-24 06:08:38 +00:00
const tmp2 = callback2();
const tmp4 = useIsMobileVisualRefreshExperimentEnabledDefault("UserProfileCard");
2026-07-29 08:29:29 +00:00
let obj = { style };
2026-07-20 16:05:17 +00:00
const merged1 = Object.assign(merged);
2026-07-29 08:29:29 +00:00
let tmp5Result = null != title || null != trailingAction;
if (tmp5Result) {
obj = { style: null, children: null };
const items = [tmp2.title, titleStyle];
obj[0] = items;
tmp5Result = null != title;
if (tmp5Result) {
obj = { style: null, children: null };
obj[0] = tmp2.titleContent;
2026-07-23 10:11:24 +00:00
const items1 = [titleLeadingIcon, , ];
2026-08-24 06:08:38 +00:00
obj1 = { style: null, accessibilityRole: "header", variant: null, color: null, lineClamp: 1, children: null };
2026-07-29 08:29:29 +00:00
obj1[0] = tmp2.text;
let str = "text-sm/semibold";
2026-07-22 07:54:56 +00:00
if (tmp4) {
2026-07-29 08:29:29 +00:00
str = "text-sm/medium";
2026-07-22 07:54:56 +00:00
}
2026-07-29 08:29:29 +00:00
obj1[2] = str;
let str2 = "text-default";
2026-07-22 07:54:56 +00:00
if (tmp4) {
2026-07-29 08:29:29 +00:00
str2 = "text-strong";
2026-07-22 07:54:56 +00:00
}
2026-07-29 08:29:29 +00:00
obj1[3] = str2;
obj1[5] = title;
2026-08-24 06:08:38 +00:00
items1[1] = closure_6(Text.Text, obj1);
2026-07-23 10:11:24 +00:00
items1[2] = titleIcon;
2026-07-29 08:29:29 +00:00
obj[1] = items1;
tmp5Result = tmp5(tmp6, obj);
const tmp10 = closure_6;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const items2 = [tmp5Result, trailingAction];
obj[1] = items2;
tmp5Result = tmp5(tmp6, obj);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const items3 = [tmp5Result, children];
obj.children = items3;
2026-07-20 16:05:17 +00:00
return closure_7(View, obj);
};
export const UserProfileFormRow = function UserProfileFormRow(arg0) {
({ label, sublabel, hint, isDestructive, labelColor, arrow } = arg0);
({ icon, disabled, onPress } = arg0);
2026-07-29 08:29:29 +00:00
if (tmp6Result === undefined) {
tmp6Result = false;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
const tmp = callback2();
2026-07-20 16:05:17 +00:00
let str;
if (isDestructive) {
str = "text-feedback-critical";
}
let str2 = "mobile-text-heading-primary";
if (isDestructive) {
str2 = "text-feedback-critical";
}
2026-07-29 08:29:29 +00:00
let obj = { style: tmp.row, accessibilityRole: "button", accessibilityLabel: label, disabled, onPress, children: null };
obj = { style: tmp.rowLabel, children: null };
2026-07-20 16:05:17 +00:00
obj = { size: closure_5, color: str };
const items = [callback(icon, obj), , , ];
2026-07-29 08:29:29 +00:00
if (labelColor == null) {
labelColor = str2;
2026-07-20 16:05:17 +00:00
}
2026-08-24 06:08:38 +00:00
items[1] = callback(Text.Text, { variant: "text-md/semibold", color: labelColor, style: tmp.rowLabelText, children: label });
2026-07-29 08:29:29 +00:00
tmp6Result = null != hint;
if (tmp6Result) {
const obj2 = { size: null, color: null };
obj2[0] = closure_5;
obj2[1] = str;
tmp6Result = tmp6(hint, obj2);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
items[2] = tmp6Result;
if (tmp6Result) {
2026-08-24 06:08:38 +00:00
tmp6Result = tmp6(ChevronSmallRightIcon.ChevronSmallRightIcon, { size: "sm" });
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
items[3] = tmp6Result;
obj[1] = items;
2026-07-20 16:05:17 +00:00
const items1 = [closure_7(View, obj), ];
2026-07-29 08:29:29 +00:00
let tmp6Result1 = null != sublabel;
if (tmp6Result1) {
const obj3 = { style: null, children: null };
obj3[0] = tmp.rowSublabel;
obj3[1] = sublabel;
tmp6Result1 = tmp6(tmp5, obj3);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
items1[1] = tmp6Result1;
obj[5] = items1;
2026-08-24 06:08:38 +00:00
return closure_7(PressableBase.PressableOpacity, obj);
2026-07-20 16:05:17 +00:00
};
export const UserProfileCardRows = function UserProfileCardRows(children) {
2026-08-24 06:08:38 +00:00
closure_0 = undefined;
closure_0 = useIsMobileVisualRefreshExperimentEnabledDefault("UserProfileCardRows");
2026-07-20 16:05:17 +00:00
const Children = React.Children;
return callback(closure_8, {
children: Children.map(children.children, (arg0, arg1) => {
let tmp2 = null;
if (!closure_0) {
tmp2 = null;
if (0 !== arg1) {
2026-08-24 06:08:38 +00:00
tmp2 = closure_1_6(closure_1_10, {});
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
const children = [tmp2, arg0];
2026-08-24 06:08:38 +00:00
return closure_1_7(closure_1_3.Fragment, { children }, arg1);
2026-07-20 16:05:17 +00:00
})
});
};