diff --git a/src/app/hack/[slug]/page.tsx b/src/app/hack/[slug]/page.tsx index 8464b58..d2d477a 100644 --- a/src/app/hack/[slug]/page.tsx +++ b/src/app/hack/[slug]/page.tsx @@ -20,7 +20,7 @@ import { MenuItem } from "@headlessui/react"; import { FaCircleCheck } from "react-icons/fa6"; import { RiArchiveStackFill } from "react-icons/ri"; import { TbProgressCheck } from "react-icons/tb"; -import { isInformationalArchiveHack, isDownloadableArchiveHack, isArchiveHack, checkEditPermission } from "@/utils/hack"; +import { isArchiveHack, checkEditPermission, checkPatchEditPermission } from "@/utils/hack"; import Avatar from "@/components/Account/Avatar"; import CollapsibleCard from "@/components/Primitives/CollapsibleCard"; import CollapsibleTags from "@/components/Hack/CollapsibleTags"; @@ -130,10 +130,12 @@ export default async function HackDetail({ params }: HackDetailProps) { isDownloadableArchive, isArchive, } = await checkEditPermission(hack, user?.id as string, supabase); - const canUploadPatch = canEdit && !isInformationalArchive; + const { + canEdit: canUploadPatch, + } = await checkPatchEditPermission(hack, user?.id as string, supabase); let isAdmin = false; - if ((!hack.approved && !canEdit) || isArchive) { + if (!hack.approved || isArchive) { const { data: admin } = await supabase.rpc("is_admin"); if (admin) { isAdmin = true; @@ -421,7 +423,7 @@ export default async function HackDetail({ params }: HackDetailProps) { )} - + {isAdmin && !hack.approved && (