Implement creator studio and upload updates
This commit is contained in:
@@ -13,6 +13,7 @@ use App\Services\CollectionRecommendationService;
|
||||
use App\Services\CollectionSearchService;
|
||||
use App\Services\CollectionService;
|
||||
use App\Services\CollectionSurfaceService;
|
||||
use App\Support\Seo\SeoFactory;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
|
||||
@@ -50,18 +51,23 @@ class CollectionDiscoveryController extends Controller
|
||||
|
||||
$results = $this->search->publicSearch($filters, (int) config('collections.v5.search.public_per_page', 18));
|
||||
|
||||
$seo = app(SeoFactory::class)->collectionListing(
|
||||
'Search Collections — Skinbase Nova',
|
||||
filled($filters['q'] ?? null)
|
||||
? sprintf('Search results for "%s" across public Skinbase Nova collections.', $filters['q'])
|
||||
: 'Browse public collections using filters for category, style, theme, color, quality tier, freshness, and programming metadata.',
|
||||
$request->fullUrl(),
|
||||
null,
|
||||
false,
|
||||
)->toArray();
|
||||
|
||||
return Inertia::render('Collection/CollectionFeaturedIndex', [
|
||||
'eyebrow' => 'Search',
|
||||
'title' => 'Search collections',
|
||||
'description' => filled($filters['q'] ?? null)
|
||||
? sprintf('Search results for "%s" across public Skinbase Nova collections.', $filters['q'])
|
||||
: 'Browse public collections using filters for category, style, theme, color, quality tier, freshness, and programming metadata.',
|
||||
'seo' => [
|
||||
'title' => 'Search Collections — Skinbase Nova',
|
||||
'description' => 'Search public collections by category, theme, quality tier, and curator context.',
|
||||
'canonical' => route('collections.search'),
|
||||
'robots' => 'index,follow',
|
||||
],
|
||||
'seo' => $seo,
|
||||
'collections' => $this->collections->mapCollectionCardPayloads($results->items(), false, $request->user()),
|
||||
'communityCollections' => [],
|
||||
'editorialCollections' => [],
|
||||
@@ -197,16 +203,17 @@ class CollectionDiscoveryController extends Controller
|
||||
|
||||
abort_if(! $program || collect($landing['collections'])->isEmpty(), 404);
|
||||
|
||||
$seo = app(SeoFactory::class)->collectionListing(
|
||||
sprintf('%s — Skinbase Nova', $program['label']),
|
||||
$program['description'],
|
||||
route('collections.program.show', ['programKey' => $program['key']]),
|
||||
)->toArray();
|
||||
|
||||
return Inertia::render('Collection/CollectionFeaturedIndex', [
|
||||
'eyebrow' => 'Program',
|
||||
'title' => $program['label'],
|
||||
'description' => $program['description'],
|
||||
'seo' => [
|
||||
'title' => sprintf('%s — Skinbase Nova', $program['label']),
|
||||
'description' => $program['description'],
|
||||
'canonical' => route('collections.program.show', ['programKey' => $program['key']]),
|
||||
'robots' => 'index,follow',
|
||||
],
|
||||
'seo' => $seo,
|
||||
'collections' => $this->collections->mapCollectionCardPayloads($landing['collections'], false, $request->user()),
|
||||
'communityCollections' => $this->collections->mapCollectionCardPayloads($landing['community_collections'] ?? collect(), false, $request->user()),
|
||||
'editorialCollections' => $this->collections->mapCollectionCardPayloads($landing['editorial_collections'] ?? collect(), false, $request->user()),
|
||||
@@ -231,16 +238,17 @@ class CollectionDiscoveryController extends Controller
|
||||
$seasonalCollections = null,
|
||||
$campaign = null,
|
||||
) {
|
||||
$seo = app(SeoFactory::class)->collectionListing(
|
||||
sprintf('%s — Skinbase Nova', $title),
|
||||
$description,
|
||||
url()->current(),
|
||||
)->toArray();
|
||||
|
||||
return Inertia::render('Collection/CollectionFeaturedIndex', [
|
||||
'eyebrow' => $eyebrow,
|
||||
'title' => $title,
|
||||
'description' => $description,
|
||||
'seo' => [
|
||||
'title' => sprintf('%s — Skinbase Nova', $title),
|
||||
'description' => $description,
|
||||
'canonical' => url()->current(),
|
||||
'robots' => 'index,follow',
|
||||
],
|
||||
'seo' => $seo,
|
||||
'collections' => $this->collections->mapCollectionCardPayloads($collections, false, $viewer),
|
||||
'communityCollections' => $this->collections->mapCollectionCardPayloads($communityCollections ?? collect(), false, $viewer),
|
||||
'editorialCollections' => $this->collections->mapCollectionCardPayloads($editorialCollections ?? collect(), false, $viewer),
|
||||
|
||||
Reference in New Issue
Block a user