Apply prettier formatting
This commit is contained in:
parent
1cac306093
commit
526645c791
1576 changed files with 65385 additions and 62478 deletions
|
@ -35,55 +35,63 @@ interface IProps extends HTMLAttributes<HTMLSpanElement> {
|
|||
numShown?: number;
|
||||
}
|
||||
|
||||
const RoomFacePile: FC<IProps> = (
|
||||
{ room, onlyKnownUsers = true, numShown = DEFAULT_NUM_FACES, ...props },
|
||||
) => {
|
||||
const RoomFacePile: FC<IProps> = ({ room, onlyKnownUsers = true, numShown = DEFAULT_NUM_FACES, ...props }) => {
|
||||
const cli = useContext(MatrixClientContext);
|
||||
const isJoined = room.getMyMembership() === "join";
|
||||
let members = useRoomMembers(room);
|
||||
const count = members.length;
|
||||
|
||||
// sort users with an explicit avatar first
|
||||
const iteratees = [member => member.getMxcAvatarUrl() ? 0 : 1];
|
||||
const iteratees = [(member) => (member.getMxcAvatarUrl() ? 0 : 1)];
|
||||
if (onlyKnownUsers) {
|
||||
members = members.filter(isKnownMember);
|
||||
} else {
|
||||
// sort known users first
|
||||
iteratees.unshift(member => isKnownMember(member) ? 0 : 1);
|
||||
iteratees.unshift((member) => (isKnownMember(member) ? 0 : 1));
|
||||
}
|
||||
|
||||
// exclude ourselves from the shown members list
|
||||
const shownMembers = sortBy(members.filter(m => m.userId !== cli.getUserId()), iteratees).slice(0, numShown);
|
||||
const shownMembers = sortBy(
|
||||
members.filter((m) => m.userId !== cli.getUserId()),
|
||||
iteratees,
|
||||
).slice(0, numShown);
|
||||
if (shownMembers.length < 1) return null;
|
||||
|
||||
// We reverse the order of the shown faces in CSS to simplify their visual overlap,
|
||||
// reverse members in tooltip order to make the order between the two match up.
|
||||
const commaSeparatedMembers = shownMembers.map(m => m.name).reverse().join(", ");
|
||||
const commaSeparatedMembers = shownMembers
|
||||
.map((m) => m.name)
|
||||
.reverse()
|
||||
.join(", ");
|
||||
|
||||
const tooltip = <div>
|
||||
<div className="mx_Tooltip_title">
|
||||
{ props.onClick
|
||||
? _t("View all %(count)s members", { count })
|
||||
: _t("%(count)s members", { count }) }
|
||||
const tooltip = (
|
||||
<div>
|
||||
<div className="mx_Tooltip_title">
|
||||
{props.onClick ? _t("View all %(count)s members", { count }) : _t("%(count)s members", { count })}
|
||||
</div>
|
||||
<div className="mx_Tooltip_sub">
|
||||
{isJoined
|
||||
? _t("Including you, %(commaSeparatedMembers)s", { commaSeparatedMembers })
|
||||
: _t("Including %(commaSeparatedMembers)s", { commaSeparatedMembers })}
|
||||
</div>
|
||||
</div>
|
||||
<div className="mx_Tooltip_sub">
|
||||
{ isJoined
|
||||
? _t("Including you, %(commaSeparatedMembers)s", { commaSeparatedMembers })
|
||||
: _t("Including %(commaSeparatedMembers)s", { commaSeparatedMembers }) }
|
||||
</div>
|
||||
</div>;
|
||||
);
|
||||
|
||||
return <FacePile
|
||||
members={shownMembers}
|
||||
faceSize={28}
|
||||
overflow={members.length > numShown}
|
||||
tooltip={tooltip}
|
||||
{...props}
|
||||
>
|
||||
{ onlyKnownUsers && <span className="mx_FacePile_summary">
|
||||
{ _t("%(count)s people you know have already joined", { count: members.length }) }
|
||||
</span> }
|
||||
</FacePile>;
|
||||
return (
|
||||
<FacePile
|
||||
members={shownMembers}
|
||||
faceSize={28}
|
||||
overflow={members.length > numShown}
|
||||
tooltip={tooltip}
|
||||
{...props}
|
||||
>
|
||||
{onlyKnownUsers && (
|
||||
<span className="mx_FacePile_summary">
|
||||
{_t("%(count)s people you know have already joined", { count: members.length })}
|
||||
</span>
|
||||
)}
|
||||
</FacePile>
|
||||
);
|
||||
};
|
||||
|
||||
export default RoomFacePile;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue