diff --git a/app/routes/index.tsx b/app/routes/index.tsx
index e37e3d046..1efaf18cf 100644
--- a/app/routes/index.tsx
+++ b/app/routes/index.tsx
@@ -14,8 +14,11 @@ import { databaseTimestampToDate } from "~/utils/dates";
import { discordFullName } from "~/utils/strings";
import {
articlePage,
+ BADGES_PAGE,
calendarEventPage,
CALENDAR_PAGE,
+ navIconUrl,
+ plusSuggestionPage,
userPage,
} from "~/utils/urls";
import { Tags } from "./calendar/components/Tags";
@@ -45,6 +48,23 @@ export default function Index() {
+
+
More features
+
+
+
+
+
);
}
@@ -71,7 +91,7 @@ function GoToPageBanner({
();
return (
-
+
{data.recentArticles.map((article) => (
-
{article.title}
@@ -189,3 +209,29 @@ function ArticlesPeek() {
);
}
+
+function FeatureCard({
+ navItem,
+ title,
+ description,
+ to,
+}: {
+ navItem: string;
+ title: string;
+ description: string;
+ to: string;
+}) {
+ return (
+
+
+ {title}
+ {description}
+
+ );
+}
diff --git a/app/styles/front-page.css b/app/styles/front-page.css
index 7b2bc9453..3a7548fc6 100644
--- a/app/styles/front-page.css
+++ b/app/styles/front-page.css
@@ -105,7 +105,7 @@
grid-area: content;
}
-.front__article {
+.front__articles {
display: flex;
flex-direction: column;
padding: 0;
@@ -113,7 +113,45 @@
list-style: none;
}
-.front__article a {
+.front__articles a {
color: var(--text);
font-size: var(--fonts-md);
}
+
+.front__more-features {
+ color: var(--text-lighter);
+ font-size: var(--fonts-lg);
+ text-align: center;
+}
+
+.front__feature-cards {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ gap: var(--s-2);
+}
+
+.front__feature-card {
+ min-width: 10rem;
+ max-width: 12rem;
+ flex: 1 1 0;
+ padding: var(--s-2);
+ background-color: var(--bg-lighter);
+ border-radius: var(--rounded);
+ color: var(--text);
+ text-align: center;
+}
+
+.front__feature-card__nav-icon {
+ margin: 0 auto;
+}
+
+.front__feature-card__title {
+ font-size: var(--fonts-md);
+ padding-block: var(--s-1);
+}
+
+.front__feature-card__description {
+ color: var(--text-lighter);
+ font-size: var(--fonts-xxs);
+}
diff --git a/app/utils/urls.ts b/app/utils/urls.ts
index 3f47869f0..96c31a8b4 100644
--- a/app/utils/urls.ts
+++ b/app/utils/urls.ts
@@ -40,6 +40,7 @@ export const badgeUrl = ({
code: Badge["code"];
extension?: "gif";
}) => `/badges/${code}${extension ? `.${extension}` : ""}`;
+export const navIconUrl = (navItem: string) => `/img/layout/${navItem}`;
export const articlePreviewUrl = (slug: string) =>
`/img/article-previews/${slug}.png`;