-
-
-
- Get started by editing{" "}
-
- src/app/page.tsx -- . -
- - - Save and see your changes instantly. - -
-
-
- Deploy now
-
-
- Read our docs
-
+ // Mock data for library items
+ const mockItems = [
+ { id: 1, height: 200, width: 'normal' },
+ { id: 2, height: 280, width: 'wide' },
+ { id: 3, height: 160, width: 'normal' },
+ { id: 4, height: 240, width: 'normal' },
+ { id: 5, height: 200, width: 'normal' },
+ { id: 6, height: 300, width: 'wide' },
+ { id: 7, height: 180, width: 'normal' },
+ { id: 8, height: 220, width: 'normal' },
+ { id: 9, height: 260, width: 'wide' },
+ { id: 10, height: 190, width: 'normal' },
+ { id: 11, height: 240, width: 'normal' },
+ { id: 12, height: 200, width: 'wide' },
+ { id: 13, height: 220, width: 'normal' },
+ { id: 14, height: 180, width: 'normal' },
+ { id: 15, height: 260, width: 'normal' },
+ { id: 16, height: 200, width: 'wide' },
+ { id: 17, height: 240, width: 'normal' },
+ { id: 18, height: 180, width: 'normal' },
+ ];
+
+ // Mock data for collections
+ const mockCollections = [
+ { id: 1, name: 'Brand Identity', itemCount: 47 },
+ { id: 2, name: 'UI Inspiration', itemCount: 132 },
+ { id: 3, name: 'Typography', itemCount: 28 },
+ { id: 4, name: 'Color Palettes', itemCount: 64 },
+ { id: 5, name: 'Illustration', itemCount: 89 },
+ { id: 6, name: 'Photography', itemCount: 156 },
+ { id: 7, name: 'Web Design', itemCount: 93 },
+ { id: 8, name: 'Motion Graphics', itemCount: 41 },
+ ];
+
+ const LibraryView = () => (
+ <>
+ {/* Compact Horizontal Filters Toolbar */}
+
+
-
+ >
+ );
+
+ const CollectionsView = () => (
+ <>
+ {/* Collections Toolbar */}
+
+
+ >
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1,427 items
+
+
+
+
+
+
+
+ {/* Main Content - Tightly Packed Masonry Grid */}
+
+ {mockItems.map((item, index) => {
+ const colorClasses = [
+ 'bg-orange-500',
+ 'bg-amber-400',
+ 'bg-stone-700',
+ 'bg-orange-600'
+ ];
+ const itemColorClass = colorClasses[index % colorClasses.length];
+
+ return (
+
+
+ );
+ })}
+
+
+
+
+
+ {/* Collections Grid */}
+
+
+
+
+ Your Collections
+ + {mockCollections.length} collections + +
+ {mockCollections.map((collection, idx) => {
+ const colorClasses = [
+ ['bg-orange-500', 'bg-amber-400', 'bg-orange-600', 'bg-orange-500'],
+ ['bg-amber-400', 'bg-orange-500', 'bg-amber-400', 'bg-orange-600'],
+ ['bg-orange-600', 'bg-orange-500', 'bg-amber-400', 'bg-orange-500'],
+ ['bg-orange-500', 'bg-orange-600', 'bg-amber-400', 'bg-orange-500']
+ ];
+ const previewColors = colorClasses[idx % colorClasses.length];
+
+ return (
+
+
+ {/* Collection Preview Grid */}
+
+ );
+ })}
+
+ {/* Create New Collection Card */}
+
+
+
+ {previewColors.map((colorClass, colorIdx) => (
+
+ ))}
+
+
+ {/* Hover Overlay with Info */}
+
+
+ + {collection.name} +
+
+
+ {collection.itemCount} items
+
+
+
+
+
+
+
+
+ Create Collection
+
+
+ {/* Header */}
+
+
+
+ {/* Active View */}
+ {activeView === 'library' ? : }
);
}
+
+
+ {/* Expandable Image Search Dropzone */}
+ {showDropzone && (
+ INSPIRATION
+
+ {/* Prominent Central Search with Image Toggle */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+ + Drop your image to search +
++ Drag and drop, or click to browse +
+
+
+
+
+