@@ -26,6 +26,8 @@ export default function Grant({ post, markdown, search, similarGrants }) {
2626 if (!router.isFallback && !post?.slug) {
2727 return <ErrorPage />;
2828 }
29+ const isOpen = !post?.extra?.completed && post?.extra?.assignee === "";
30+ const canApply = isOpen && post?.extra?.work_request_link;
2931
3032 return (
3133 <Container>
@@ -66,11 +68,17 @@ export default function Grant({ post, markdown, search, similarGrants }) {
6668 </div>
6769 </Section>
6870 <Section narrow className={markdownStyles["markdown"]}>
69− <article
70− dangerouslySetInnerHTML={{ __html: decode(markdown) }}
71− ></article>
71+ <article dangerouslySetInnerHTML={{ __html: decode(markdown) }} />
7272 </Section>
73−
73+ {canApply && (
74+ <a
75+ className="bg-green text-white badge-sm"
76+ href={post?.extra?.work_request_link}
77+ target="_blank"
78+ >
79+ Apply for this grant
80+ </a>
81+ )}
7482 <Section narrow className="flex flex-col">
7583 <h3 className="pb-8">Similar Grants</h3>
7684 {similarGrants.map((grant) => {