-<?php namespace BookStack\Entities;
+<?php
-use BookStack\Entities\Managers\EntityContext;
+namespace BookStack\Entities;
+
+use BookStack\Entities\Models\Book;
+use BookStack\Entities\Tools\ShelfContext;
use Illuminate\View\View;
class BreadcrumbsViewComposer
{
-
- protected $entityContextManager;
-
- /**
- * BreadcrumbsViewComposer constructor.
- * @param EntityContext $entityContextManager
- */
- public function __construct(EntityContext $entityContextManager)
- {
- $this->entityContextManager = $entityContextManager;
+ public function __construct(
+ protected ShelfContext $shelfContext
+ ) {
}
/**
* Modify data when the view is composed.
- * @param View $view
*/
- public function compose(View $view)
+ public function compose(View $view): void
{
$crumbs = $view->getData()['crumbs'];
$firstCrumb = $crumbs[0] ?? null;
+
if ($firstCrumb instanceof Book) {
- $shelf = $this->entityContextManager->getContextualShelfForBook($firstCrumb);
+ $shelf = $this->shelfContext->getContextualShelfForBook($firstCrumb);
if ($shelf) {
array_unshift($crumbs, $shelf);
$view->with('crumbs', $crumbs);