diff --git a/app/admin/page.tsx b/app/admin/page.tsx index 5dece73..4c8a181 100644 --- a/app/admin/page.tsx +++ b/app/admin/page.tsx @@ -51,7 +51,7 @@ interface Song { excludeFromGlobal: boolean; } -type SortField = 'id' | 'title' | 'artist' | 'createdAt' | 'releaseYear'; +type SortField = 'id' | 'title' | 'artist' | 'createdAt' | 'releaseYear' | 'activations' | 'averageRating'; type SortDirection = 'asc' | 'desc'; export default function AdminPage() { @@ -824,7 +824,7 @@ export default function AdminPage() { }); const sortedSongs = [...filteredSongs].sort((a, b) => { - // Handle numeric sorting for ID and Release Year + // Handle numeric sorting for ID, Release Year, Activations, and Rating if (sortField === 'id') { return sortDirection === 'asc' ? a.id - b.id : b.id - a.id; } @@ -833,6 +833,12 @@ export default function AdminPage() { const yearB = b.releaseYear || 0; return sortDirection === 'asc' ? yearA - yearB : yearB - yearA; } + if (sortField === 'activations') { + return sortDirection === 'asc' ? a.activations - b.activations : b.activations - a.activations; + } + if (sortField === 'averageRating') { + return sortDirection === 'asc' ? a.averageRating - b.averageRating : b.averageRating - a.averageRating; + } // String sorting for other fields const valA = String(a[sortField]).toLowerCase(); @@ -1414,8 +1420,18 @@ export default function AdminPage() { > Added {sortField === 'createdAt' && (sortDirection === 'asc' ? '↑' : '↓')} -