1
0
Fork 0

feat: enable and improve relations/server list

lea-dev
Lea 2023-10-03 14:35:45 +02:00 committed by insert
parent 20579c9ebb
commit 5b0bc0d36a
3 changed files with 29 additions and 9 deletions

View File

@ -57,12 +57,10 @@ export default async function User({
const relevantUsers = await fetchUsersById([
...botIds,
...(
user.relations?.filter((relation) => relation.status === "Friend") ?? []
user.relations ?? []
).map((relation) => relation._id),
]);
relevantUsers.sort((a) => (a.bot ? -1 : 0));
// Fetch server memberships
const serverMemberships = await fetchMembershipsByUser(user._id).catch(
() => []

View File

@ -18,12 +18,24 @@ export function RelevantObjects({
return (
<div className="flex gap-2">
<div className="flex-1 min-w-0 flex flex-col gap-2">
<h2 className="text-md text-center pb-2">Bots & Friends</h2>
<h2 className="text-md text-center pb-2">Bots & Relations</h2>
<ListCompactor
data={users}
data={[
// for whatever fucking reason nextjs threw a bunch of errors at me
// when i used .sort() here but i guess this works well enough..?
...users.filter((user) => user.bot?.owner == userId),
...users.filter((user) => user.bot?.owner != userId),
]}
Component={({ item }) => (
<Link href={`/panel/inspect/user/${item._id}`}>
<UserCard user={item} subtitle="" />
<UserCard
user={item}
subtitle={
item.bot?.owner == userId
? "Owned bot"
: item.relations?.find((relation) => relation._id == userId)?.status || ""
}
/>
</Link>
)}
/>
@ -31,12 +43,21 @@ export function RelevantObjects({
<div className="flex-1 min-w-0 flex flex-col gap-2">
<h2 className="text-md text-center pb-2">Servers</h2>
<ListCompactor
data={servers}
// same as above
data={[
...servers.filter((server) => userId == server.owner),
...servers.filter((server) => userId != server.owner),
]}
Component={({ item }) => (
<Link href={`/panel/inspect/server/${item._id}`}>
<ServerCard
server={item}
subtitle={userId === item.owner ? "Server Owner" : ""}
subtitle={
[
userId === item.owner ? "Server Owner" : null,
item.discoverable ? "Discoverable" : null,
].filter(i => i).join(" · ")
}
/>
</Link>
)}

View File

@ -175,7 +175,8 @@ const PermissionSets = {
"bots/update/owner",
// "messages/fetch/by-user",
// "users/fetch/memberships",
"users/fetch/memberships",
"users/fetch/relations",
"servers/fetch",
"messages/fetch/by-id",