+
+
+
+ Marketplace
+
+ {degraded ? (
+
+
+ Offline catalogue
+
+ ) : (
+ (effectiveMode === 'browse' || effectiveMode === 'all') && (
+
+
+ onSearchChange(e.target.value)}
+ />
+
+ )
+ )}
+
+
+
+ {SECTIONS.map(s => (
+
+ ))}
+
+
+ <>
+ {!degraded &&
}
+
+ {section === 'living-uis' && (
+
+ {!degraded && (
+
+ )}
+
+
+
+
+ )}
+
+ {effectiveMode === 'create' &&
}
+ {effectiveMode === 'import' &&
}
+
+ {installError && effectiveMode !== 'all' && (
+
+ {installError}
+
+
+ )}
+
+ {/* Featured home: discovery shelves, no full listing (Steam-style) */}
+ {effectiveMode === 'browse' && (
+ loading ? (
+
+
+
+ ) : loadError ? (
+
+
{loadError}
+
+
+ ) : (
+ <>
+ {featuredShelf.length > 0 && (
+
+ Featured & Recommended
+
+ {featuredShelf.map(renderCard)}
+
+
+ )}
+
+ {newShelf.length > 0 && (
+
+ New & Noteworthy
+
+ {newShelf.map(renderCard)}
+
+
+ )}
+
+
+
+
+ >
+ )
+ )}
+
+ {effectiveMode === 'all' && (
+
0 ? '' : styles.browseLayoutFull}`}>
+ {tagRailOpen && allTags.length > 0 && (
+
+ )}
+
+
+ {(degraded || (!tagRailOpen && allTags.length > 0)) && (
+
+ {!tagRailOpen && allTags.length > 0 && (
+
+ )}
+ {degraded && (
+
+
+ setSearchQuery(e.target.value)}
+ />
+
+ )}
+
+ )}
+
+ {installError && (
+
+ {installError}
+
+
+ )}
+
+ {loading ? (
+
+
+
+ ) : loadError ? (
+
+
{loadError}
+
+
+ ) : (
+ <>
+
+
+
+ All {activeSection.label}
+
+ {!degraded && (
+
+ )}
+
+
+ {filteredProducts.length === 0 ? (
+
+
+
+ {products.length === 0 ? 'No apps available yet.' : 'No apps match your filters.'}
+
+
+ ) : (
+
+ {filteredProducts.map(renderCard)}
+
+ )}
+
+ >
+ )}
+
+
+ )}
+ >
+