Handle 400 error code when accesing a non public collection
This commit is contained in:
parent
2264abd384
commit
1b9dafbe47
|
@ -9,6 +9,8 @@ const getPublicCollectionData = async (
|
||||||
) => {
|
) => {
|
||||||
const res = await fetch("/api/v1/public/collections/" + collectionId);
|
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();
|
const data = await res.json();
|
||||||
|
|
||||||
setData(data.response);
|
setData(data.response);
|
||||||
|
|
|
@ -68,12 +68,15 @@ export default function PublicCollections() {
|
||||||
searchByTags: searchFilter.tags,
|
searchByTags: searchFilter.tags,
|
||||||
});
|
});
|
||||||
|
|
||||||
const [collection, setCollection] =
|
const [collection, setCollection] = useState<CollectionIncludingMembersAndLinkCount>();
|
||||||
useState<CollectionIncludingMembersAndLinkCount>();
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (router.query.id) {
|
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]);
|
}, [collections]);
|
||||||
|
|
||||||
|
@ -108,9 +111,8 @@ export default function PublicCollections() {
|
||||||
<div
|
<div
|
||||||
className="h-96"
|
className="h-96"
|
||||||
style={{
|
style={{
|
||||||
backgroundImage: `linear-gradient(${collection?.color}30 10%, ${
|
backgroundImage: `linear-gradient(${collection?.color}30 10%, ${settings.theme === "dark" ? "#262626" : "#f3f4f6"
|
||||||
settings.theme === "dark" ? "#262626" : "#f3f4f6"
|
} 13rem, ${settings.theme === "dark" ? "#171717" : "#ffffff"} 100%)`,
|
||||||
} 13rem, ${settings.theme === "dark" ? "#171717" : "#ffffff"} 100%)`,
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{collection ? (
|
{collection ? (
|
||||||
|
@ -181,20 +183,20 @@ export default function PublicCollections() {
|
||||||
|
|
||||||
<p className="text-neutral text-sm">
|
<p className="text-neutral text-sm">
|
||||||
{collection.members.length > 0 &&
|
{collection.members.length > 0 &&
|
||||||
collection.members.length === 1
|
collection.members.length === 1
|
||||||
? t("by_author_and_other", {
|
? 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,
|
author: collectionOwner.name,
|
||||||
count: collection.members.length,
|
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", {
|
: t("by_author", {
|
||||||
author: collectionOwner.name,
|
author: collectionOwner.name,
|
||||||
})}
|
})}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -218,11 +220,11 @@ export default function PublicCollections() {
|
||||||
placeholder={
|
placeholder={
|
||||||
collection._count?.links === 1
|
collection._count?.links === 1
|
||||||
? t("search_count_link", {
|
? t("search_count_link", {
|
||||||
count: collection._count?.links,
|
count: collection._count?.links,
|
||||||
})
|
})
|
||||||
: t("search_count_links", {
|
: t("search_count_links", {
|
||||||
count: collection._count?.links,
|
count: collection._count?.links,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</LinkListOptions>
|
</LinkListOptions>
|
||||||
|
|
Ŝarĝante…
Reference in New Issue