diff --git a/components/Dashboard/CollectionItem.tsx b/components/Dashboard/CollectionItem.tsx index eca3e5d9..5afd8a5b 100644 --- a/components/Dashboard/CollectionItem.tsx +++ b/components/Dashboard/CollectionItem.tsx @@ -18,7 +18,10 @@ export default function ({ collection }: { collection: ExtendedCollection }) { }); return ( - +
New Collection
+New Collection
-
- Name
-
+ Name
+
Description
- - setNewCollection({ ...newCollection, description: e.target.value }) - } - type="text" - placeholder="Collection description" - className="w-56 sm:w-96 rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" - /> +Description
+ + setNewCollection({ + ...newCollection, + description: e.target.value, + }) + } + type="text" + placeholder="Collection description" + className="w-full rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" + /> +Members
- { - setMemberEmail(e.target.value); - }} - onKeyDown={async (e) => { - const checkIfMemberAlreadyExists = newCollection.members.find( - (e) => e.email === memberEmail - ); +Members
+ { + setMemberEmail(e.target.value); + }} + onKeyDown={async (e) => { + const checkIfMemberAlreadyExists = newCollection.members.find( + (e) => e.email === memberEmail + ); - const ownerEmail = session.data?.user.email; + const ownerEmail = session.data?.user.email; - if ( - e.key === "Enter" && - // no duplicate members - !checkIfMemberAlreadyExists && - // member can't be empty - memberEmail.trim() !== "" && - // member can't be the owner - memberEmail.trim() !== ownerEmail - ) { - // Lookup, get data/err, list ... - const user = await getUserByEmail(memberEmail.trim()); + if ( + e.key === "Enter" && + // no duplicate members + !checkIfMemberAlreadyExists && + // member can't be empty + memberEmail.trim() !== "" && + // member can't be the owner + memberEmail.trim() !== ownerEmail + ) { + // Lookup, get data/err, list ... + const user = await getUserByEmail(memberEmail.trim()); - if (user.email) { - const newMember = { - name: user.name, - email: user.email, - canCreate: false, - canUpdate: false, - canDelete: false, - }; + if (user.email) { + const newMember = { + name: user.name, + email: user.email, + canCreate: false, + canUpdate: false, + canDelete: false, + }; - setNewCollection({ - ...newCollection, - members: [...newCollection.members, newMember], - }); + setNewCollection({ + ...newCollection, + members: [...newCollection.members, newMember], + }); - setMemberEmail(""); - } + setMemberEmail(""); } - }} - type="text" - placeholder="Email" - className="w-56 sm:w-96 rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" - /> -diff --git a/components/Modal/AddLink.tsx b/components/Modal/AddLink.tsx index ccdfc77a..e5f8bbcf 100644 --- a/components/Modal/AddLink.tsx +++ b/components/Modal/AddLink.tsx @@ -75,56 +75,62 @@ export default function AddLink({ toggleLinkModal }: Props) { if (response) toggleLinkModal(); }; + return ( -
New Link
-
- Name
-
+ Name
+
- URL
-
+ URL
+
- Collection
-
+ Collection
+
Tags
-Tags
+Edit Collection
-
- Name
-
+ Name
+
Description
- - setActiveCollection({ - ...activeCollection, - description: e.target.value, - }) - } - type="text" - placeholder="Collection description" - className="w-56 sm:w-96 rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" - /> +Description
+ + setActiveCollection({ + ...activeCollection, + description: e.target.value, + }) + } + type="text" + placeholder="Collection description" + className="w-full rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" + /> +Members
- { - setMemberEmail(e.target.value); - }} - onKeyDown={async (e) => { - const checkIfMemberAlreadyExists = activeCollection.members.find( - (e) => e.user.email === memberEmail - ); +Members
+ { + setMemberEmail(e.target.value); + }} + onKeyDown={async (e) => { + const checkIfMemberAlreadyExists = activeCollection.members.find( + (e) => e.user.email === memberEmail + ); - const ownerEmail = session.data?.user.email; + const ownerEmail = session.data?.user.email; - if ( - e.key === "Enter" && - // no duplicate members - !checkIfMemberAlreadyExists && - // member can't be empty - memberEmail.trim() !== "" && - // member can't be the owner - memberEmail.trim() !== ownerEmail - ) { - // Lookup, get data/err, list ... - const user = await getPublicUserDataByEmail(memberEmail.trim()); + if ( + e.key === "Enter" && + // no duplicate members + !checkIfMemberAlreadyExists && + // member can't be empty + memberEmail.trim() !== "" && + // member can't be the owner + memberEmail.trim() !== ownerEmail + ) { + // Lookup, get data/err, list ... + const user = await getPublicUserDataByEmail(memberEmail.trim()); - if (user.email) { - const newMember = { - collectionId: activeCollection.id, - userId: user.id, - canCreate: false, - canUpdate: false, - canDelete: false, - user: { - name: user.name, - email: user.email, - }, - }; + if (user.email) { + const newMember = { + collectionId: activeCollection.id, + userId: user.id, + canCreate: false, + canUpdate: false, + canDelete: false, + user: { + name: user.name, + email: user.email, + }, + }; - setActiveCollection({ - ...activeCollection, - members: [...activeCollection.members, newMember], - }); + setActiveCollection({ + ...activeCollection, + members: [...activeCollection.members, newMember], + }); - setMemberEmail(""); - } + setMemberEmail(""); } - }} - type="text" - placeholder="Email" - className="w-56 sm:w-96 rounded-md p-3 border-sky-100 border-solid border outline-none focus:border-sky-500 duration-100" - /> -diff --git a/components/Modal/EditLink.tsx b/components/Modal/EditLink.tsx index c0859002..e35d42d9 100644 --- a/components/Modal/EditLink.tsx +++ b/components/Modal/EditLink.tsx @@ -53,44 +53,47 @@ export default function EditLink({ toggleLinkModal, link }: Props) {
{shortendURL} | {link.title}
-
- Name
-
- Collection
-
+ Name
+
Tags
-
+ Collection
+
Tags
+Settings
+ +
+ Name
+
Linkwarden
setForm({ ...form, name: e.target.value })} className="border border-gray-700 rounded-md block m-2 mx-auto p-2" diff --git a/pages/tags/[id].tsx b/pages/tags/[id].tsx index f1e14afb..c9c8a89f 100644 --- a/pages/tags/[id].tsx +++ b/pages/tags/[id].tsx @@ -21,9 +21,6 @@ export default function () { const { links } = useLinkStore(); const { tags } = useTagStore(); - const [linkModal, setLinkModal] = useState(false); - const [editCollectionModal, setEditCollectionModal] = useState(false); - const [deleteCollectionModal, setDeleteCollectionModal] = useState(false); const [sortDropdown, setSortDropdown] = useState(false); const [sortBy, setSortBy] = useState("Name (A-Z)"); diff --git a/store/tags.ts b/store/tags.ts index e4d364f4..b2a22c4f 100644 --- a/store/tags.ts +++ b/store/tags.ts @@ -5,6 +5,7 @@ import { create } from "zustand"; import { Tag } from "@prisma/client"; +import tags from "@/pages/api/routes/tags"; type TagStore = { tags: Tag[];