Squashed commit of the following:
commit bd212c3c4c1fb5aefcf2a79cef00cf1dd023405b
Author: Sebastien Hattry <sebastien.hattry@ldc.fr>
Date: Mon Feb 7 17:02:22 2022 +0100
seed gammes / products
commit b2628baa58c72f98b15a13cd9f31aa8b86c45a66
Author: Sebastien Hattry <sebastien.hattry@ldc.fr>
Date: Mon Feb 7 11:49:25 2022 +0100
PHPCS corrections
|
|
@ -34,6 +34,78 @@ class ProductsController extends Controller
|
|||
{
|
||||
$gammes = Gamme::all()->sortBy('title');
|
||||
//default structure + produits
|
||||
$tabFour = array(
|
||||
'id' => 0,
|
||||
'name' => 'Four',
|
||||
'url' => '/assets/images/four.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabFriteuse = array(
|
||||
'id' => 1,
|
||||
'name' => 'Friteuse',
|
||||
'url' => '/assets/images/friteuse.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabPoele = array(
|
||||
'id' => 2,
|
||||
'name' => 'Poêle',
|
||||
'url' => '/assets/images/poele.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabCocotte = array(
|
||||
'id' => 3,
|
||||
'name' => 'Cocotte',
|
||||
'url' => '/assets/images/cocotte.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabPlancha = array(
|
||||
'id' => 4,
|
||||
'name' => 'Plancha',
|
||||
'url' => '/assets/images/plancha.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabBainMarie = array(
|
||||
'id' => 5,
|
||||
'name' => 'Bain Marie',
|
||||
'url' => '/assets/images/bainmarie.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabBarbecue = array(
|
||||
'id' => 6,
|
||||
'name' => 'Barbecue',
|
||||
'url' => '/assets/images/barbecue.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabMicroOndes = array(
|
||||
'id' => 7,
|
||||
'name' => 'Micro Ondes',
|
||||
'url' => '/assets/images/microondes.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabCasserole = array(
|
||||
'id' => 8,
|
||||
'name' => 'Casserole',
|
||||
'url' => '/assets/images/casserole.png',
|
||||
'time' => '',
|
||||
'temp' => '',
|
||||
'status' => false
|
||||
);
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => '',
|
||||
|
|
@ -49,8 +121,9 @@ class ProductsController extends Controller
|
|||
'name' => '',
|
||||
'url' => '',
|
||||
);
|
||||
$product->pictos = json_encode([$tabFour, $tabFriteuse, $tabPoele, $tabCocotte, $tabPlancha, $tabBainMarie, $tabBarbecue, $tabMicroOndes, $tabCasserole]);
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1, $tabPlusProduit2, $tabPlusProduit3]);
|
||||
return view('back.products.create', compact('product','gammes'));
|
||||
return view('back.products.create', compact('product', 'gammes'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -63,14 +136,14 @@ class ProductsController extends Controller
|
|||
{
|
||||
$plusproduit = json_decode($request->plusproduit);
|
||||
$product = new Product($request->validated());
|
||||
if (is_a($request->picture,"SplFileInfo")) {
|
||||
if (is_a($request->picture, "SplFileInfo")) {
|
||||
$product->picture = Utils::storeImage($request->picture, $product->getTable());
|
||||
}
|
||||
|
||||
foreach($plusproduit as $plus) {
|
||||
$picto = 'pictogramme'.$plus->id;
|
||||
foreach ($plusproduit as $plus) {
|
||||
$picto = 'pictogramme' . $plus->id;
|
||||
$uploadfile = $request->$picto;
|
||||
if($uploadfile) {
|
||||
if ($uploadfile) {
|
||||
$plus->url = Utils::storeImage($uploadfile, $product->getTable());
|
||||
}
|
||||
}
|
||||
|
|
@ -112,16 +185,16 @@ class ProductsController extends Controller
|
|||
//valeurs transmises dans le post
|
||||
$plusproduit = json_decode($request->plusproduit);
|
||||
$product->fill($request->validated());
|
||||
if (is_a($request->picture,"SplFileInfo")) {
|
||||
if (is_a($request->picture, "SplFileInfo")) {
|
||||
$product->picture = Utils::storeImage($request->picture, $product->getTable());
|
||||
}
|
||||
|
||||
foreach($plusproduit as $plus) {
|
||||
foreach ($plusproduit as $plus) {
|
||||
//boucle pour stockage des images uploadées
|
||||
$picto = 'pictogramme'.$plus->id;
|
||||
$picto = 'pictogramme' . $plus->id;
|
||||
$uploadfile = $request->$picto;
|
||||
//set de l'url
|
||||
if($uploadfile) {
|
||||
if ($uploadfile) {
|
||||
$plus->url = Utils::storeImage($uploadfile, $product->getTable());
|
||||
} else {
|
||||
//reprise de l'ancienne valeur
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class StoreProductRequest extends FormRequest
|
|||
return auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Prepare the data for validation.
|
||||
*
|
||||
* @return void
|
||||
|
|
@ -84,11 +84,19 @@ class StoreProductRequest extends FormRequest
|
|||
$tabMicroOndes = array(
|
||||
'id' => 7,
|
||||
'name' => 'Micro Ondes',
|
||||
'url' => '/assets/images/microondes.png',
|
||||
'url' => '/assets/images/micro-onde.png',
|
||||
'time' => $this->time_cook7,
|
||||
'temp' => $this->temp_cook7,
|
||||
'status' => $this->is_activated7 ? true : false
|
||||
);
|
||||
$tabCasserole = array(
|
||||
'id' => 8,
|
||||
'name' => 'Casserole',
|
||||
'url' => '/assets/images/casserole.png',
|
||||
'time' => $this->time_cook8,
|
||||
'temp' => $this->temp_cook8,
|
||||
'status' => $this->is_activated8 ? true : false
|
||||
);
|
||||
$tabCuisson = json_encode([
|
||||
'four' => $tabFour,
|
||||
'friteuse' => $tabFriteuse,
|
||||
|
|
@ -97,7 +105,8 @@ class StoreProductRequest extends FormRequest
|
|||
'plancha' => $tabPlancha,
|
||||
'bainmarie' => $tabBainMarie,
|
||||
'barbecue' => $tabBarbecue,
|
||||
'microondes' => $tabMicroOndes
|
||||
'microondes' => $tabMicroOndes,
|
||||
'casserole' => $tabCasserole
|
||||
]);
|
||||
|
||||
$urlPlusProduit = "";
|
||||
|
|
|
|||
|
|
@ -82,6 +82,14 @@ class ProductFactory extends Factory
|
|||
'temp' => '900 Watts',
|
||||
'status' => false
|
||||
);
|
||||
$tabCasserole = array(
|
||||
'id' => 8,
|
||||
'name' => 'Casserole',
|
||||
'url' => '/assets/images/casserole.png',
|
||||
'time' => '10mins',
|
||||
'temp' => '90°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'Lorem ipsum set doloris',
|
||||
|
|
@ -116,7 +124,8 @@ class ProductFactory extends Factory
|
|||
'plancha' => $tabPlancha,
|
||||
'bainmarie' => $tabBainMarie,
|
||||
'barbecue' => $tabBarbecue,
|
||||
'microondes' => $tabMicroOndes
|
||||
'microondes' => $tabMicroOndes,
|
||||
'casserole' => $tabCasserole
|
||||
]),
|
||||
'plusproduit' => json_encode([$tabPlusProduit1, $tabPlusProduit2, $tabPlusProduit3]),
|
||||
'is_published' => true,
|
||||
|
|
|
|||
|
|
@ -18,58 +18,343 @@ class GammesSeeder extends Seeder
|
|||
*/
|
||||
public function run()
|
||||
{
|
||||
$tabGammes = [];
|
||||
$tabFour = array(
|
||||
'id' => 0,
|
||||
'name' => 'Four',
|
||||
'url' => '/assets/images/four.png',
|
||||
'time' => '1h30mins.',
|
||||
'temp' => '200°C',
|
||||
'status' => true
|
||||
);
|
||||
$tabFriteuse = array(
|
||||
'id' => 1,
|
||||
'name' => 'Friteuse',
|
||||
'url' => '/assets/images/friteuse.png',
|
||||
'time' => '15 minutes',
|
||||
'temp' => '100°C',
|
||||
'status' => true
|
||||
);
|
||||
$tabPoele = array(
|
||||
'id' => 2,
|
||||
'name' => 'Poêle',
|
||||
'url' => '/assets/images/poele.png',
|
||||
'time' => '5 minutes sur chaque face',
|
||||
'temp' => '101°C',
|
||||
'status' => true
|
||||
);
|
||||
$tabCocotte = array(
|
||||
'id' => 3,
|
||||
'name' => 'Cocotte',
|
||||
'url' => '/assets/images/cocotte.png',
|
||||
'time' => '3 h',
|
||||
'temp' => '80°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabPlancha = array(
|
||||
'id' => 4,
|
||||
'name' => 'Plancha',
|
||||
'url' => '/assets/images/plancha.png',
|
||||
'time' => '20mins',
|
||||
'temp' => '130°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabBainMarie = array(
|
||||
'id' => 5,
|
||||
'name' => 'Bain Marie',
|
||||
'url' => '/assets/images/bainmarie.png',
|
||||
'time' => '30 mins à 45 mins',
|
||||
'temp' => '80°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabBarbecue = array(
|
||||
'id' => 6,
|
||||
'name' => 'Barbecue',
|
||||
'url' => '/assets/images/barbecue.png',
|
||||
'time' => '30 minutes',
|
||||
'temp' => '200°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabMicroOndes = array(
|
||||
'id' => 7,
|
||||
'name' => 'Micro Ondes',
|
||||
'url' => '/assets/images/microondes.png',
|
||||
'time' => '3mins',
|
||||
'temp' => '900 Watts',
|
||||
'status' => false
|
||||
);
|
||||
$tabCasserole = array(
|
||||
'id' => 8,
|
||||
'name' => 'Casserole',
|
||||
'url' => '/assets/images/casserole.png',
|
||||
'time' => '10mins',
|
||||
'temp' => '90°C',
|
||||
'status' => false
|
||||
);
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'Lorem ipsum set doloris',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit2 = array(
|
||||
'id' => 1,
|
||||
'name' => 'Lorem ipsum set doloris',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit3 = array(
|
||||
'id' => 2,
|
||||
'name' => 'Lorem ipsum set doloris',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
|
||||
Gamme::factory(4)->create()
|
||||
->each(function (Gamme $gamme) use (&$tabGammes) {
|
||||
array_push($tabGammes, $gamme->color);
|
||||
});
|
||||
|
||||
$upload = new SplFileInfo(resource_path('assets/images/cookrange.jpg'));
|
||||
$picture = new Gamme();
|
||||
$imgpath = Utils::storeImage($upload, $picture->getTable());
|
||||
$upload = new SplFileInfo(resource_path('assets/images/entete_sous_gammes.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $picture->getTable());
|
||||
|
||||
foreach ($tabGammes as $key => $value) {
|
||||
for ($i = 0; $i < 2; $i++) {
|
||||
$gamme = new Gamme();
|
||||
$id = $key + 1;
|
||||
$gamme->parent_gamme_id = $id;
|
||||
$gamme->title = 'lorem ipsum' . $id . $i;
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'lorem ipsum set doloris' . $id . $i;
|
||||
$gamme->color = $value;
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = 'lorem utus garis' . $id . $i;
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = 'redus faeros' . $id . $i;
|
||||
$gamme->save();
|
||||
|
||||
Product::factory(rand(1, 10))->make()
|
||||
->each(function (Product $product) use (&$gamme) {
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->save();
|
||||
});
|
||||
}
|
||||
}
|
||||
$gamme = new Gamme();
|
||||
$id = $gamme->id;
|
||||
$gamme->parent_gamme_id = null;
|
||||
$gamme->title = 'lorem ipsum' . $id . $i;
|
||||
$gamme->title = 'Chicken Franks';
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'lorem gurus et ipsum set doloris' . $id . $i;
|
||||
$gamme->color = '#ffa58' . rand(1, 9);
|
||||
$gamme->text = 'Classiques ou Mini, faites votre choix';
|
||||
$gamme->color = '#ffa589';
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/chicken-franks.jpg'));
|
||||
$imgpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = 'lorem utus garis' . $id . $i;
|
||||
$gamme->alt_text_picture = $gamme->title;
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/entete_chicken-franks.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = 'redus faros' . $id . $i;
|
||||
$gamme->alt_text_banner = $gamme->title;
|
||||
$gamme->save();
|
||||
|
||||
Product::factory(4)->make()
|
||||
->each(function (Product $product) use (&$gamme) {
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->save();
|
||||
});
|
||||
$gameParent = $gamme->id;
|
||||
$gamme = new Gamme();
|
||||
$gamme->parent_gamme_id = $gameParent;
|
||||
$gamme->title = 'Les classiques';
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'Idéales pour toute la famille, les Chicken Franks classiques sont faciles et rapides à cuisiner. Faites votre choix parmi la multitude de saveurs disponibles.';
|
||||
$gamme->color = '#000000';
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/88853_1.jpg'));
|
||||
$imgpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = $gamme->title;
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/entete_chicken-franks.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = $gamme->title;
|
||||
$gamme->save();
|
||||
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'Multiplier les recettes avec ce produit : plats mijotés, hot dog, salades...',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit2 = array(
|
||||
'id' => 1,
|
||||
'name' => 'Une recette garantie sans colorant',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$product = new Product();
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->name = 'Chicken Franks Original';
|
||||
$product->slug = Str::slug($product->name);
|
||||
$product->description = 'Les Franks de poulet original : un goût unique et qui s\'accordera facilement à tous vos plats. Elles sont congelées directement après leur production afin de garantir une qualité et un goût optimal.';
|
||||
$upload = new SplFileInfo(resource_path('seeds/products/88891_2.png'));
|
||||
$imgpath = Utils::storeImage($upload, $product->getTable());
|
||||
$product->picture = $imgpath;
|
||||
$product->alt_text_picture = $product->name;
|
||||
$product->pictos = '';
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1, $tabPlusProduit2]);
|
||||
$product->is_published = true;
|
||||
$product->is_on_top = rand(true, false);
|
||||
$product->is_food_service = rand(true, false);
|
||||
$product->is_halal = rand(true, false);
|
||||
$product->seo_title = 'Chicken franks, poulet, recettes, qualité';
|
||||
$product->seo_description = 'Doux vous propose des Chicken Franks Original préparées en France';
|
||||
$product->save();
|
||||
|
||||
$gamme = new Gamme();
|
||||
$gamme->parent_gamme_id = $gameParent;
|
||||
$gamme->title = 'Les mini';
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'Rapide et pratique à réchauffer, ce format est idéal pour les moments de partage et les repas sur le pouce.';
|
||||
$gamme->color = '#c0d8e0';
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/132505_1.jpg'));
|
||||
$imgpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = $gamme->title;
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/entete-minis.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = $gamme->title;
|
||||
$gamme->save();
|
||||
|
||||
$tabMicroOndes = array(
|
||||
'id' => 0,
|
||||
'name' => 'Micro Ondes',
|
||||
'url' => '/assets/images/micro-onde.png',
|
||||
'time' => '3mins',
|
||||
'temp' => '900 Watts',
|
||||
'status' => true
|
||||
);
|
||||
$tabCasserole = array(
|
||||
'id' => 1,
|
||||
'name' => 'Casserole',
|
||||
'url' => '/assets/images/casserole.png',
|
||||
'time' => '5mins',
|
||||
'temp' => 'Au bain marie',
|
||||
'status' => true
|
||||
);
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'La gourmandise à emporter partout !',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit2 = array(
|
||||
'id' => 1,
|
||||
'name' => 'Le goût fromage, le petit plus qui fait qu\'on l\'adore',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$product = new Product();
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->name = 'Mini Chicken Franks Cheese';
|
||||
$product->slug = Str::slug($product->name);
|
||||
$product->description = 'Les Mini Chicken Franks cheese... avec elles, plus besoin de se priver pour se faire plaisir à tout moment de la journée';
|
||||
$upload = new SplFileInfo(resource_path('seeds/products/132505_2.png'));
|
||||
$imgpath = Utils::storeImage($upload, $product->getTable());
|
||||
$product->picture = $imgpath;
|
||||
$product->alt_text_picture = $product->name;
|
||||
$product->pictos = json_encode([
|
||||
'microondes' => $tabMicroOndes,
|
||||
'casserole' => $tabCasserole
|
||||
]);
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1, $tabPlusProduit2]);
|
||||
$product->is_published = true;
|
||||
$product->is_on_top = rand(true, false);
|
||||
$product->is_food_service = rand(true, false);
|
||||
$product->is_halal = rand(true, false);
|
||||
$product->seo_title = 'recette, qualité, Chicken franks, plaisir, gourmandise';
|
||||
$product->seo_description = 'Doux vous propose des Mini Chicken Franks Cheese préparées en France';
|
||||
$product->save();
|
||||
|
||||
$product = new Product();
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->name = 'Mini Chicken Franks Original';
|
||||
$product->slug = Str::slug($product->name);
|
||||
$product->description = 'Les Mini Chicken Franks original, c\'est votre recette de Franks préférée en plus petit ! De quoi vous faire craquer !';
|
||||
$upload = new SplFileInfo(resource_path('seeds/products/132504_2.png'));
|
||||
$imgpath = Utils::storeImage($upload, $product->getTable());
|
||||
$product->picture = $imgpath;
|
||||
$product->alt_text_picture = $product->name;
|
||||
$product->pictos = json_encode([
|
||||
'four' => $tabFour,
|
||||
'friteuse' => $tabFriteuse,
|
||||
'poele' => $tabPoele,
|
||||
'cocotte' => $tabCocotte,
|
||||
'plancha' => $tabPlancha,
|
||||
'bainmarie' => $tabBainMarie,
|
||||
'barbecue' => $tabBarbecue,
|
||||
'microondes' => $tabMicroOndes
|
||||
]);
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1, $tabPlusProduit2, $tabPlusProduit3]);
|
||||
$product->is_published = true;
|
||||
$product->is_on_top = rand(true, false);
|
||||
$product->is_food_service = rand(true, false);
|
||||
$product->is_halal = rand(true, false);
|
||||
$product->seo_title = 'recette, qualité, Chicken franks, plaisir, gourmandise';
|
||||
$product->seo_description = 'Doux vous propose des Mini Chicken Franks Cheese préparées en France';
|
||||
$product->save();
|
||||
|
||||
$gamme = new Gamme();
|
||||
$gamme->parent_gamme_id = null;
|
||||
$gamme->title = 'Prêts à cuire';
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'Steak haché de poulet façon bouchère, l\'innovation à marque Doux';
|
||||
$gamme->color = '#8fd5a6';
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/131700_1.jpg'));
|
||||
$imgpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = $gamme->title;
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/entete-pret-a-cuire.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = $gamme->title;
|
||||
$gamme->save();
|
||||
|
||||
$tabPoele = array(
|
||||
'id' => 0,
|
||||
'name' => 'Poêle',
|
||||
'url' => '/assets/images/poele.png',
|
||||
'time' => '10mins',
|
||||
'temp' => '',
|
||||
'status' => true
|
||||
);
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'Un hachage façon bouchère pour un goût et une texture exceptionnelle !',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit2 = array(
|
||||
'id' => 1,
|
||||
'name' => '100% cuisse, 100% qualité',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$tabPlusProduit3 = array(
|
||||
'id' => 2,
|
||||
'name' => 'Une recette sans colorant, sans exhausteur de goût et sans conservateur',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$product = new Product();
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->name = 'Steak haché de poulet';
|
||||
$product->slug = Str::slug($product->name);
|
||||
$product->description = 'Un steak haché de poulet façon bouchère avec un large grain. De la viande de qualité issue de la cuisse. Rien de plus, rien de moins.';
|
||||
$upload = new SplFileInfo(resource_path('seeds/products/131700_1.png'));
|
||||
$imgpath = Utils::storeImage($upload, $product->getTable());
|
||||
$product->picture = $imgpath;
|
||||
$product->alt_text_picture = 'Un produit incontournable du rayon surgelé maintenant disponible au rayon poulet.';
|
||||
$product->pictos = json_encode(['poele' => $tabPoele]);
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1, $tabPlusProduit2, $tabPlusProduit3]);
|
||||
$product->is_published = true;
|
||||
$product->is_on_top = rand(true, false);
|
||||
$product->is_food_service = rand(true, false);
|
||||
$product->is_halal = rand(true, false);
|
||||
$product->seo_title = 'recette, qualité, viande, cuisse, steak haché, poulet';
|
||||
$product->seo_description = 'Doux vous propose un Steak haché de poulet préparé en France';
|
||||
$product->save();
|
||||
|
||||
$gamme = new Gamme();
|
||||
$gamme->title = 'Volailles entières';
|
||||
$gamme->slug = Str::slug($gamme->title);
|
||||
$gamme->text = 'Découvrez la gamme historique de Doux. Des volailles entières, nées, élevées et préparées en France, nourries exclusivement avec des végétaux, des minéraux et des vitamines.';
|
||||
$gamme->color = '#d4eac8';
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/gamme_volaille.jpg'));
|
||||
$imgpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->picture = $imgpath;
|
||||
$gamme->alt_text_picture = $gamme->title;
|
||||
$upload = new SplFileInfo(resource_path('seeds/gammes/entete-volaille.jpg'));
|
||||
$bannerpath = Utils::storeImage($upload, $gamme->getTable());
|
||||
$gamme->banner = $bannerpath;
|
||||
$gamme->alt_text_banner = $gamme->title;
|
||||
$gamme->save();
|
||||
|
||||
$tabPlusProduit1 = array(
|
||||
'id' => 0,
|
||||
'name' => 'Volailles nourries exclusivement avec des végétaux, des minéraux et des vitamines',
|
||||
'url' => '/assets/images/sans-label.jpg',
|
||||
);
|
||||
$product = new Product();
|
||||
$product->gamme_id = $gamme->id;
|
||||
$product->name = 'Poulet sans abats';
|
||||
$product->slug = Str::slug($product->name);
|
||||
$product->description = 'Le poulet Doux est congelé dans les 24h après l\'abattage pour garantir ses qualités nutritionnelles et gustatives. Un produit historique qui a fait la réputation de la marque et qui vous satisfait depuis près de 90 ans !';
|
||||
$upload = new SplFileInfo(resource_path('seeds/products/89779_1.png'));
|
||||
$imgpath = Utils::storeImage($upload, $product->getTable());
|
||||
$product->picture = $imgpath;
|
||||
$product->alt_text_picture = $product->name;
|
||||
$product->pictos = '';
|
||||
$product->plusproduit = json_encode([$tabPlusProduit1]);
|
||||
$product->is_published = true;
|
||||
$product->is_on_top = rand(true, false);
|
||||
$product->is_food_service = rand(true, false);
|
||||
$product->is_halal = rand(true, false);
|
||||
$product->seo_title = 'volaille, poulet, Doux, qualités';
|
||||
$product->seo_description = 'Doux vous propose des Poulets entiers congelés, nés, élevés et préparés en France';
|
||||
$product->save();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
BIN
public/assets/images/casserole.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
public/assets/images/micro-onde.png
Normal file
|
After Width: | Height: | Size: 5 KiB |
1
public/css/preload-front.css
vendored
|
|
@ -4200,7 +4200,6 @@ ul.more li{
|
|||
align-items:center;
|
||||
position:relative;
|
||||
padding-left:25px;
|
||||
margin-bottom:30px;
|
||||
width:100%;
|
||||
}
|
||||
ul.more li:last-of-type{
|
||||
|
|
|
|||
2
public/js/preload-back.js
vendored
|
|
@ -170,7 +170,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||
/******/ installedChunks[chunkId][0]();
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkIds[i]] = 0;
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ return __webpack_require__.O(result);
|
||||
/******/ }
|
||||
|
|
|
|||
216
public/js/preload-front.js
vendored
|
|
@ -32,7 +32,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
||||
|
||||
/*js doc*/
|
||||
var Carrousel = /*#__PURE__*/function () {
|
||||
|
|
@ -499,7 +499,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
||||
|
||||
/**
|
||||
* LDC Service Web
|
||||
|
|
@ -1354,6 +1354,33 @@ module.exports = function (METHOD_NAME, argument) {
|
|||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/array-slice-simple.js":
|
||||
/*!**************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/array-slice-simple.js ***!
|
||||
\**************************************************************/
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||||
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
|
||||
var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "./node_modules/core-js/internals/length-of-array-like.js");
|
||||
var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
|
||||
|
||||
var Array = global.Array;
|
||||
var max = Math.max;
|
||||
|
||||
module.exports = function (O, start, end) {
|
||||
var length = lengthOfArrayLike(O);
|
||||
var k = toAbsoluteIndex(start, length);
|
||||
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
||||
var result = Array(max(fin - k, 0));
|
||||
for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
|
||||
result.length = n;
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/array-slice.js":
|
||||
|
|
@ -1557,13 +1584,15 @@ var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/c
|
|||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||||
|
||||
module.exports = function (target, source) {
|
||||
module.exports = function (target, source, exceptions) {
|
||||
var keys = ownKeys(source);
|
||||
var defineProperty = definePropertyModule.f;
|
||||
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
|
||||
defineProperty(target, key, getOwnPropertyDescriptor(source, key));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1629,9 +1658,9 @@ var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_module
|
|||
|
||||
var returnThis = function () { return this; };
|
||||
|
||||
module.exports = function (IteratorConstructor, NAME, next) {
|
||||
module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
|
||||
var TO_STRING_TAG = NAME + ' Iterator';
|
||||
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
|
||||
IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
|
||||
setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
|
||||
Iterators[TO_STRING_TAG] = returnThis;
|
||||
return IteratorConstructor;
|
||||
|
|
@ -2170,15 +2199,16 @@ module.exports = function (KEY, exec, FORCED, SHAM) {
|
|||
/*!**********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/function-apply.js ***!
|
||||
\**********************************************************/
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js");
|
||||
|
||||
var FunctionPrototype = Function.prototype;
|
||||
var apply = FunctionPrototype.apply;
|
||||
var bind = FunctionPrototype.bind;
|
||||
var call = FunctionPrototype.call;
|
||||
|
||||
// eslint-disable-next-line es/no-reflect -- safe
|
||||
module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {
|
||||
module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
|
||||
return call.apply(apply, arguments);
|
||||
});
|
||||
|
||||
|
|
@ -2193,29 +2223,49 @@ module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bin
|
|||
|
||||
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "./node_modules/core-js/internals/function-uncurry-this.js");
|
||||
var aCallable = __webpack_require__(/*! ../internals/a-callable */ "./node_modules/core-js/internals/a-callable.js");
|
||||
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js");
|
||||
|
||||
var bind = uncurryThis(uncurryThis.bind);
|
||||
|
||||
// optional / simple context binding
|
||||
module.exports = function (fn, that) {
|
||||
aCallable(fn);
|
||||
return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {
|
||||
return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
|
||||
return fn.apply(that, arguments);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/function-bind-native.js":
|
||||
/*!****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/function-bind-native.js ***!
|
||||
\****************************************************************/
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||||
|
||||
module.exports = !fails(function () {
|
||||
var test = (function () { /* empty */ }).bind();
|
||||
// eslint-disable-next-line no-prototype-builtins -- safe
|
||||
return typeof test != 'function' || test.hasOwnProperty('prototype');
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/function-call.js":
|
||||
/*!*********************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/function-call.js ***!
|
||||
\*********************************************************/
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js");
|
||||
|
||||
var call = Function.prototype.call;
|
||||
|
||||
module.exports = call.bind ? call.bind(call) : function () {
|
||||
module.exports = NATIVE_BIND ? call.bind(call) : function () {
|
||||
return call.apply(call, arguments);
|
||||
};
|
||||
|
||||
|
|
@ -2253,15 +2303,17 @@ module.exports = {
|
|||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/function-uncurry-this.js ***!
|
||||
\*****************************************************************/
|
||||
/***/ ((module) => {
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "./node_modules/core-js/internals/function-bind-native.js");
|
||||
|
||||
var FunctionPrototype = Function.prototype;
|
||||
var bind = FunctionPrototype.bind;
|
||||
var call = FunctionPrototype.call;
|
||||
var callBind = bind && bind.bind(call);
|
||||
var uncurryThis = NATIVE_BIND && bind.bind(call, call);
|
||||
|
||||
module.exports = bind ? function (fn) {
|
||||
return fn && callBind(call, fn);
|
||||
module.exports = NATIVE_BIND ? function (fn) {
|
||||
return fn && uncurryThis(fn);
|
||||
} : function (fn) {
|
||||
return fn && function () {
|
||||
return call.apply(fn, arguments);
|
||||
|
|
@ -2487,9 +2539,9 @@ var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_mo
|
|||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||||
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
// Thanks to IE8 for its funny defineProperty
|
||||
module.exports = !DESCRIPTORS && !fails(function () {
|
||||
// eslint-disable-next-line es/no-object-defineproperty -- requied for testing
|
||||
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
||||
return Object.defineProperty(createElement('div'), 'a', {
|
||||
get: function () { return 7; }
|
||||
}).a != 7;
|
||||
|
|
@ -2728,7 +2780,7 @@ var constructorRegExp = /^\s*(?:class|function)\b/;
|
|||
var exec = uncurryThis(constructorRegExp.exec);
|
||||
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
|
||||
|
||||
var isConstructorModern = function (argument) {
|
||||
var isConstructorModern = function isConstructor(argument) {
|
||||
if (!isCallable(argument)) return false;
|
||||
try {
|
||||
construct(noop, empty, argument);
|
||||
|
|
@ -2738,16 +2790,25 @@ var isConstructorModern = function (argument) {
|
|||
}
|
||||
};
|
||||
|
||||
var isConstructorLegacy = function (argument) {
|
||||
var isConstructorLegacy = function isConstructor(argument) {
|
||||
if (!isCallable(argument)) return false;
|
||||
switch (classof(argument)) {
|
||||
case 'AsyncFunction':
|
||||
case 'GeneratorFunction':
|
||||
case 'AsyncGeneratorFunction': return false;
|
||||
}
|
||||
try {
|
||||
// we can't check .prototype since constructors produced by .bind haven't it
|
||||
} return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
|
||||
// `Function#toString` throws on some built-it function in some legacy engines
|
||||
// (for example, `DOMQuad` and similar in FF41-)
|
||||
return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
isConstructorLegacy.sham = true;
|
||||
|
||||
// `IsConstructor` abstract operation
|
||||
// https://tc39.es/ecma262/#sec-isconstructor
|
||||
module.exports = !construct || fails(function () {
|
||||
|
|
@ -3101,7 +3162,7 @@ module.exports = !$assign || fails(function () {
|
|||
|
||||
/* global ActiveXObject -- old IE, WSH */
|
||||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||||
var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||||
var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||||
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
|
||||
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
|
||||
var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
|
||||
|
|
@ -3179,7 +3240,7 @@ module.exports = Object.create || function create(O, Properties) {
|
|||
// add "__proto__" for Object.getPrototypeOf polyfill
|
||||
result[IE_PROTO] = O;
|
||||
} else result = NullProtoObject();
|
||||
return Properties === undefined ? result : defineProperties(result, Properties);
|
||||
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -3189,9 +3250,10 @@ module.exports = Object.create || function create(O, Properties) {
|
|||
/*!********************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/object-define-properties.js ***!
|
||||
\********************************************************************/
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||||
|
||||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||||
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js");
|
||||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||||
|
|
@ -3200,7 +3262,7 @@ var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_mod
|
|||
// `Object.defineProperties` method
|
||||
// https://tc39.es/ecma262/#sec-object.defineproperties
|
||||
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
||||
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
||||
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
|
||||
anObject(O);
|
||||
var props = toIndexedObject(Properties);
|
||||
var keys = objectKeys(Properties);
|
||||
|
|
@ -3223,16 +3285,37 @@ module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperti
|
|||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||||
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
|
||||
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "./node_modules/core-js/internals/v8-prototype-define-bug.js");
|
||||
var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
|
||||
var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "./node_modules/core-js/internals/to-property-key.js");
|
||||
|
||||
var TypeError = global.TypeError;
|
||||
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
||||
var $defineProperty = Object.defineProperty;
|
||||
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
||||
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
||||
var ENUMERABLE = 'enumerable';
|
||||
var CONFIGURABLE = 'configurable';
|
||||
var WRITABLE = 'writable';
|
||||
|
||||
// `Object.defineProperty` method
|
||||
// https://tc39.es/ecma262/#sec-object.defineproperty
|
||||
exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
|
||||
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPropertyKey(P);
|
||||
anObject(Attributes);
|
||||
if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
|
||||
var current = $getOwnPropertyDescriptor(O, P);
|
||||
if (current && current[WRITABLE]) {
|
||||
O[P] = Attributes.value;
|
||||
Attributes = {
|
||||
configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
|
||||
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
|
||||
writable: false
|
||||
};
|
||||
}
|
||||
} return $defineProperty(O, P, Attributes);
|
||||
} : $defineProperty : function defineProperty(O, P, Attributes) {
|
||||
anObject(O);
|
||||
P = toPropertyKey(P);
|
||||
anObject(Attributes);
|
||||
|
|
@ -3289,7 +3372,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
|
|||
var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
|
||||
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
|
||||
var $getOwnPropertyNames = (__webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f);
|
||||
var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js");
|
||||
var arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ "./node_modules/core-js/internals/array-slice-simple.js");
|
||||
|
||||
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
||||
? Object.getOwnPropertyNames(window) : [];
|
||||
|
|
@ -3753,7 +3836,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
|
|||
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
||||
})();
|
||||
|
||||
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
|
||||
var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
|
||||
|
||||
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
||||
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
||||
|
|
@ -3761,7 +3844,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|||
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
|
||||
|
||||
if (PATCH) {
|
||||
// eslint-disable-next-line max-statements -- TODO
|
||||
patchedExec = function exec(string) {
|
||||
var re = this;
|
||||
var state = getInternalState(re);
|
||||
|
|
@ -3876,7 +3958,7 @@ module.exports = function () {
|
|||
/*!*****************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***!
|
||||
\*****************************************************************/
|
||||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||||
var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
|
||||
|
|
@ -3884,19 +3966,31 @@ var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core
|
|||
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
||||
var $RegExp = global.RegExp;
|
||||
|
||||
exports.UNSUPPORTED_Y = fails(function () {
|
||||
var UNSUPPORTED_Y = fails(function () {
|
||||
var re = $RegExp('a', 'y');
|
||||
re.lastIndex = 2;
|
||||
return re.exec('abcd') != null;
|
||||
});
|
||||
|
||||
exports.BROKEN_CARET = fails(function () {
|
||||
// UC Browser bug
|
||||
// https://github.com/zloirock/core-js/issues/1008
|
||||
var MISSED_STICKY = UNSUPPORTED_Y || fails(function () {
|
||||
return !$RegExp('a', 'y').sticky;
|
||||
});
|
||||
|
||||
var BROKEN_CARET = UNSUPPORTED_Y || fails(function () {
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
||||
var re = $RegExp('^r', 'gy');
|
||||
re.lastIndex = 2;
|
||||
return re.exec('str') != null;
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
BROKEN_CARET: BROKEN_CARET,
|
||||
MISSED_STICKY: MISSED_STICKY,
|
||||
UNSUPPORTED_Y: UNSUPPORTED_Y
|
||||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
|
@ -4025,9 +4119,10 @@ var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */
|
|||
|
||||
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
||||
|
||||
module.exports = function (it, TAG, STATIC) {
|
||||
if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
|
||||
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
|
||||
module.exports = function (target, TAG, STATIC) {
|
||||
if (target && !STATIC) target = target.prototype;
|
||||
if (target && !hasOwn(target, TO_STRING_TAG)) {
|
||||
defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -4081,9 +4176,11 @@ var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules
|
|||
(module.exports = function (key, value) {
|
||||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||||
})('versions', []).push({
|
||||
version: '3.19.1',
|
||||
version: '3.21.0',
|
||||
mode: IS_PURE ? 'pure' : 'global',
|
||||
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
||||
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
|
||||
license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE',
|
||||
source: 'https://github.com/zloirock/core-js'
|
||||
});
|
||||
|
||||
|
||||
|
|
@ -4422,6 +4519,28 @@ module.exports = NATIVE_SYMBOL
|
|||
&& typeof Symbol.iterator == 'symbol';
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/v8-prototype-define-bug.js":
|
||||
/*!*******************************************************************!*\
|
||||
!*** ./node_modules/core-js/internals/v8-prototype-define-bug.js ***!
|
||||
\*******************************************************************/
|
||||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||||
|
||||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||||
var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
|
||||
|
||||
// V8 ~ Chrome 36-
|
||||
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
||||
module.exports = DESCRIPTORS && fails(function () {
|
||||
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
||||
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
||||
value: 42,
|
||||
writable: false
|
||||
}).prototype != 42;
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js":
|
||||
|
|
@ -4507,7 +4626,10 @@ var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */
|
|||
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
|
||||
var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
|
||||
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
|
||||
var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f);
|
||||
var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
|
||||
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
|
||||
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
|
||||
|
||||
var ARRAY_ITERATOR = 'Array Iterator';
|
||||
var setInternalState = InternalStateModule.set;
|
||||
|
|
@ -4549,13 +4671,18 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|||
// argumentsList[@@iterator] is %ArrayProto_values%
|
||||
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
|
||||
// https://tc39.es/ecma262/#sec-createmappedargumentsobject
|
||||
Iterators.Arguments = Iterators.Array;
|
||||
var values = Iterators.Arguments = Iterators.Array;
|
||||
|
||||
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
||||
addToUnscopables('keys');
|
||||
addToUnscopables('values');
|
||||
addToUnscopables('entries');
|
||||
|
||||
// V8 ~ Chrome 45- bug
|
||||
if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
|
||||
defineProperty(values, 'name', { value: 'values' });
|
||||
} catch (error) { /* empty */ }
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
|
@ -4659,7 +4786,7 @@ var defineProperty = (__webpack_require__(/*! ../internals/object-define-propert
|
|||
|
||||
var FunctionPrototype = Function.prototype;
|
||||
var functionToString = uncurryThis(FunctionPrototype.toString);
|
||||
var nameRE = /^\s*function ([^ (]*)/;
|
||||
var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
|
||||
var regExpExec = uncurryThis(nameRE.exec);
|
||||
var NAME = 'name';
|
||||
|
||||
|
|
@ -4785,10 +4912,11 @@ var re2 = /a/g;
|
|||
// "new" should create a new object, old webkit bug
|
||||
var CORRECT_NEW = new NativeRegExp(re1) !== re1;
|
||||
|
||||
var MISSED_STICKY = stickyHelpers.MISSED_STICKY;
|
||||
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
|
||||
|
||||
var BASE_FORCED = DESCRIPTORS &&
|
||||
(!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
|
||||
(!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
|
||||
re2[MATCH] = false;
|
||||
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
||||
return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
|
||||
|
|
@ -4893,9 +5021,9 @@ if (isForced('RegExp', BASE_FORCED)) {
|
|||
|
||||
rawFlags = flags;
|
||||
|
||||
if (UNSUPPORTED_Y && 'sticky' in re1) {
|
||||
if (MISSED_STICKY && 'sticky' in re1) {
|
||||
sticky = !!flags && stringIndexOf(flags, 'y') > -1;
|
||||
if (sticky) flags = replace(flags, /y/g, '');
|
||||
if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');
|
||||
}
|
||||
|
||||
if (UNSUPPORTED_NCG) {
|
||||
|
|
@ -5297,7 +5425,7 @@ var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-ind
|
|||
var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
|
||||
var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js");
|
||||
var getMethod = __webpack_require__(/*! ../internals/get-method */ "./node_modules/core-js/internals/get-method.js");
|
||||
var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js");
|
||||
var arraySlice = __webpack_require__(/*! ../internals/array-slice-simple */ "./node_modules/core-js/internals/array-slice-simple.js");
|
||||
var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
|
||||
var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
|
||||
var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js");
|
||||
|
|
@ -5566,6 +5694,7 @@ var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-ge
|
|||
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
|
||||
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
|
||||
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
|
||||
var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
|
||||
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
|
||||
var arraySlice = __webpack_require__(/*! ../internals/array-slice */ "./node_modules/core-js/internals/array-slice.js");
|
||||
var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
|
||||
|
|
@ -5732,6 +5861,7 @@ if (!NATIVE_SYMBOL) {
|
|||
|
||||
propertyIsEnumerableModule.f = $propertyIsEnumerable;
|
||||
definePropertyModule.f = $defineProperty;
|
||||
definePropertiesModule.f = $defineProperties;
|
||||
getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
|
||||
getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
|
||||
getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
|
||||
|
|
|
|||
BIN
resources/assets/images/casserole.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
resources/assets/images/micro-onde.png
Normal file
|
After Width: | Height: | Size: 5 KiB |
2
resources/sass/frontend/_globals.scss
vendored
|
|
@ -94,7 +94,7 @@ ul.more {
|
|||
align-items: center;
|
||||
position: relative;
|
||||
padding-left: 25px;
|
||||
margin-bottom: 30px;
|
||||
// margin-bottom: 30px;
|
||||
width: 100%;
|
||||
|
||||
&:last-of-type {
|
||||
|
|
|
|||
BIN
resources/seeds/gammes/131700_1.jpg
Normal file
|
After Width: | Height: | Size: 168 KiB |
BIN
resources/seeds/gammes/132505_1.jpg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
resources/seeds/gammes/88853_1.jpg
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
resources/seeds/gammes/chicken-franks.jpg
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
resources/seeds/gammes/entete-minis.jpg
Normal file
|
After Width: | Height: | Size: 236 KiB |
BIN
resources/seeds/gammes/entete-pret-a-cuire.jpg
Normal file
|
After Width: | Height: | Size: 300 KiB |
BIN
resources/seeds/gammes/entete-volaille.jpg
Normal file
|
After Width: | Height: | Size: 232 KiB |
BIN
resources/seeds/gammes/entete_chicken-franks.jpg
Normal file
|
After Width: | Height: | Size: 296 KiB |
BIN
resources/seeds/gammes/gamme_volaille.jpg
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
resources/seeds/products/131700_1.png
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
resources/seeds/products/132504_2.png
Normal file
|
After Width: | Height: | Size: 283 KiB |
BIN
resources/seeds/products/132505_2.png
Normal file
|
After Width: | Height: | Size: 281 KiB |
BIN
resources/seeds/products/88891_2.png
Normal file
|
After Width: | Height: | Size: 284 KiB |
BIN
resources/seeds/products/89779_1.jpg
Normal file
|
After Width: | Height: | Size: 290 KiB |
BIN
resources/seeds/products/89779_1.png
Normal file
|
After Width: | Height: | Size: 200 KiB |
|
|
@ -100,7 +100,7 @@ $plusproduit = json_decode($product->plusproduit);
|
|||
<tbody>
|
||||
@foreach ($plusproduit as $plus)
|
||||
<tr>
|
||||
<td><input type="text" id="content{{$plus->id}}" name="content{{$plus->id}}" class="form-control" placeholder="{{ __('Texte') }} *" value="{{ old('content'.$plus->id, $plus->name ?? '') }}" required></td>
|
||||
<td><input type="text" id="content{{$plus->id}}" name="content{{$plus->id}}" class="form-control" placeholder="{{ __('Texte') }} *" value="{{ old('content'.$plus->id, $plus->name ?? '') }}"></td>
|
||||
@include('back.modules.input-error', ['inputName'=>'content{{$plus->id}}'])
|
||||
<td>
|
||||
<div class="form-group">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,4 @@
|
|||
<div class="is-flex">
|
||||
{{-- @php
|
||||
dd($products);
|
||||
@endphp --}}
|
||||
@foreach ($products as $product)
|
||||
@if (isset($childGamme))
|
||||
@if ($product->gamme_id === $childGamme->id)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
<section class="jumbotron">
|
||||
<p class="maintitle ttu animate__animated fadeIn animate__slow">{{ $gamme->title}}
|
||||
</p>
|
||||
<img class="img-zoom" src="{{ asset('assets/images/volailles.jpg') }}" alt="">
|
||||
<img class="img-zoom" src="{{ asset($gamme->banner) }}" alt="{{ $gamme->alt_text_banner }}">
|
||||
{{-- <img class="img-zoom" src="{{ asset('assets/images/volailles.jpg') }}" alt=""> --}}
|
||||
<div class="banner">
|
||||
<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1919.76 59.99">
|
||||
<defs>
|
||||
|
|
@ -66,9 +67,11 @@
|
|||
@foreach ($plusproduit as $plus)
|
||||
<li class="is-flex animate__animated fadeInRight animate__slow">
|
||||
<p>{{ $plus->name }}</p>
|
||||
<span class="label">
|
||||
<img src="{{$plus->url}}" alt="{{$plus->name}}">
|
||||
</span>
|
||||
@if ($plus->url != '')
|
||||
<span class="label">
|
||||
<img src="{{$plus->url}}" alt="{{$plus->name}}">
|
||||
</span>
|
||||
@endif
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ Route::prefix('bo')
|
|||
);
|
||||
}
|
||||
);
|
||||
Route::middleware(['auth:web', 'init-vars','lang-check'])
|
||||
Route::middleware(['auth:web', 'init-vars', 'lang-check'])
|
||||
->group(
|
||||
function () {
|
||||
Route::get(
|
||||
|
|
@ -106,33 +106,31 @@ Route::prefix('bo')
|
|||
}
|
||||
);
|
||||
|
||||
$langs = ['en','es',''];
|
||||
$langs = ['en', 'es', ''];
|
||||
|
||||
foreach ($langs as $lang) {
|
||||
Route::middleware(['init-vars','lang-check'])
|
||||
->prefix($lang)
|
||||
->name($lang == '' ? '' : $lang .'.')
|
||||
->group(
|
||||
function () {
|
||||
Route::get('/', [ControllersHomeController::class, 'index'])->name('home');
|
||||
Route::view('/notre-marque', 'front.a-propos')->name('wasup');
|
||||
Route::get('/nos-gammes', [ControllersGammesController::class, 'index'])->name('gammes.index');
|
||||
Route::get('/gamme/{gammeSlug}', [ControllersGammesController::class, 'show'])->name('gammes.show');
|
||||
Route::get(
|
||||
'/produit/{gammeSlug}/{productSlug}',
|
||||
[ControllersProductsController::class, 'show']
|
||||
)->name('product.show');
|
||||
Route::view('/nos-actualites', 'front.news')->name('news');
|
||||
Route::view('/food-service', 'front.food-service')->name('food');
|
||||
Route::view('/mentions-legales', 'front.legals')->name('cgu');
|
||||
Route::view('/charte-confidentialite', 'front.policy')->name('policy');
|
||||
Route::view('/plan-site', 'front.site-map')->name('site-map');
|
||||
Route::get('/recherche', [ControllersProductsController::class, 'search'])->name('search');
|
||||
//Classic
|
||||
Route::get('/contact', [ControllersContactController::class, 'contact'])->name('contact');
|
||||
Route::post('/contact', [ControllersContactController::class, 'contactSubmit'])->name('contact.submit');
|
||||
}
|
||||
);
|
||||
Route::middleware(['init-vars', 'lang-check'])
|
||||
->prefix($lang)
|
||||
->name($lang == '' ? '' : $lang . '.')
|
||||
->group(
|
||||
function () {
|
||||
Route::get('/', [ControllersHomeController::class, 'index'])->name('home');
|
||||
Route::view('/notre-marque', 'front.a-propos')->name('wasup');
|
||||
Route::get('/nos-gammes', [ControllersGammesController::class, 'index'])->name('gammes.index');
|
||||
Route::get('/gamme/{gammeSlug}', [ControllersGammesController::class, 'show'])->name('gammes.show');
|
||||
Route::get(
|
||||
'/produit/{gammeSlug}/{productSlug}',
|
||||
[ControllersProductsController::class, 'show']
|
||||
)->name('product.show');
|
||||
Route::view('/nos-actualites', 'front.news')->name('news');
|
||||
Route::view('/food-service', 'front.food-service')->name('food');
|
||||
Route::view('/mentions-legales', 'front.legals')->name('cgu');
|
||||
Route::view('/charte-confidentialite', 'front.policy')->name('policy');
|
||||
Route::view('/plan-site', 'front.site-map')->name('site-map');
|
||||
Route::get('/recherche', [ControllersProductsController::class, 'search'])->name('search');
|
||||
//Classic
|
||||
Route::get('/contact', [ControllersContactController::class, 'contact'])->name('contact');
|
||||
Route::post('/contact', [ControllersContactController::class, 'contactSubmit'])->name('contact.submit');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||