From a340c9a0b756a6402ff8097e17ef235ce3020067 Mon Sep 17 00:00:00 2001 From: Nariman Jelveh Date: Sun, 3 Aug 2025 19:47:45 -0700 Subject: [PATCH] fix sorting in websites tab --- src/dev-center/js/websites.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/dev-center/js/websites.js b/src/dev-center/js/websites.js index 85c3fdd10..748aa305b 100644 --- a/src/dev-center/js/websites.js +++ b/src/dev-center/js/websites.js @@ -151,25 +151,33 @@ function sort_websites() { if (sortDirection === 'asc'){ sorted_websites = websites.sort((a, b) => { if(sortBy === 'name'){ - return a[sortBy].localeCompare(b[sortBy]); + return a.subdomain.localeCompare(b.subdomain); }else if(sortBy === 'created_at'){ return new Date(a[sortBy]) - new Date(b[sortBy]); } else if(sortBy === 'user_count' || sortBy === 'open_count'){ return a.stats[sortBy] - b.stats[sortBy]; + } else if(sortBy === 'root_dir'){ + const aRootDir = a.root_dir?.name || ''; + const bRootDir = b.root_dir?.name || ''; + return aRootDir.localeCompare(bRootDir); }else{ - a[sortBy] > b[sortBy] ? 1 : -1 + return a[sortBy] > b[sortBy] ? 1 : -1; } }); }else{ sorted_websites = websites.sort((a, b) => { if(sortBy === 'name'){ - return b[sortBy].localeCompare(a[sortBy]); + return b.subdomain.localeCompare(a.subdomain); }else if(sortBy === 'created_at'){ return new Date(b[sortBy]) - new Date(a[sortBy]); } else if(sortBy === 'user_count' || sortBy === 'open_count'){ return b.stats[sortBy] - a.stats[sortBy]; + } else if(sortBy === 'root_dir'){ + const aRootDir = a.root_dir?.name || ''; + const bRootDir = b.root_dir?.name || ''; + return bRootDir.localeCompare(aRootDir); }else{ - b[sortBy] > a[sortBy] ? 1 : -1 + return b[sortBy] > a[sortBy] ? 1 : -1; } }); }