<?php namespace Eae\Composers\Frontend;

use Eae\Transformation\Transformer\Frontend\FooterMenuTransformer;
use Menu;
use TransformService;


class FooterComposer
{
  public function compose($view)
  {
    $viewData = $view->getData();
    $entryID = NULL;

    if (isset($viewData['object'])) {
      $viewObject = $viewData['object'];
      $entryID = $viewObject['entry_id'];
    }

    // Get Main Navigation
    $footerMenu = $this->getMenu($entryID);

    $view->with([
      'footerMenu'     => $footerMenu
    ]);
  }

  private function getMenu($entryID)
  {
    $footerMenu = [];
    $dbMenu = Menu::with(['menuItems' => function ($query) {
      $query
        ->where('active', true)
        ->orderBy('position', 'asc');
    }])->where('slug', 'footer-menu')->first();

    if ($dbMenu) {
      foreach ($dbMenu->menuItems as $menuItem) {
        $menuItem = TransformService::transformItem(
          $menuItem,
          new FooterMenuTransformer($entryID)
        )->toArray();
        $footerMenu[] = $menuItem;
      }
    }

    return $footerMenu;
  }
}
