listingPage->build( $listing, fn (array $query) => route('products', $query), ); return view('products.index', $data); } public function show(string $locale, int $id) { $product = $this->products->getById($id); abort_if($product === null, Response::HTTP_NOT_FOUND); $collection = $product['collections'][0] ?? null; $variantsData = $this->products->variantSummaries($product); $firstVariant = $product['variants'][0] ?? null; $option = $firstVariant['options'][0]['option'] ?? null; return view('product.show', [ 'collection' => $collection, 'product' => $product, 'option' => $option, 'variantsData' => $variantsData, ]); } }