diff --git a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
index 5a674406..79a40f61 100644
--- a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
+++ b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
@@ -1,4 +1,14 @@
-import { AspectRatio, Card, Center, Grid, Text, Image } from '@mantine/core';
+import {
+ AspectRatio,
+ Card,
+ Center,
+ Group,
+ Text,
+ Image,
+ Box,
+ ScrollAreaAutosize,
+} from '@mantine/core';
+import { useScroller } from '@mantine/hooks';
import useCollection from '../../lib/queries/useCollection';
import { useState } from 'react';
@@ -7,7 +17,10 @@ interface Props {
handle: string;
}
+const CARD_WIDTH = 120;
+
export default function CollectionCardPreview(props: Props) {
+ const scroller = useScroller();
const [imageError, setImageError] = useState(false);
const { data } = useCollection({
@@ -21,35 +34,45 @@ export default function CollectionCardPreview(props: Props) {
if (cards.length === 0) return null;
return (
-
- {cards.map((c) => (
-
- {c.cardContent.imageUrl && !imageError ? (
-
- setImageError(true)}
- />
-
- ) : (
-
-
-
-
- {c.cardContent.title ??
- c.cardContent.description ??
- c.cardContent.url}
-
-
-
-
- )}
-
- ))}
-
+
+ 2} wrap="nowrap">
+ {cards.map((c) => (
+
+ {c.cardContent.imageUrl && !imageError ? (
+
+ setImageError(true)}
+ />
+
+ ) : (
+
+
+
+
+ {c.cardContent.title ??
+ c.cardContent.description ??
+ c.cardContent.url}
+
+
+
+
+ )}
+
+ ))}
+
+
);
}
diff --git a/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx b/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
index 186823c2..0e6032e2 100644
--- a/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
+++ b/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
@@ -1,15 +1,25 @@
-import { AspectRatio, Grid, GridCol, Skeleton } from '@mantine/core';
+import { AspectRatio, Box, Group, Skeleton } from '@mantine/core';
+
+const CARD_WIDTH = 120;
export default function CollectionCardPreviewSkeleton() {
return (
-
- {Array.from({ length: 4 }).map((_, i) => (
-
-
-
-
-
- ))}
-
+
+
+ {Array.from({ length: 4 }).map((_, i) => (
+
+
+
+
+
+ ))}
+
+
);
}
--
2.51.2
From 5cfdf6b714790aec140a2e61bbdeb17c6c1f4e06 Mon Sep 17 00:00:00 2001
From: pdelfan
Date: Wed, 27 May 2026 11:48:28 -0700
Subject: [PATCH 2/5] chore: clean up
---
.../components/collectionCardPreview/CollectionCardPreview.tsx | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
index 79a40f61..71d37750 100644
--- a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
+++ b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
@@ -6,7 +6,6 @@ import {
Text,
Image,
Box,
- ScrollAreaAutosize,
} from '@mantine/core';
import { useScroller } from '@mantine/hooks';
import useCollection from '../../lib/queries/useCollection';
--
2.51.2
From 00a3ccfcfa640224703a533024ffcd2f0073a718 Mon Sep 17 00:00:00 2001
From: pdelfan
Date: Wed, 27 May 2026 11:52:30 -0700
Subject: [PATCH 3/5] feat: collection card preview width and limit
---
.../collectionCardPreview/CollectionCardPreview.tsx | 4 ++--
.../collectionCardPreview/Skeleton.CollectionCardPreview.tsx | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
index 71d37750..c7a1301e 100644
--- a/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
+++ b/src/webapp/features/collections/components/collectionCardPreview/CollectionCardPreview.tsx
@@ -16,7 +16,7 @@ interface Props {
handle: string;
}
-const CARD_WIDTH = 120;
+const CARD_WIDTH = 130;
export default function CollectionCardPreview(props: Props) {
const scroller = useScroller();
@@ -25,7 +25,7 @@ export default function CollectionCardPreview(props: Props) {
const { data } = useCollection({
rkey: props.rkey,
handle: props.handle,
- limit: 4,
+ limit: 6,
});
const cards = data?.pages.flatMap((col) => col.urlCards) ?? [];
diff --git a/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx b/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
index 0e6032e2..960ae524 100644
--- a/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
+++ b/src/webapp/features/collections/components/collectionCardPreview/Skeleton.CollectionCardPreview.tsx
@@ -1,6 +1,6 @@
import { AspectRatio, Box, Group, Skeleton } from '@mantine/core';
-const CARD_WIDTH = 120;
+const CARD_WIDTH = 130;
export default function CollectionCardPreviewSkeleton() {
return (
--
2.51.2
From 807b7f96fc5d613bff8635c228c71d6e9fa54e66 Mon Sep 17 00:00:00 2001
From: pdelfan
Date: Wed, 27 May 2026 12:31:25 -0700
Subject: [PATCH 4/5] feat: lower recent collections filter button radius
---
.../home/components/recentCollections/RecentCollections.tsx | 3 +++
.../recentCollections/Skeleton.RecentCollections.tsx | 6 +++---
src/webapp/next-env.d.ts | 2 +-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/webapp/features/home/components/recentCollections/RecentCollections.tsx b/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
index 29a8b994..86528852 100644
--- a/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
+++ b/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
@@ -203,6 +203,7 @@ export default function RecentCollections() {
variant={filter === 'mine' ? 'filled' : 'light'}
color="gray"
size="xs"
+ radius={'md'}
onClick={() => setFilter('mine')}
>
My Collections
@@ -211,6 +212,7 @@ export default function RecentCollections() {
variant={filter === 'following' ? 'filled' : 'light'}
color="gray"
size="xs"
+ radius={'md'}
onClick={() => setFilter('following')}
>
Following
@@ -219,6 +221,7 @@ export default function RecentCollections() {
variant={filter === 'contributed' ? 'filled' : 'light'}
color="gray"
size="xs"
+ radius={'md'}
onClick={() => setFilter('contributed')}
>
Contributed to
diff --git a/src/webapp/features/home/components/recentCollections/Skeleton.RecentCollections.tsx b/src/webapp/features/home/components/recentCollections/Skeleton.RecentCollections.tsx
index 44ec24df..e6220b1c 100644
--- a/src/webapp/features/home/components/recentCollections/Skeleton.RecentCollections.tsx
+++ b/src/webapp/features/home/components/recentCollections/Skeleton.RecentCollections.tsx
@@ -17,9 +17,9 @@ export default function RecentCollectionsSkeleton() {
-
-
-
+
+
+
diff --git a/src/webapp/next-env.d.ts b/src/webapp/next-env.d.ts
index 9edff1c7..c4b7818f 100644
--- a/src/webapp/next-env.d.ts
+++ b/src/webapp/next-env.d.ts
@@ -1,6 +1,6 @@
///
///
-import "./.next/types/routes.d.ts";
+import "./.next/dev/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
--
2.51.2
From 51cc800408aad1945087bb12aa60b243a8fccc47 Mon Sep 17 00:00:00 2001
From: pdelfan
Date: Wed, 27 May 2026 12:33:42 -0700
Subject: [PATCH 5/5] feat: don't conditionally show collection creation button
on recent collections
---
.../recentCollections/RecentCollections.tsx | 22 +++++++++----------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/src/webapp/features/home/components/recentCollections/RecentCollections.tsx b/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
index 86528852..d280893f 100644
--- a/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
+++ b/src/webapp/features/home/components/recentCollections/RecentCollections.tsx
@@ -180,18 +180,16 @@ export default function RecentCollections() {
Collections
- {filter === 'mine' && (
- setShowCollectionDrawer(true)}
- aria-label="Create collection"
- >
-
-
- )}
+ setShowCollectionDrawer(true)}
+ aria-label="Create collection"
+ >
+
+
View all