From f5900a3b7e626c068525bfe5c37907a1a8b5ca3f Mon Sep 17 00:00:00 2001 From: sercanvr Date: Sat, 17 Oct 2026 05:03:09 +0300 Subject: [PATCH 1/3] feat(table): replace table header icons with unified sparkle glyph --- src/components/TechTable.tsx | 10 +++------- src/pages/SecurityPage.tsx | 3 --- src/pages/SoftwarePage.tsx | 7 ------- tests/TechTable.test.tsx | 1 + 4 files changed, 4 insertions(+), 17 deletions(-) diff --git a/src/components/TechTable.tsx b/src/components/TechTable.tsx index 156ea07..602419e 100644 --- a/src/components/TechTable.tsx +++ b/src/components/TechTable.tsx @@ -262,14 +262,10 @@ export const TechTable: React.FC = ({ {/* Table Top Header Bar: Title + Single Sort Dropdown */}
- {icon && ( -
- {icon} -
- )}

- - {sanitizeText(title)} + + + {sanitizeText(title)}

diff --git a/src/pages/SecurityPage.tsx b/src/pages/SecurityPage.tsx index 3e060f5..3dd4481 100644 --- a/src/pages/SecurityPage.tsx +++ b/src/pages/SecurityPage.tsx @@ -1,7 +1,6 @@ import React, { useMemo, useEffect } from 'react'; import { useLocation } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { ShieldCheck, Terminal } from 'lucide-react'; import { HeaderShowcase } from '../components/HeaderShowcase'; import { TechTable } from '../components/TechTable'; import { ProximitySidebar } from '../components/ProximitySidebar'; @@ -51,7 +50,6 @@ export const SecurityPage: React.FC = () => { } entries={sortedSecurityTools} priority /> @@ -59,7 +57,6 @@ export const SecurityPage: React.FC = () => { } entries={sortedSecurityDistros} />
diff --git a/src/pages/SoftwarePage.tsx b/src/pages/SoftwarePage.tsx index 06342d0..4f6c4a1 100644 --- a/src/pages/SoftwarePage.tsx +++ b/src/pages/SoftwarePage.tsx @@ -1,7 +1,6 @@ import React, { useMemo, useEffect } from 'react'; import { useLocation } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Code2, Layers, Database, Terminal, Bot, Cpu } from 'lucide-react'; import { HeaderShowcase } from '../components/HeaderShowcase'; import { TechTable } from '../components/TechTable'; import { ProximitySidebar } from '../components/ProximitySidebar'; @@ -84,7 +83,6 @@ export const SoftwarePage: React.FC = () => { } entries={sortedLanguages} defaultSort="ecosystem" priority @@ -93,35 +91,30 @@ export const SoftwarePage: React.FC = () => { } entries={sortedFrameworks} /> } entries={sortedDatabases} /> } entries={sortedLinuxDistros} /> } entries={sortedAiTools} /> } entries={sortedAiInfrastructure} />
diff --git a/tests/TechTable.test.tsx b/tests/TechTable.test.tsx index edf723e..e5e11e3 100644 --- a/tests/TechTable.test.tsx +++ b/tests/TechTable.test.tsx @@ -76,6 +76,7 @@ describe('TechTable Component', () => { ); expect(screen.getByText('Test Languages')).toBeInTheDocument(); + expect(screen.getByText('✦')).toBeInTheDocument(); expect(screen.getAllByText('Python').length).toBeGreaterThan(0); expect(screen.getAllByText('Rust').length).toBeGreaterThan(0); expect(screen.getAllByText('Guido van Rossum').length).toBeGreaterThan(0); From 02e1eb233834893c054816237032d200cd6c2a79 Mon Sep 17 00:00:00 2001 From: sercanvr Date: Sat, 17 Oct 2026 05:08:56 +0300 Subject: [PATCH 2/3] refactor(table): remove unused icon prop from TechTable --- src/components/TechTable.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/TechTable.tsx b/src/components/TechTable.tsx index 602419e..a80ea8c 100644 --- a/src/components/TechTable.tsx +++ b/src/components/TechTable.tsx @@ -33,7 +33,6 @@ export const formatAsciiTag = (val: string): string => { interface TechTableProps { id?: string; title: string; - icon?: React.ReactNode; entries: TechEntry[]; priority?: boolean; defaultSort?: 'stars' | 'name' | 'momentum' | 'ecosystem' | 'year'; @@ -133,7 +132,6 @@ const useIsMobile = () => { export const TechTable: React.FC = ({ id, title, - icon, entries, priority = false, defaultSort = 'stars', From 29b92ffa061e4b7f8967944ddcdfbfcae898fa7d Mon Sep 17 00:00:00 2001 From: sercanvr Date: Sat, 17 Oct 2026 05:35:24 +0300 Subject: [PATCH 3/3] fix(table): align languages table default sorting to stars --- src/pages/SoftwarePage.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pages/SoftwarePage.tsx b/src/pages/SoftwarePage.tsx index 4f6c4a1..cc2b29c 100644 --- a/src/pages/SoftwarePage.tsx +++ b/src/pages/SoftwarePage.tsx @@ -27,10 +27,9 @@ export const SoftwarePage: React.FC = () => { } }, [location]); - // Dynamically sort language entries by ecosystem volume (totalRepos) to avoid reference repo star distortion const sortedLanguages = useMemo(() => { return [...(rawLanguages as TechEntry[])].sort( - (a, b) => b.popularity.totalRepos - a.popularity.totalRepos + (a, b) => b.popularity.totalStars - a.popularity.totalStars ); }, []); @@ -84,7 +83,6 @@ export const SoftwarePage: React.FC = () => { id="section-languages" title={t('sections.languages')} entries={sortedLanguages} - defaultSort="ecosystem" priority />