189 lines
7.1 KiB
PHP
189 lines
7.1 KiB
PHP
<?php
|
|
|
|
use App\Enums\Advices\AdviceTypeEnum;
|
|
use App\Models\Advice;
|
|
use App\Models\BrigadeSection;
|
|
use App\Models\ExpertiseProduct;
|
|
use App\Models\News;
|
|
use App\Models\NewsCategory;
|
|
use App\Models\Product;
|
|
use App\Models\Range;
|
|
use App\Models\Slide;
|
|
use App\Models\StaticPage;
|
|
use App\Models\Tag;
|
|
use Diglactic\Breadcrumbs\Breadcrumbs;
|
|
use Diglactic\Breadcrumbs\Generator;
|
|
use Illuminate\Support\Str;
|
|
|
|
// * HOME
|
|
Breadcrumbs::for('bo.dashboard', function (Generator $trail) {
|
|
$trail->push(trans('Tableau de bord'), route('bo.dashboard'));
|
|
});
|
|
|
|
// * SLIDES
|
|
Breadcrumbs::for('bo.slides.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.slides'),
|
|
route('bo.slides.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.slides.create', function (Generator $trail) {
|
|
$trail->parent('bo.slides.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.slides.create'));
|
|
});
|
|
Breadcrumbs::for('bo.slides.edit', function (Generator $trail, Slide $slide) {
|
|
$trail->parent('bo.slides.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.slides.edit', $slide->id));
|
|
});
|
|
|
|
// * VIPS
|
|
Breadcrumbs::for('bo.vips.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans_choice('models.classes.vips', 2),
|
|
route('bo.vips.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.vips.create', function (Generator $trail) {
|
|
$trail->parent('bo.vips.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.vips.create'));
|
|
});
|
|
Breadcrumbs::for('bo.vips.edit', function (Generator $trail, ExpertiseProduct $vip) {
|
|
$trail->parent('bo.vips.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.vips.edit', $vip->id));
|
|
});
|
|
|
|
// * RANGES
|
|
Breadcrumbs::for('bo.ranges.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.ranges'),
|
|
route('bo.ranges.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.ranges.create', function (Generator $trail) {
|
|
$trail->parent('bo.ranges.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.ranges.create'));
|
|
});
|
|
Breadcrumbs::for('bo.ranges.edit', function (Generator $trail, Range $range) {
|
|
$trail->parent('bo.ranges.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.ranges.edit', $range->id));
|
|
});
|
|
|
|
// * PRODUCTS
|
|
Breadcrumbs::for('bo.products.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.products'),
|
|
route('bo.products.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.products.create', function (Generator $trail) {
|
|
$trail->parent('bo.products.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.products.create'));
|
|
});
|
|
Breadcrumbs::for('bo.products.edit', function (Generator $trail, Product $product) {
|
|
$trail->parent('bo.products.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.products.edit', $product->id));
|
|
});
|
|
|
|
// * NEWS
|
|
Breadcrumbs::for('bo.news.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.news'),
|
|
route('bo.news.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.news.create', function (Generator $trail) {
|
|
$trail->parent('bo.news.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.news.create'));
|
|
});
|
|
Breadcrumbs::for('bo.news.edit', function (Generator $trail, News $news) {
|
|
$trail->parent('bo.news.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.news.edit', $news->id));
|
|
});
|
|
|
|
// * NEWSCATEGORIES
|
|
Breadcrumbs::for('bo.newscategories.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.newscategories'),
|
|
route('bo.newscategories.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.newscategories.edit', function (Generator $trail, NewsCategory $newscategory) {
|
|
$trail->parent('bo.newscategories.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.news.edit', $newscategory->id));
|
|
});
|
|
|
|
// * ADVICE
|
|
Breadcrumbs::for('bo.advice.index', function (Generator $trail, AdviceTypeEnum $currentType) {
|
|
switch ($currentType->value()) {
|
|
case AdviceTypeEnum::recipes->value():
|
|
$string = AdviceTypeEnum::recipes->label();
|
|
break;
|
|
case AdviceTypeEnum::tips->value:
|
|
$string = AdviceTypeEnum::tips->label();
|
|
break;
|
|
default:
|
|
$string = AdviceTypeEnum::all->label();
|
|
break;
|
|
}
|
|
$trail->push(
|
|
$string,
|
|
route('bo.advice.index', ['type' => $currentType->value(), 'sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.advice.create', function (Generator $trail, AdviceTypeEnum $currentType, Advice $advice) {
|
|
$trail->parent('bo.advice.index', $currentType);
|
|
$trail->push(trans('crud.actions.create'), route('bo.advice.create', [
|
|
'type' => $currentType,
|
|
'advice' => $advice
|
|
]));
|
|
});
|
|
Breadcrumbs::for('bo.advice.edit', function (Generator $trail, AdviceTypeEnum $currentType, Advice $advice) {
|
|
$trail->parent('bo.advice.index', $currentType);
|
|
$trail->push(trans('crud.actions.edit'), route('bo.advice.edit', [
|
|
'advice' => $advice
|
|
]));
|
|
});
|
|
|
|
// * TAGS
|
|
Breadcrumbs::for('bo.tags.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans('models.classes.tags'),
|
|
route('bo.tags.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.tags.create', function (Generator $trail) {
|
|
$trail->parent('bo.tags.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.tags.create'));
|
|
});
|
|
Breadcrumbs::for('bo.tags.edit', function (Generator $trail, Tag $tag) {
|
|
$trail->parent('bo.tags.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.tags.edit', $tag->id));
|
|
});
|
|
|
|
// * STATIC PAGES
|
|
Breadcrumbs::for('bo.static_pages.index', function (Generator $trail) {
|
|
$trail->push(
|
|
Str::of(trans_choice('models.classes.static_page', '*'))->ucfirst(),
|
|
route('bo.static_pages.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.static_pages.edit', function (Generator $trail, StaticPage $static_page) {
|
|
$trail->parent('bo.static_pages.index');
|
|
$trail->push(Str::ucfirst(trans('crud.actions.edit')), route('bo.static_pages.edit', $static_page));
|
|
});
|
|
|
|
// * BRIGADE SECTIONS
|
|
Breadcrumbs::for('bo.brigade_sections.index', function (Generator $trail) {
|
|
$trail->push(
|
|
trans_choice('models.classes.brigade_section', \INF),
|
|
route('bo.brigade_sections.index', ['sort_col' => 'updated_at', 'sort_way' => 'desc'])
|
|
);
|
|
});
|
|
Breadcrumbs::for('bo.brigade_sections.create', function (Generator $trail) {
|
|
$trail->parent('bo.brigade_sections.index');
|
|
$trail->push(trans('crud.actions.create'), route('bo.brigade_sections.create'));
|
|
});
|
|
Breadcrumbs::for('bo.brigade_sections.edit', function (Generator $trail, BrigadeSection $brigadeSection) {
|
|
$trail->parent('bo.brigade_sections.index');
|
|
$trail->push(trans('crud.actions.edit'), route('bo.brigade_sections.edit', $brigadeSection->id));
|
|
});
|