From 649b494736fcc97115f5c599007baab2f1c9299d Mon Sep 17 00:00:00 2001 From: Mehdi Chraibi Date: Tue, 10 Feb 2026 16:26:27 -0500 Subject: [PATCH 1/4] sorted individual form responses view by time submitted, not by name --- .../[slug]/responses/_components/PerUserResponsesView.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx index 44890b6e..85db5513 100644 --- a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx @@ -91,9 +91,9 @@ export function PerUserResponsesView({ ); const users = Object.values(groupedByUser).sort((a, b) => { - const nameA = `${a[0]?.member.firstName} ${a[0]?.member.lastName}`; - const nameB = `${b[0]?.member.firstName} ${b[0]?.member.lastName}`; - return nameA.localeCompare(nameB); + const timeA = a[0]?.submittedAt ? new Date(a[0].submittedAt).getTime() : 0; + const timeB = b[0]?.submittedAt ? new Date(b[0].submittedAt).getTime() : 0; + return timeA - timeB; }); const [currentUserIndex, setCurrentUserIndex] = useState(0); From 24b3af354545967007fba86d8266759852677a9f Mon Sep 17 00:00:00 2001 From: Mehdi Chraibi Date: Tue, 10 Feb 2026 16:57:26 -0500 Subject: [PATCH 2/4] fixed sorting logic --- .../[slug]/responses/_components/PerUserResponsesView.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx index 85db5513..b7d026f9 100644 --- a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx @@ -91,8 +91,12 @@ export function PerUserResponsesView({ ); const users = Object.values(groupedByUser).sort((a, b) => { - const timeA = a[0]?.submittedAt ? new Date(a[0].submittedAt).getTime() : 0; - const timeB = b[0]?.submittedAt ? new Date(b[0].submittedAt).getTime() : 0; + const timeA = a.length > 0 + ? Math.min(...a.map((r) => r.submittedAt?.getTime?.() ?? 0)) + : 0; + const timeB = b.length > 0 + ? Math.min(...b.map((r) => r.submittedAt?.getTime?.() ?? 0)) + : 0; return timeA - timeB; }); From 36bfa6a5b12472ef1aca53284aaf029c5a473dbf Mon Sep 17 00:00:00 2001 From: Mehdi Chraibi Date: Tue, 10 Feb 2026 17:16:47 -0500 Subject: [PATCH 3/4] fixed lint errors --- .../responses/_components/PerUserResponsesView.tsx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx index b7d026f9..a5706ced 100644 --- a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx @@ -91,12 +91,14 @@ export function PerUserResponsesView({ ); const users = Object.values(groupedByUser).sort((a, b) => { - const timeA = a.length > 0 - ? Math.min(...a.map((r) => r.submittedAt?.getTime?.() ?? 0)) - : 0; - const timeB = b.length > 0 - ? Math.min(...b.map((r) => r.submittedAt?.getTime?.() ?? 0)) - : 0; + const timeA = + a.length > 0 + ? Math.min(...a.map((r) => r.submittedAt.getTime())) + : 0; + const timeB = + b.length > 0 + ? Math.min(...b.map((r) => r.submittedAt.getTime())) + : 0; return timeA - timeB; }); From f0f982d02a9d2ed3e2893ff0ec0cc340384f6304 Mon Sep 17 00:00:00 2001 From: Mehdi Chraibi Date: Tue, 10 Feb 2026 17:23:36 -0500 Subject: [PATCH 4/4] fixed format errors --- .../[slug]/responses/_components/PerUserResponsesView.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx index a5706ced..70d60d26 100644 --- a/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/responses/_components/PerUserResponsesView.tsx @@ -92,13 +92,9 @@ export function PerUserResponsesView({ const users = Object.values(groupedByUser).sort((a, b) => { const timeA = - a.length > 0 - ? Math.min(...a.map((r) => r.submittedAt.getTime())) - : 0; + a.length > 0 ? Math.min(...a.map((r) => r.submittedAt.getTime())) : 0; const timeB = - b.length > 0 - ? Math.min(...b.map((r) => r.submittedAt.getTime())) - : 0; + b.length > 0 ? Math.min(...b.map((r) => r.submittedAt.getTime())) : 0; return timeA - timeB; });