Files
my-projects-website/app/application/breadcrumbs/admin.php
T
kor-elf 6e8b708749 Add breadcrumbs for admin users, feedbacks, projects, and related views
- Extend admin breadcrumbs configuration with paths for users, feedbacks, projects, translations, links, about, documentation versions, documentations, and categories.
2026-07-25 01:02:25 +05:00

263 lines
14 KiB
PHP

<?php
use Diglactic\Breadcrumbs\Breadcrumbs;
Breadcrumbs::for('admin.home', function ($trail) {
$trail->push(__('Home'), route('admin.home'), ['icon' => '<svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>']);
});
// Roles
Breadcrumbs::for('admin.roles.index', function ($trail) {
$trail->parent('admin.home');
$trail->push(__('admin-sections.User group'), route('admin.roles.index'));
});
Breadcrumbs::for('admin.roles.create', function ($trail) {
$trail->parent('admin.roles.index');
$trail->push(__('Create'), route('admin.roles.create'));
});
Breadcrumbs::for('admin.roles.edit', function ($trail, \App\Models\Role $role) {
$trail->parent('admin.roles.index');
$trail->push(__('Edit'), route('admin.roles.edit', $role));
});
// End Roles
// Users
Breadcrumbs::for('admin.users.index', function ($trail) {
$trail->parent('admin.home');
$trail->push(__('admin-sections.Users'), route('admin.users.index'));
});
Breadcrumbs::for('admin.users.create', function ($trail) {
$trail->parent('admin.users.index');
$trail->push(__('Create'), route('admin.users.create'));
});
Breadcrumbs::for('admin.users.edit', function ($trail, \App\Models\User $user) {
$trail->parent('admin.users.index');
$trail->push(__('Edit'), route('admin.users.edit', $user));
});
// End Users
Breadcrumbs::for('admin.feedbacks.index', function ($trail) {
$trail->parent('admin.home');
$trail->push(__('admin-sections.Feedback'), route('admin.feedbacks.index'));
});
// Projects
Breadcrumbs::for('admin.projects.index', function ($trail) {
$trail->parent('admin.home');
$trail->push(__('admin-sections.Projects'), route('admin.projects.index'));
});
Breadcrumbs::for('admin.projects.create', function ($trail) {
$trail->parent('admin.projects.index');
$trail->push(__('Create'), route('admin.projects.create'));
});
Breadcrumbs::for('admin.projects.edit', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.index');
$trail->push(__('Edit'), route('admin.projects.edit', $project));
});
Breadcrumbs::for('admin.projects.show', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.index');
$trail->push($project->name, route('admin.projects.show', $project));
});
Breadcrumbs::for('admin.projects.feedbacks.index', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.Feedback'), route('admin.projects.feedbacks.index', $project));
});
// End Projects
// Projects translations
Breadcrumbs::for('admin.projects.translations.languages', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.Translations'), route('admin.projects.translations.languages', $project));
});
Breadcrumbs::for('admin.projects.translations.edit', function ($trail, \App\Models\Project $project, \App\Models\ProjectLanguage $language) {
$trail->parent('admin.projects.translations.languages', $project);
$trail->push($language->title, route('admin.projects.translations.edit', ['project' => $project->id, 'language' => $language->id]));
});
Breadcrumbs::for('admin.projects.service-translate.view', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.Setting up automatic translation'), route('admin.projects.service-translate.view', $project));
});
// End Projects translations
// Projects links
Breadcrumbs::for('admin.projects.links.index', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.Links project'), route('admin.projects.links.index', $project));
});
Breadcrumbs::for('admin.projects.links.create', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.links.index', $project);
$trail->push(__('Create'), route('admin.projects.links.create', $project));
});
Breadcrumbs::for('admin.projects.links.edit', function ($trail, \App\Models\Project $project, \App\Models\ProjectLink $link) {
$trail->parent('admin.projects.links.index', $project);
$trail->push(__('Edit'), route('admin.projects.links.edit', ['project' => $project->id, 'link' => $link->id]));
});
// End Projects links
// Projects about
Breadcrumbs::for('admin.projects.about.languages', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.About project'), route('admin.projects.about.languages', $project));
});
Breadcrumbs::for('admin.projects.about.edit', function ($trail, \App\Models\Project $project, \App\Models\ProjectLanguage $language) {
$trail->parent('admin.projects.about.languages', $project);
$trail->push($language->title, route('admin.projects.about.edit', ['project' => $project->id, 'language' => $language->id]));
});
// End Projects about
// Projects documentation-versions
Breadcrumbs::for('admin.projects.documentation-versions.index', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.show', $project);
$trail->push(__('admin-sections.Documentation version'), route('admin.projects.documentation-versions.index', $project));
});
Breadcrumbs::for('admin.projects.documentation-versions.create', function ($trail, \App\Models\Project $project) {
$trail->parent('admin.projects.documentation-versions.index', $project);
$trail->push(__('Create'), route('admin.projects.documentation-versions.create', $project));
});
Breadcrumbs::for('admin.projects.documentation-versions.edit', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.index', $project);
$trail->push(__('Edit'), route('admin.projects.documentation-versions.edit', ['project' => $project->id, 'documentation_version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.show', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.index', $project);
$trail->push($version->title, route('admin.projects.documentation-versions.show', ['project' => $project->id, 'documentation_version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.show', $project, $version);
foreach ($categoryPath as $pathItem) {
$trail->push(
$pathItem->content->title,
route('admin.projects.documentation-versions.category.show', [
'project' => $project->id,
'version' => $version->id,
'category' => $pathItem->id,
])
);
}
});
Breadcrumbs::for('admin.projects.documentation-versions.show.category', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \App\Models\DocumentationCategory $category, ?\Illuminate\Support\Collection $categoryPath) {
$path = $categoryPath ?? collect([$category]);
$trail->parent('admin.projects.documentation-versions.category-path', $project, $version, $path);
});
// End Projects documentation-versions
// Projects documentation-versions documentations
Breadcrumbs::for('admin.projects.documentation-versions.documentations.index', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.show', $project, $version);
$trail->push(__('admin-sections.Documentation'), route('admin.projects.documentation-versions.documentations.index', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.documentations.create', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.documentations.index', $project, $version);
$trail->push(__('Create'), route('admin.projects.documentation-versions.documentations.create', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.documentations', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path', $project, $version, $categoryPath);
$trail->push(__('admin-sections.Documentation'), route('admin.projects.documentation-versions.documentations.index', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.documentations.create', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path.documentations', $project, $version, $categoryPath);
$trail->push(__('Create'), route('admin.projects.documentation-versions.documentations.create', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.documentations.edit', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \App\Models\Documentation $documentation) {
$trail->parent('admin.projects.documentation-versions.documentations.index', $project, $version);
$trail->push(__('Edit'), route('admin.projects.documentation-versions.documentations.edit', ['project' => $project->id, 'version' => $version->id, 'documentation' => $documentation->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.documentations.edit', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \App\Models\Documentation $documentation, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path.documentations', $project, $version, $categoryPath);
$trail->push(__('Edit'), route('admin.projects.documentation-versions.documentations.edit', ['project' => $project->id, 'version' => $version->id, 'documentation' => $documentation->id]));
});
// End Projects documentation-versions documentations
// Projects documentation-versions categories
Breadcrumbs::for('admin.projects.documentation-versions.categories.index', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.show', $project, $version);
$trail->push(__('admin-sections.Categories'), route('admin.projects.documentation-versions.categories.index', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.categories.create', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version) {
$trail->parent('admin.projects.documentation-versions.categories.index', $project, $version);
$trail->push(__('Create'), route('admin.projects.documentation-versions.categories.create', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.categories', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path', $project, $version, $categoryPath);
$trail->push(__('admin-sections.Categories'), route('admin.projects.documentation-versions.categories.index', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.categories.create', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path.categories', $project, $version, $categoryPath);
$trail->push(__('Create'), route('admin.projects.documentation-versions.categories.create', ['project' => $project->id, 'version' => $version->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.categories.edit', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \App\Models\DocumentationCategory $category) {
$trail->parent('admin.projects.documentation-versions.categories.index', $project, $version);
$trail->push(__('Edit'), route('admin.projects.documentation-versions.categories.edit', ['project' => $project->id, 'version' => $version->id, 'category' => $category->id]));
});
Breadcrumbs::for('admin.projects.documentation-versions.category-path.categories.edit', function ($trail, \App\Models\Project $project, \App\Models\DocumentationVersion $version, \App\Models\DocumentationCategory $category, \Illuminate\Support\Collection $categoryPath) {
$trail->parent('admin.projects.documentation-versions.category-path.categories', $project, $version, $categoryPath);
$trail->push(__('Edit'), route('admin.projects.documentation-versions.categories.edit', ['project' => $project->id, 'version' => $version->id, 'category' => $category->id]));
});
// End Projects documentation-versions categories