+ {/* Header */}
+
+
+
Media Browser
+
+ Browse and manage rendered media assets
+
+
+
+
+
+
+
+
+ {/* Filters */}
+
+
+
+ { setProductIdInput(e.target.value); setPage(0) }}
+ className="pl-8 pr-3 py-2 text-sm border border-border-default rounded-md bg-surface focus:outline-none focus:ring-1 focus:ring-accent w-64"
+ />
+
+
+ {selectedIds.size > 0 && (
+
{selectedIds.size} selected
+ )}
+
+
+ {/* Content */}
+ {isLoading ? (
+
+ Loading assets…
+
+ ) : assets.length === 0 ? (
+
+ ) : view === 'grid' ? (
+
+ {assets.map(asset => (
+
toggleSelect(asset.id)}
+ />
+ ))}
+
+ ) : (
+
+ )}
+
+ {/* Pagination */}
+ {(assets.length === PAGE_SIZE || page > 0) && (
+
+
+ Page {page + 1}
+
+
+ )}
+
+ {/* Floating Action Bar */}
+ {selectedIds.size > 0 && (
+
+
{selectedIds.size} selected
+
+
+
+
+ )}
+
+ )
+}