middleware('locale'); Route::prefix('{locale}') ->middleware('locale') ->group(function () { Route::get('/', [HomeController::class, 'index'])->name('home'); Route::get('/products', [ProductController::class, 'index'])->name('products'); Route::get('/products/{id}', [ProductController::class, 'show'])->name( 'product.show', ); Route::get('/products-stock-check', [ProductController::class, 'checkStock'])->name( 'product.stock-check', ); // Photo for a product custom field, uploaded as soon as it's picked — // see CustomFieldUploadController. Throttled: it writes to disk and // needs no cart/session to call. Route::post('/custom-field-uploads', [CustomFieldUploadController::class, 'store']) ->middleware('throttle:20,1') ->name('custom-field-upload.store'); Route::post('/products/{product}/reviews', [ProductController::class, 'storeReview'])->name( 'product.reviews.store', ); Route::get('/category/{id}', [CategoryController::class, 'show'])->name( 'category.show', ); Route::get('/search', [SearchController::class, 'show'])->name('search'); Route::get('/contact', [ContactController::class, 'index'])->name('contact'); Route::get('/terms-and-conditions', [LegalPageController::class, 'terms'])->name( 'legal.terms', ); Route::get('/shipping-returns', [LegalPageController::class, 'shippingReturns'])->name( 'legal.shipping-returns', ); Route::get('/privacy-policy', [LegalPageController::class, 'privacy'])->name( 'legal.privacy', ); Route::get('/cookies-policy', [LegalPageController::class, 'cookies'])->name( 'legal.cookies', ); });