From 78f3d449bc01138f82063a4d17dfad1f8f77da40 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 17 Jul 2023 23:31:26 -0400 Subject: [PATCH] collection owner is now visible to other users --- .../Modal/Collection/TeamManagement.tsx | 47 +++++++++++++++++-- lib/api/controllers/users/getUsers.ts | 20 +++++--- lib/client/addMemberToCollection.ts | 8 ++-- lib/client/getPublicUserData.ts | 21 +++++++++ lib/client/getPublicUserDataByUsername.ts | 13 ----- pages/api/routes/users/index.ts | 19 +++++++- 6 files changed, 100 insertions(+), 28 deletions(-) create mode 100644 lib/client/getPublicUserData.ts delete mode 100644 lib/client/getPublicUserDataByUsername.ts diff --git a/components/Modal/Collection/TeamManagement.tsx b/components/Modal/Collection/TeamManagement.tsx index 6874603..57d42ed 100644 --- a/components/Modal/Collection/TeamManagement.tsx +++ b/components/Modal/Collection/TeamManagement.tsx @@ -1,7 +1,8 @@ -import { Dispatch, SetStateAction, useState } from "react"; +import { Dispatch, SetStateAction, useEffect, useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faClose, + faCrown, faPenToSquare, faPlus, faUserPlus, @@ -15,6 +16,7 @@ import SubmitButton from "@/components/SubmitButton"; import ProfilePhoto from "@/components/ProfilePhoto"; import usePermissions from "@/hooks/usePermissions"; import { toast } from "react-hot-toast"; +import getPublicUserData from "@/lib/client/getPublicUserData"; type Props = { toggleCollectionModal: Function; @@ -47,6 +49,21 @@ export default function TeamManagement({ }, }); + const [collectionOwner, setCollectionOwner] = useState({ + id: null, + name: "", + username: "", + }); + + useEffect(() => { + const fetchOwner = async () => { + const owner = await getPublicUserData({ id: collection.ownerId }); + setCollectionOwner(owner); + }; + + fetchOwner(); + }, []); + const { addCollection, updateCollection } = useCollectionStore(); const session = useSession(); @@ -163,7 +180,7 @@ export default function TeamManagement({ ) } type="text" - placeholder="Username" + placeholder="Username (without the '@')" className="w-full rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" /> @@ -225,7 +242,7 @@ export default function TeamManagement({

{e.user.name}

-

{e.user.username}

+

@{e.user.username}

@@ -397,6 +414,30 @@ export default function TeamManagement({ )} +
+
+ +
+
+

+ {collectionOwner.name} +

+ +
+

@{collectionOwner.username}

+
+
+
+ {permissions === true && (