@@ -10,6 +10,7 @@ import SingleColumn from "../components/SingleColumn";
10import BackgroundImage from "../components/BackgroundImage";
10import BackgroundImage from "../components/BackgroundImage";
11import TabCarousel from "../components/TabCarousel";
11import TabCarousel from "../components/TabCarousel";
12import Section from "../components/Section";
12import Section from "../components/Section";
13+import PostPreview from "../components/PostPreview";
13import GrantPreview from "../components/GrantPreview";
14import GrantPreview from "../components/GrantPreview";
15 getAllPosts,
16 getAllPosts,
@@ -67,6 +68,7 @@ export default function Grants({
68 featuredGrants,
69 featuredGrants,
71 const [activeTags, setTags] = useState([]);
73 const [activeTags, setTags] = useState([]);
72 const [activeTypes, setTypes] = useState(types);
74 const [activeTypes, setTypes] = useState(types);
@@ -177,11 +179,37 @@ export default function Grants({
177 // Gift Grants
179 // Gift Grants
179 <Section wide>
181 <Section wide>
180− <div className="measure pb-16">
182+ <div className="pb-16">
181 <h2 className="pb-16">Gifts</h2>
183 <h2 className="pb-16">Gifts</h2>
182 <p className="mb-8">
184 <p className="mb-8">
183− Gifts are given post facto for exceptional contributions.
185+ Gifts are given post-facto for exceptional contributions.
187+ <div className="flex flex-wrap">
190+ className={`w-full md:w-1/2 pr-0 pb-8 md:pr-4`}
192+ section={gifts[0].section}
196+ className={`w-full md:w-1/2 pl-0 pb-8 md:pl-4`}
198+ section={gifts[1].section}
202+ className={`w-full md:w-1/2 pr-0 pb-8 md:pr-4`}
204+ section={gifts[2].section}
208+ className={`w-full md:w-1/2 pl-0 pb-8 md:pl-4`}
210+ section={gifts[3].section}
186 </Section>
214 </Section>
@@ -291,6 +319,20 @@ export async function getStaticProps() {
291 ["title", "slug", "date", "description", "extra", "taxonomies"],
319 ["title", "slug", "date", "description", "extra", "taxonomies"],
322+ let gifts = getAllPosts(
323+ ["title", "slug", "date", "description", "extra", "taxonomies"],
326+ gifts.map((e) => (e.section = "blog"));
327+ let updates = getAllPosts(
328+ ["title", "slug", "date", "description", "extra", "taxonomies"],
331+ updates.map((e) => (e.section = "updates"));
332+ gifts.push(...updates);
334+ .filter((e) => e?.taxonomies?.grant_type?.includes("Gift"))
335+ .sort((a, b) => (a.date > b.date ? -1 : 1));
295 // The layout expects exactly 3
337 // The layout expects exactly 3
296 const featuredGrants = [
338 const featuredGrants = [
@@ -302,6 +344,6 @@ export async function getStaticProps() {
305− props: { posts: posts, categories, types, featuredGrants },
347+ props: { posts: posts, categories, types, featuredGrants, gifts },