This commit is contained in:
Tom Moor
2022-09-11 15:27:19 +01:00
parent 0587968f8b
commit afc7fb5f1d
2 changed files with 33 additions and 23 deletions

View File

@@ -12,9 +12,10 @@ import useStores from "~/hooks/useStores";
type Props = {
collection: Collection;
limit?: number;
};
const MembershipPreview = ({ collection }: Props) => {
const MembershipPreview = ({ collection, limit = 8 }: Props) => {
const [isLoading, setIsLoading] = React.useState(false);
const [totalMemberships, setTotalMemberships] = React.useState(0);
const { t } = useTranslation();
@@ -32,7 +33,7 @@ const MembershipPreview = ({ collection }: Props) => {
try {
const options = {
id: collection.id,
limit: 8,
limit,
};
const [users, groups] = await Promise.all([
memberships.fetchPage(options),
@@ -52,6 +53,7 @@ const MembershipPreview = ({ collection }: Props) => {
collection.id,
collectionGroupMemberships,
memberships,
limit,
]);
if (isLoading || collection.permission) {
@@ -72,7 +74,7 @@ const MembershipPreview = ({ collection }: Props) => {
height="auto"
>
<Fade>
<Facepile users={collectionUsers} overflow={overflow} />
<Facepile users={collectionUsers} overflow={overflow} limit={limit} />
</Fade>
</NudeButton>
);

View File

@@ -316,21 +316,25 @@ router.post(
where = { ...where, permission };
}
const options = {
where,
include: [
{
model: Group,
as: "group",
where: groupWhere,
required: true,
},
],
};
const [total, memberships] = await Promise.all([
CollectionGroup.count({ where }),
CollectionGroup.count(options),
CollectionGroup.findAll({
where,
...options,
order: [["createdAt", "DESC"]],
offset: ctx.state.pagination.offset,
limit: ctx.state.pagination.limit,
include: [
{
model: Group,
as: "group",
where: groupWhere,
required: true,
},
],
}),
]);
@@ -461,21 +465,25 @@ router.post("collections.memberships", auth(), pagination(), async (ctx) => {
where = { ...where, permission };
}
const options = {
where,
include: [
{
model: User,
as: "user",
where: userWhere,
required: true,
},
],
};
const [total, memberships] = await Promise.all([
CollectionUser.count({ where }),
CollectionUser.count(options),
CollectionUser.findAll({
where,
...options,
order: [["createdAt", "DESC"]],
offset: ctx.state.pagination.offset,
limit: ctx.state.pagination.limit,
include: [
{
model: User,
as: "user",
where: userWhere,
required: true,
},
],
}),
]);