@@ -32,7 +32,8 @@ export default function Ecosystem({
32 marketplaces,
32 marketplaces,
33 organizations,
33 organizations,
35− articles
35+ articles,
37 const router = useRouter();
38 const router = useRouter();
@@ -53,6 +54,9 @@ export default function Ecosystem({
53 case "applications":
54 case "applications":
54 title = "Applications • Ecosystem";
55 title = "Applications • Ecosystem";
58+ title = "Communities • Ecosystem";
56 case "applications":
60 case "applications":
57 title = "Groups • Ecosystem";
61 title = "Groups • Ecosystem";
@@ -124,10 +128,9 @@ export default function Ecosystem({
124 {/* Ecosystem type layouts */}
128 {/* Ecosystem type layouts */}
126 className={classnames("grid gap-12 w-full", {
130 className={classnames("grid gap-12 w-full", {
127− "grid-cols-2 md:grid-cols-3": type == "organizations" || type == "marketplaces",
128 "grid-cols-1": type === "podcasts" || type === "articles",
131 "grid-cols-1": type === "podcasts" || type === "articles",
129 "grid-cols-1 md:grid-cols-1 lg:grid-cols-1 xl:grid-cols-2":
132 "grid-cols-1 md:grid-cols-1 lg:grid-cols-1 xl:grid-cols-2":
130− type === "applications" || type === "groups",
133+ type === "applications" || type === "groups" || type === "communities" || type === "organizations" || type === "marketplaces",
131 hidden: spotlight,
134 hidden: spotlight,
@@ -138,6 +141,9 @@ export default function Ecosystem({
138 {type === "applications" &&
141 {type === "applications" &&
139 <Applications dir={applications} />
142 <Applications dir={applications} />
144+ {type === "communities" &&
145+ <Communities dir={communities} />
141 {type === "groups" &&
147 {type === "groups" &&
142 <Groups dir={groups} />
148 <Groups dir={groups} />
@@ -161,16 +167,6 @@ export default function Ecosystem({
164−const Organizations = ({ dir }) => {
165− return dir.map((org) => (
166− <Link href={`/organizations/${org.slug}`}>
167− <div className="flex flex-col space-y-4 items-center cursor-pointer hover:opacity-90">
168− <img className="w-36 rounded-xl" src={org.image} />
169− <p className="text-center font-bold">{org.title}</p>
175const Applications = ({ dir }) => {
171const Applications = ({ dir }) => {
176 return dir.map((app) => (
172 return dir.map((app) => (
@@ -230,16 +226,6 @@ const Groups = ({ dir }) => {
233−const Marketplaces = ({ dir }) => {
234− return dir.map((market) => (
235− <Link href={`/marketplaces/${market.slug}`}>
236− <div className="flex flex-col space-y-4 justify-center items-center cursor-pointer hover:opacity-90">
237− <img className="w-36 rounded-xl" src={market.image} />
238− <p className="text-center font-bold">{market.title}</p>
244const Podcasts = ({ dir }) => {
230const Podcasts = ({ dir }) => {
245 return dir.map((pod) => (
231 return dir.map((pod) => (
@@ -279,6 +265,74 @@ const Articles = ({ dir }) => {
268+const Communities = ({ dir }) => {
269+ return dir.map((community) => (
270+ <Link href={`/communities/${community.slug}`}>
271+ <div className="flex space-x-4 items-center cursor-pointer hover:opacity-90">
272+ <div className="h-36 w-36 rounded-xl items-center justify-center shrink-0 overflow-hidden">
274+ className="items-center h-36 w-36"
275+ src={community.image}
279+ <p className="text-left font-bold">{community.title}</p>
280+ <p className="text-left text-wall-400 font-light">
281+ {community.description}
290+const Marketplaces = ({ dir }) => {
291+ return dir.map((market) => (
292+ <Link href={`/marketplaces/${market.slug}`}>
293+ <div className="flex space-x-4 items-center cursor-pointer hover:opacity-90">
294+ <div className="h-36 w-36 rounded-xl items-center justify-center shrink-0 overflow-hidden">
296+ className="items-center h-36 w-36"
301+ <p className="text-left font-bold">{market.title}</p>
302+ <p className="text-left text-wall-400 font-light">
303+ {market.description}
311+const Organizations = ({ dir }) => {
312+ return dir.map((org) => (
313+ <Link href={`/organizations/${org.slug}`}>
314+ <div className="flex space-x-4 items-center cursor-pointer hover:opacity-90">
315+ <div className="h-36 w-36 rounded-xl items-center justify-center shrink-0 overflow-hidden">
317+ className="items-center h-36 w-36"
322+ <p className="text-left font-bold">{org.title}</p>
323+ <p className="text-left text-wall-400 font-light">
283export async function getStaticProps() {
337export async function getStaticProps() {
284 const posts = getAllPosts(
338 const posts = getAllPosts(
@@ -292,6 +346,7 @@ export async function getStaticProps() {
294 const marketplaces = getAllPosts(["title", "image", "slug"], "marketplaces");
348 const marketplaces = getAllPosts(["title", "image", "slug"], "marketplaces");
349+ const communities = getAllPosts(["title", "image", "slug", "description"], "communities");
295 const podcasts = getAllPosts(
350 const podcasts = getAllPosts(
296 ["title", "image", "date", "podcast", "slug"],
351 ["title", "image", "date", "podcast", "slug"],
297 "podcasts",
352 "podcasts",
@@ -354,7 +409,8 @@ export async function getStaticProps() {
354 marketplaces,
409 marketplaces,
355 podcasts,
410 podcasts,
356 organizations,
411 organizations,
357− articles
412+ articles,