on master help sign in
application: rewrite to show related grant cards using GrantPreview
commit18db3857210d482783a5bdea038829c0af0bc0c8 authorMatilde Park <matilde.park@urbit.org> dateMon 7 Nov 2022, 11:57 (4 years ago) parent94c3352
1 file changed+13−11
pages/applications/[[...application]].js+13−11
pages/applications/[[...application]].js+13−11
@@ -19,9 +19,10 @@ import Gateway404 from "../../components/gateway/Gateway404";
1919import MetadataBlock from "../../components/gateway/MetadataBlock";
2020import MetadataLink from "../../components/gateway/MetadataLink";
2121import Description from "../../components/gateway/Description";
22−import { getGrantByShortcode } from "../../lib/lib";
22+import { getGrantsByShortcode } from "../../lib/lib";
23+import GrantPreview from "../../components/GrantPreview";
2324
24−const ApplicationPage = ({ data, markdown, organisation, matchedGrant, search, params }) => {
25+const ApplicationPage = ({ data, markdown, organisation, matchedGrants, search, params }) => {
2526 const { application } = params;
2627 if (!ob.isValidPatp(application[0])) {
2728 return <Gateway404 type="application" />;
@@ -103,19 +104,19 @@ const ApplicationPage = ({ data, markdown, organisation, matchedGrant, search, p
103104 className="basis-1/2 sm:basis-1/4"
104105 content={data.shortcode ? data.shortcode : data.title}
105106 />
106− {matchedGrant && <div className="basis-full flex flex-col space-y-1">
107− <p className="font-semibold text-wall-400">Grant Proposal</p>
108− <Link href={`/grants/${matchedGrant}`} passHref>
109− <a className="text-green-400 font-medium">urbit.org/grants/{matchedGrant}
110− </a>
111− </Link>
112− </div>}
113107 </div>
114108 <Description
115109 description={data.description}
116110 fallback="An application on Urbit."
117111 markdown={markdown}
118112 />
113+ <hr className="text-wall-200" />
114+ {matchedGrants && <div className="basis-full flex flex-col space-y-2">
115+ <p className="font-semibold text-wall-400">Related Grants</p>
116+ {matchedGrants.map((grant) => {
117+ return <GrantPreview grant={grant} />
118+ })}
119+ </div>}
119120
120121 <div class="bg-wall-100 py-4 px-6 border-2 border-wall-200 rounded-xl">
121122 <p class="text-sm text-wall-400">
@@ -180,7 +181,8 @@ export const getServerSideProps = async ({ params, res }) => {
180181 ? JSON.stringify(Markdown.parse({ post: { content } }))
181182 : null;
182183
183− const matchedGrant = getGrantByShortcode(params.application) || null;
184+ const matchedGrants = getGrantsByShortcode(params.application) || null;
185+
184186 if (!data.title) {
185187 data = {
186188 title: params.application?.join("/"),
@@ -193,7 +195,7 @@ export const getServerSideProps = async ({ params, res }) => {
193195 data,
194196 markdown,
195197 organisation,
196− matchedGrant,
198+ matchedGrants,
197199 params,
198200 },
199201 };