36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
// Metro module 12478 (f12479).
|
|
import RelationshipStore from "../../../../stores/RelationshipStore";
|
|
import { UserRowModes } from "../../../main_tabs_v2/native/shared_components/user_list/UserRowConstants";
|
|
export function buildReferralUserRow({ eligibleUsers, row, selectedUserIds, resendUsers, referralsRemaining, selectedNotResendUsers, onSelectUser }) {
|
|
const user = eligibleUsers[row];
|
|
if (user != null) {
|
|
let disabled = selectedNotResendUsers.length >= referralsRemaining;
|
|
const selected = selectedUserIds.includes(user.id);
|
|
const r23 = resendUsers.has(user.id);
|
|
const props = {
|
|
type: RelationshipStore.getRelationshipType(user.id),
|
|
user,
|
|
onPress: onSelectUser,
|
|
selected,
|
|
disabled: null,
|
|
mode: null,
|
|
start: null,
|
|
end: null
|
|
};
|
|
if (disabled) {
|
|
disabled = !selected;
|
|
}
|
|
if (disabled) {
|
|
disabled = !r23;
|
|
}
|
|
props.disabled = disabled;
|
|
props.mode = UserRowModes.TOGGLE;
|
|
props.start = row === 0;
|
|
props.end = row === eligibleUsers.length - 1;
|
|
return {
|
|
type: "user",
|
|
props
|
|
};
|
|
}
|
|
}
|