diff --git a/astro-app/src/components/ProjectsTable.tsx b/astro-app/src/components/ProjectsTable.tsx index 070320c..10f8e86 100644 --- a/astro-app/src/components/ProjectsTable.tsx +++ b/astro-app/src/components/ProjectsTable.tsx @@ -70,7 +70,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta const columns = useMemo(() => [ columnHelper.display({ id: 'seen', - header: "Seen?", + header: "Seen", cell: ({ row }) => { const projectId = row.original.id; const isSeen = seenProjects.has(projectId); @@ -86,7 +86,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta ); }, - size: 50, + size: 80, }), columnHelper.accessor('author_name', { header: ({ column }) => ( @@ -116,7 +116,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta ), - size: 160, + size: 180, }), columnHelper.accessor('project_description', { header: ({ column }) => ( @@ -140,51 +140,48 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta

{row.original.project_description}

), - size: 280, + size: 300, }), - ...(showUrlColumn ? [ - columnHelper.accessor('project_url', { - header: 'Project', - cell: ({ row }) => ( -
- {row.original.project_url ? ( + columnHelper.display({ + id: 'links', + header: 'Links', + cell: ({ row }) => ( +
+ {showUrlColumn && ( +
+ {row.original.project_url ? ( + + + Project + + ) : ( + No URL + )} +
+ )} +
+ {row.original.original_tweet_url ? ( - - View + + Tweet ) : ( - No URL + No Tweet )}
- ), - size: 100, - }) - ] : []), - columnHelper.accessor('original_tweet_url', { - header: 'Tweet', - cell: ({ row }) => ( -
- {row.original.original_tweet_url ? ( - - - Tweet - - ) : ( - No Tweet - )}
), - size: 100, + size: 90, }), columnHelper.accessor('media_thumbnail', { header: 'Media', @@ -204,7 +201,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta )}
), - size: 100, + size: 90, }), columnHelper.accessor('created_at', { header: ({ column }) => ( @@ -230,7 +227,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta : 'N/A'}
), - size: 140, + size: 120, }), columnHelper.accessor('favorite_count', { header: ({ column }) => ( @@ -256,31 +253,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta ), size: 80, }), - columnHelper.accessor('category', { - header: ({ column }) => ( - - ), - cell: ({ row }) => ( -
- - {row.original.category} - -
- ), - size: 100, + size: 120, }), ], [showUrlColumn, seenProjects]); @@ -315,7 +288,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta }, [projects]); // Calculate total width - const totalWidth = table.getHeaderGroups()[0]?.headers.reduce((acc, header) => acc + header.getSize(), 0) || 700; + const totalWidth = table.getHeaderGroups()[0]?.headers.reduce((acc, header) => acc + header.getSize(), 0) || 880; return (
@@ -356,9 +329,9 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta {/* Table Container */}
-
+
{/* Fixed Header */} -
+
{table.getHeaderGroups().map((headerGroup) => (
`${h.getSize()}px`).join(' ') }}> {headerGroup.headers.map((header) => ( @@ -379,6 +352,7 @@ export function ProjectsTable({ projects, title, showUrlColumn = true, onSeenSta
{virtualizer.getVirtualItems().map((virtualRow) => {