From 809a114d13c953f4b86623aa17c52c46ae22b5cd Mon Sep 17 00:00:00 2001 From: nishtha-agarwal-211 Date: Fri, 22 May 2026 20:54:12 +0530 Subject: [PATCH] feat: sort project cards lexicographically for better navigation --- web-app/js/main.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/web-app/js/main.js b/web-app/js/main.js index f6efd2a..35a0658 100644 --- a/web-app/js/main.js +++ b/web-app/js/main.js @@ -46,6 +46,24 @@ function syncThemeColor(theme) { document.addEventListener('DOMContentLoaded', function () { + // Sort project cards lexicographically (alphabetically) by title + var projectsGrid = document.querySelector('.projects-grid'); + var rawCards = projectsGrid ? Array.from(projectsGrid.querySelectorAll('.project-card')) : []; + if (rawCards.length > 0) { + rawCards.sort(function (a, b) { + var h3A = a.querySelector('h3'); + var h3B = b.querySelector('h3'); + var titleA = h3A ? h3A.textContent.trim() : ''; + var titleB = h3B ? h3B.textContent.trim() : ''; + return titleA.localeCompare(titleB); + }); + var reorderedCards = document.createDocumentFragment(); + rawCards.forEach(function (card) { + reorderedCards.appendChild(card); + }); + projectsGrid.appendChild(reorderedCards); + } + // ── DOM references ────────────────────────────────────────────── var html = document.documentElement; var themeToggle = document.getElementById('themeToggle');