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
+ )}
+
+ )}
+
- ),
- 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) => {