Files
discord-decomp/modules/parent_tools/native/FamilyCenterTopUsersBottomSheet.tsx
T
2026-11-01 12:12:55 +02:00

39 lines
1.8 KiB
TypeScript

// Metro module 13928 (f13929).
import UserStore from "../../../stores/UserStore";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import { getTopUserOrGuildDescription } from "../FamilyCenterUtils";
import { TableRow } from "../../../design/components/TableRow/native/TableRow.native";
import UserUtils from "../../../utils/UserUtils";
import { Avatar, AvatarSizes } from "../../../design/void/native";
import { ActionSheet } from "../../../design/components/Sheet/native/ActionSheet.native";
import { Text } from "../../../design/components/Text/native/Text";
import { intl } from "../../../intl/index.native";
import FamilyCenter_messages from "../FamilyCenter.messages";
import { TableRowGroup } from "../../../design/components/TableRow/native/TableRowGroup.native";
let useStyles;
const UserRow = function UserRow(props) {
const userActivity = props.userActivity;
const user = UserStore.getUser(userActivity.user_id);
if (user == null) {
return null;
}
const topUserOrGuildDescription = getTopUserOrGuildDescription(userActivity.dms_sent, userActivity.call_count);
return <TableRow label={UserUtils.getName(user)} subLabel={topUserOrGuildDescription} icon={<Avatar size={AvatarSizes.SMALL} user={user} guildId={void 0} />} />;
};
useStyles = createStyles({
header: {
textAlign: "center"
}
});
export default function FamilyCenterTopUsersBottomSheet(props) {
const topUserActivities = props.topUserActivities;
return <ActionSheet>
<Text variant="text-md/bold" style={useStyles().header}>
{intl.string(FamilyCenter_messages.BxbvS7)}
</Text>
<TableRowGroup hasIcons>
{topUserActivities.map((topUserActivity) => <UserRow key={topUserActivity.user_id} userActivity={topUserActivity} />)}
</TableRowGroup>
</ActionSheet>;
};