From 697a6a7a1863b2f1726d0cf39b6a8ae694d8934b Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 31 Dec 2024 20:08:50 -0600 Subject: [PATCH] Format change, sort by date_updated descending --- src/pages/projects.tsx | 88 +++++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 39 deletions(-) diff --git a/src/pages/projects.tsx b/src/pages/projects.tsx index 6fc76da..17d3108 100644 --- a/src/pages/projects.tsx +++ b/src/pages/projects.tsx @@ -10,61 +10,71 @@ type Props = { }; async function getProjects() { - return await directus.request(readItems("project", { - fields: ["id", "name", "shortDescription", "icon", {links: ["url"]}], - })); + return await directus.request( + readItems("project", { + fields: ["id", "name", "shortDescription", "icon", { links: ["url"] }], + sort: "-date_updated", + }), + ); } -export async function getStaticProps(): Promise> {; - +export async function getStaticProps(): Promise> { return { props: { projects: await getProjects(), - } - } + }, + }; } -const ProjectsPage: NextPage = ({projects}) => { +const ProjectsPage: NextPage = ({ projects }) => { return ( -
-
-

- Projects +
+
+

+ Projects

created, maintained, or contributed to by me...
- {projects.map(({ id, name, shortDescription: description, links, icon }) => - { - const useAnchor = links?.length ?? 0 > 0; - const DynamicLink = useAnchor ? Link : "div"; - const linkProps = useAnchor ? { href: links![0]!.url, target: "_blank", rel: "noreferrer" } : {}; + {projects.map( + ({ id, name, shortDescription: description, links, icon }) => { + const useAnchor = links?.length ?? 0 > 0; + const DynamicLink = useAnchor ? Link : "div"; + const linkProps = useAnchor + ? { href: links![0]!.url, target: "_blank", rel: "noreferrer" } + : {}; - return
- {/* @ts-expect-error because div can't accept href */} - - -
- -
-
-
{name}
-
- {description} + return ( +
+ {/* @ts-expect-error because div can't accept href */} + +
+
-
- -
-
; - } -)} +
+
{name}
+
+ {description} +
+
+ +
+
+ ); + }, + )}
);