302 lines
12 KiB
PHP
302 lines
12 KiB
PHP
<?php
|
||
|
||
// phpcs:disable Generic.Files.LineLength.TooLong
|
||
|
||
use App\Enums\ArticleCategory;
|
||
use App\Enums\BreedingPageType;
|
||
use App\Enums\NutritionPageType;
|
||
use App\Models\Articles;
|
||
use App\Models\BreedingPage;
|
||
use App\Models\Moments;
|
||
use App\Models\NutritionPage;
|
||
use App\Models\OCBBreeder;
|
||
use App\Models\Products;
|
||
use App\Models\Recipes;
|
||
use Diglactic\Breadcrumbs\Breadcrumbs;
|
||
use Diglactic\Breadcrumbs\Generator;
|
||
|
||
// * Root
|
||
Breadcrumbs::for('home', function (Generator $trail) {
|
||
$trail->push(__('Accueil'), route('home'));
|
||
});
|
||
|
||
// * First Level
|
||
Breadcrumbs::for('contact-us', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Contact'), route('contact-us'));
|
||
});
|
||
Breadcrumbs::for('onsengage', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('On s\'engage'));
|
||
});
|
||
Breadcrumbs::for('product-request', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Contact'), route('product-request'));
|
||
});
|
||
Breadcrumbs::for('faq', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Foire aux questions'), route('faq'));
|
||
});
|
||
Breadcrumbs::for('legal-notice', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Mentions légales'), route('legal-notice'));
|
||
});
|
||
|
||
// * Second level
|
||
// * Products
|
||
Breadcrumbs::for('products.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Produits'), route('products.index'));
|
||
});
|
||
Breadcrumbs::for('products.range', function (Generator $trail) {
|
||
$trail->parent('products.index');
|
||
$trail->push(__('Gammes'));
|
||
});
|
||
Breadcrumbs::for('products.range.show', function (Generator $trail, $slugRange) {
|
||
$trail->parent('products.range');
|
||
$trail->push(ucfirst($slugRange), route('products.range', compact('slugRange')));
|
||
});
|
||
Breadcrumbs::for('products.meat-type', function (Generator $trail) {
|
||
$trail->parent('products.index');
|
||
$trail->push(__('Types de viandes'));
|
||
});
|
||
Breadcrumbs::for('products.meat-type.show', function (Generator $trail, $slugMeatType) {
|
||
$trail->parent('products.meat-type');
|
||
$trail->push(ucfirst($slugMeatType), route('products.meat-type', compact('slugMeatType')));
|
||
});
|
||
Breadcrumbs::for('products.consumption-times', function (Generator $trail) {
|
||
$trail->parent('products.index');
|
||
$trail->push(__('Moments de consommation'));
|
||
});
|
||
Breadcrumbs::for('products.consumption-times.show', function (Generator $trail, $slugConsumptionTime) {
|
||
$trail->parent('products.consumption-times');
|
||
$trail->push(ucfirst($slugConsumptionTime), route('products.consumption-times', compact('slugConsumptionTime')));
|
||
});
|
||
Breadcrumbs::for('product.show', function (Generator $trail, Products $publishedProduct) {
|
||
$trail->parent('products.index');
|
||
$trail->push($publishedProduct->name, route('product.show', compact('publishedProduct')));
|
||
});
|
||
|
||
// * Kitchen side
|
||
Breadcrumbs::for('kitchen-side.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Coté Cuisine'), route('kitchen-side.index'));
|
||
});
|
||
// * Recipes
|
||
Breadcrumbs::for('recipes.index', function (Generator $trail) {
|
||
$trail->parent('kitchen-side.index');
|
||
$trail->push(__('Liste des Recettes'), route('recipes.index'));
|
||
});
|
||
Breadcrumbs::for('recipes.show', function (Generator $trail, Recipes $recipe) {
|
||
$trail->parent('recipes.index');
|
||
$trail->push(
|
||
$recipe->title,
|
||
route('recipes.show', compact('recipe')),
|
||
['image' => asset($recipe->picture)]
|
||
);
|
||
});
|
||
// * Health and nutrition
|
||
Breadcrumbs::for('kitchen-side.health-nutrition.index', function (Generator $trail) {
|
||
$trail->parent('kitchen-side.index');
|
||
$trail->push(__('Santé et Nutrition'));
|
||
});
|
||
Breadcrumbs::for('kitchen-side.health-nutrition.nutrition-poultry', function (Generator $trail) {
|
||
$trail->parent('kitchen-side.health-nutrition.index');
|
||
$trail->push(
|
||
NutritionPage::select(['menuTitle'])->where('type', NutritionPageType::poultry())->firstOrFail()->menuTitle,
|
||
route('kitchen-side.health-nutrition.nutrition-poultry')
|
||
);
|
||
});
|
||
Breadcrumbs::for('kitchen-side.health-nutrition.nutrition-quality', function (Generator $trail) {
|
||
$trail->parent('kitchen-side.health-nutrition.index');
|
||
$trail->push(
|
||
NutritionPage::select(['menuTitle'])->where('type', NutritionPageType::quality())->firstOrFail()->menuTitle,
|
||
route('kitchen-side.health-nutrition.nutrition-quality')
|
||
);
|
||
});
|
||
|
||
// * Kitchen side
|
||
Breadcrumbs::for('brand.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('La marque'), route('brand.index'));
|
||
$trail->push(__('Le Gaulois, Français et Populaire'), route('brand.index'));
|
||
});
|
||
Breadcrumbs::for('brand.history', function (Generator $trail) {
|
||
$trail->parent('brand.index');
|
||
$trail->push(__('Notre histoire'), route('brand.history'));
|
||
});
|
||
Breadcrumbs::for('brand.pub', function (Generator $trail) {
|
||
$trail->parent('brand.index');
|
||
$trail->push(__('La Saga Publicitaire'), route('brand.pub'));
|
||
});
|
||
Breadcrumbs::for('brand.poultry', function (Generator $trail) {
|
||
$trail->parent('brand.index');
|
||
$trail->push(__('Volailles 100% Françaises'), route('brand.poultry'));
|
||
});
|
||
Breadcrumbs::for('brand.traceability', function (Generator $trail) {
|
||
$trail->parent('brand.index');
|
||
$trail->push(__('La Traçabilité'), route('brand.traceability'));
|
||
});
|
||
Breadcrumbs::for('brand.our-quality-commitments', function (Generator $trail) {
|
||
$trail->parent('brand.index');
|
||
$trail->push(__('Nos Engagements Qualité'), route('brand.our-quality-commitments'));
|
||
});
|
||
|
||
// * OCB
|
||
Breadcrumbs::for('ocb.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Oui c\'est Bon !'), route('ocb.index'));
|
||
});
|
||
Breadcrumbs::for('ocb.poultry', function (Generator $trail) {
|
||
$trail->parent('ocb.index');
|
||
$trail->push(__('Volaille'), route('ocb.poultry'));
|
||
});
|
||
Breadcrumbs::for('ocb.testimonials', function (Generator $trail) {
|
||
$trail->parent('ocb.index');
|
||
$trail->push(__('Témoignages des Éleveurs'), route('ocb.testimonials'));
|
||
});
|
||
Breadcrumbs::for('ocb.breeders', function (Generator $trail, OCBBreeder $breeder) {
|
||
$trail->parent('ocb.testimonials');
|
||
$trail->push(sprintf('%s %s', $breeder->last_name, $breeder->first_name), route('ocb.breeders', compact('breeder')));
|
||
});
|
||
|
||
Breadcrumbs::for('onsengage.marqueengage', function (Generator $trail) {
|
||
$trail->parent('onsengage');
|
||
$trail->push(__('Le Gaulois marque engagée et responsable'));
|
||
});
|
||
Breadcrumbs::for('onsengage.marqueengage.lagrandemarque', function (Generator $trail) {
|
||
$trail->parent('onsengage.marqueengage');
|
||
$trail->push(
|
||
__('Être la grande marque alimentaire français'),
|
||
route('onsengage.marqueengage.lagrandemarque')
|
||
);
|
||
});
|
||
Breadcrumbs::for('onsengage.marqueengage.biennourrir', function (Generator $trail) {
|
||
$trail->parent('onsengage.marqueengage');
|
||
$trail->push(
|
||
__('Bien nourrir tous les Français'),
|
||
route('onsengage.marqueengage.biennourrir')
|
||
);
|
||
});
|
||
Breadcrumbs::for('onsengage.marqueengage.eleverdurablement', function (Generator $trail) {
|
||
$trail->parent('onsengage.marqueengage');
|
||
$trail->push(
|
||
__('Élever durablement, en respectant les hommes, les animaux et la nature'),
|
||
route('onsengage.marqueengage.eleverdurablement')
|
||
);
|
||
});
|
||
Breadcrumbs::for('onsengage.marqueengage.respecterlaterre', function (Generator $trail) {
|
||
$trail->parent('onsengage.marqueengage');
|
||
$trail->push(
|
||
__('Respecter la terre'),
|
||
route('onsengage.marqueengage.respecterlaterre')
|
||
);
|
||
});
|
||
Breadcrumbs::for('onsengage.marqueengage.vivreensemble', function (Generator $trail) {
|
||
$trail->parent('onsengage.marqueengage');
|
||
$trail->push(
|
||
__('Favoriser le mieux vivre ensemble'),
|
||
route('onsengage.marqueengage.vivreensemble')
|
||
);
|
||
});
|
||
|
||
// * En ce moment
|
||
Breadcrumbs::for('moment', function (Generator $trail, Moments $moment) {
|
||
$trail->parent('home');
|
||
$trail->push(__('En ce moment'));
|
||
$trail->push($moment->description, route('moment', compact('moment')));
|
||
});
|
||
|
||
// * Élevage
|
||
Breadcrumbs::for('breeding-page.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Élevage et alimentation des volailles'), route('breeding-page.index'));
|
||
});
|
||
Breadcrumbs::for('breeding-page.list', function (Generator $trail, BreedingPageType $breedingPageType) {
|
||
$trail->parent('breeding-page.index');
|
||
$trail->push($breedingPageType->label, route('breeding-page.list', $breedingPageType . '#nav-breeding'));
|
||
});
|
||
Breadcrumbs::for('breeding-page.show', function (Generator $trail, BreedingPageType $breedingPageType, BreedingPage $publishedBreedingPage) {
|
||
$trail->parent('breeding-page.list', $breedingPageType);
|
||
$trail->push($publishedBreedingPage->title, route('breeding-page.show', [$breedingPageType, $publishedBreedingPage]));
|
||
});
|
||
|
||
// * Nous rejoindre
|
||
Breadcrumbs::for('joinus', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Nous rejoindre'), route('joinus'));
|
||
});
|
||
|
||
// * Club
|
||
Breadcrumbs::for('club.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Le Club des Gaulois'), route('club.index'));
|
||
});
|
||
Breadcrumbs::for('club.infos', function (Generator $trail) {
|
||
$trail->parent('club.index');
|
||
$trail->push(__('Les infos du club'));
|
||
});
|
||
Breadcrumbs::for('club.infos.indexByCategory', function (Generator $trail, ArticleCategory $articleTag) {
|
||
$trail->parent('club.infos');
|
||
$trail->push($articleTag->label, route('club.indexByCategory', [
|
||
'articleTag' => $articleTag,
|
||
]));
|
||
});
|
||
Breadcrumbs::for('club.infos.child', function (Generator $trail, Articles $publishedArticle) {
|
||
$trail->parent('club.infos.indexByCategory', $publishedArticle->type);
|
||
$trail->push($publishedArticle->title, route('club.infos.child', [
|
||
'articleTag' => $publishedArticle->type,
|
||
'publishedArticle' => $publishedArticle
|
||
]));
|
||
});
|
||
Breadcrumbs::for('club.reductions', function (Generator $trail) {
|
||
$trail->parent('club.index');
|
||
$trail->push(__('Les promos'), route('club.reductions'));
|
||
});
|
||
Breadcrumbs::for('club.bourse.index', function (Generator $trail) {
|
||
$trail->parent('club.index');
|
||
$trail->push(__('La Bourse au échanges'), route('club.bourse.index'));
|
||
});
|
||
Breadcrumbs::for('club.boutique.index', function (Generator $trail) {
|
||
$trail->parent('club.index');
|
||
$trail->push(__('La Boutique'), route('club.boutique.index'));
|
||
});
|
||
Breadcrumbs::for('account.infos', function (Generator $trail) {
|
||
$trail->parent('club.index');
|
||
$trail->push(__('Mon compte'), route('account.infos'));
|
||
});
|
||
Breadcrumbs::for('account.cart', function (Generator $trail) {
|
||
$trail->parent('account.infos');
|
||
$trail->push(__('Ma liste de courses'), route('account.cart'));
|
||
});
|
||
Breadcrumbs::for('account.messages', function (Generator $trail) {
|
||
$trail->parent('account.infos');
|
||
$trail->push(__('Mes messages'), route('account.messages'));
|
||
});
|
||
Breadcrumbs::for('account.reportCustomer', function (Generator $trail) {
|
||
$trail->parent('account.infos');
|
||
$trail->push(__('Signaler un abus'), route('account.reportCustomer'));
|
||
});
|
||
Breadcrumbs::for('account.notifications', function (Generator $trail) {
|
||
$trail->parent('account.infos');
|
||
$trail->push(__('Notifications'), route('account.notifications'));
|
||
});
|
||
Breadcrumbs::for('account.favs-recipes', function (Generator $trail) {
|
||
$trail->parent('account.infos');
|
||
$trail->push(__('Mes recettes favorites'), route('account.favs-recipes'));
|
||
});
|
||
|
||
// * Dans les prés
|
||
// * OCB
|
||
Breadcrumbs::for('danslespres.index', function (Generator $trail) {
|
||
$trail->parent('home');
|
||
$trail->push(__('Sortant à l’Extérieur Dans Les Prés'), route('danslespres.index'));
|
||
});
|
||
Breadcrumbs::for('danslespres.description', function (Generator $trail) {
|
||
$trail->parent('danslespres.index');
|
||
$trail->push(__('Découvrir notre démarche'), route('danslespres.description'));
|
||
});
|
||
Breadcrumbs::for('danslespres.media', function (Generator $trail) {
|
||
$trail->parent('danslespres.index');
|
||
$trail->push(__('La Démarche en photo et video'), route('danslespres.media'));
|
||
});
|