diff --git a/src/components/TabularMemberList.astro b/src/components/TabularMemberList.astro
index ba62185d..8fd8ac5c 100644
--- a/src/components/TabularMemberList.astro
+++ b/src/components/TabularMemberList.astro
@@ -22,9 +22,14 @@ const members = await getMembers();
-
+
{sortMembersByDevs(members).map((member) =>
-
+
diff --git a/src/memberData/common.ts b/src/memberData/common.ts
index 9bad0411..ba35cf3c 100644
--- a/src/memberData/common.ts
+++ b/src/memberData/common.ts
@@ -63,6 +63,15 @@ export function sortMembersByDevs(members: MemberWithId[]): MemberWithId[] {
});
}
+/**
+ * Sorts members by join date, newest first.
+ */
+export function sortMembersByJoinDate(members: MemberWithId[]): MemberWithId[] {
+ return [...members].sort((m1, m2) => {
+ return m2.data.joinDate.localeCompare(m1.data.joinDate);
+ });
+}
+
/**
* Sorts members by the dollars per dev in their latest annual report.
*/
diff --git a/src/pages/members/[id].astro b/src/pages/members/[id].astro
index f7c8bdc4..21ad19ac 100644
--- a/src/pages/members/[id].astro
+++ b/src/pages/members/[id].astro
@@ -54,6 +54,10 @@ export async function getStaticPaths() {
Learn more →
+
+ Joined on {dayjs(member.joinDate).format('DD MMM YYYY')}.
+
+
{member.annualReports.map(report =>
diff --git a/src/pages/members/index.astro b/src/pages/members/index.astro
index 8ff24f44..3ab7d52d 100644
--- a/src/pages/members/index.astro
+++ b/src/pages/members/index.astro
@@ -34,6 +34,15 @@ import svgList from '../../assets/icons/list.svg?raw';
+
+ Sort by
+
+
diff --git a/src/memberData/common.ts b/src/memberData/common.ts
index 9bad0411..ba35cf3c 100644
--- a/src/memberData/common.ts
+++ b/src/memberData/common.ts
@@ -63,6 +63,15 @@ export function sortMembersByDevs(members: MemberWithId[]): MemberWithId[] {
});
}
+/**
+ * Sorts members by join date, newest first.
+ */
+export function sortMembersByJoinDate(members: MemberWithId[]): MemberWithId[] {
+ return [...members].sort((m1, m2) => {
+ return m2.data.joinDate.localeCompare(m1.data.joinDate);
+ });
+}
+
/**
* Sorts members by the dollars per dev in their latest annual report.
*/
diff --git a/src/pages/members/[id].astro b/src/pages/members/[id].astro
index f7c8bdc4..21ad19ac 100644
--- a/src/pages/members/[id].astro
+++ b/src/pages/members/[id].astro
@@ -54,6 +54,10 @@ export async function getStaticPaths() {
Learn more →
+ + Joined on {dayjs(member.joinDate).format('DD MMM YYYY')}. +
+ {member.annualReports.map(report =>
diff --git a/src/pages/members/index.astro b/src/pages/members/index.astro
index 8ff24f44..3ab7d52d 100644
--- a/src/pages/members/index.astro
+++ b/src/pages/members/index.astro
@@ -34,6 +34,15 @@ import svgList from '../../assets/icons/list.svg?raw';
+
+ Sort by
+
+
+ Sort by
+
+