diff --git a/lib/client/getPublicCollectionData.ts b/lib/client/getPublicCollectionData.ts index 283733b..85deea6 100644 --- a/lib/client/getPublicCollectionData.ts +++ b/lib/client/getPublicCollectionData.ts @@ -9,6 +9,8 @@ const getPublicCollectionData = async ( ) => { const res = await fetch("/api/v1/public/collections/" + collectionId); + if (res.status === 400) return { response: "Collection not found.", status: 400 }; + const data = await res.json(); setData(data.response); diff --git a/pages/public/collections/[id].tsx b/pages/public/collections/[id].tsx index 47e074f..efe0554 100644 --- a/pages/public/collections/[id].tsx +++ b/pages/public/collections/[id].tsx @@ -68,12 +68,15 @@ export default function PublicCollections() { searchByTags: searchFilter.tags, }); - const [collection, setCollection] = - useState(); + const [collection, setCollection] = useState(); useEffect(() => { if (router.query.id) { - getPublicCollectionData(Number(router.query.id), setCollection); + getPublicCollectionData(Number(router.query.id), setCollection).then((res) => { + if (res.status === 400) { + router.push("/dashboard"); + } + }) } }, [collections]); @@ -108,9 +111,8 @@ export default function PublicCollections() {
{collection ? ( @@ -181,20 +183,20 @@ export default function PublicCollections() {

{collection.members.length > 0 && - collection.members.length === 1 + collection.members.length === 1 ? t("by_author_and_other", { + author: collectionOwner.name, + count: collection.members.length, + }) + : collection.members.length > 0 && + collection.members.length !== 1 + ? t("by_author_and_others", { author: collectionOwner.name, count: collection.members.length, }) - : collection.members.length > 0 && - collection.members.length !== 1 - ? t("by_author_and_others", { - author: collectionOwner.name, - count: collection.members.length, - }) : t("by_author", { - author: collectionOwner.name, - })} + author: collectionOwner.name, + })}

@@ -218,11 +220,11 @@ export default function PublicCollections() { placeholder={ collection._count?.links === 1 ? t("search_count_link", { - count: collection._count?.links, - }) + count: collection._count?.links, + }) : t("search_count_links", { - count: collection._count?.links, - }) + count: collection._count?.links, + }) } />