File: D:/HostingSpaces/SBogers10/komma.pro/app/KommaApp/Shop/Bridges/SIdeBarShopMenuComposerBridge.php
<?php
namespace App\KommaApp\Shop\Bridges;
use App\KommaApp\Routes\Models\Route;
use App\KommaApp\Sites\Models\Site;
use App\KommaApp\Users\Roles;
class SideBarShopMenuComposerBridge
{
/**
* Returns an array of Shop Specific Menu bar items.
*
* @param string $currentSectionSlug
* @param Site $site
* @return array
*/
public static function get(string $currentSectionSlug):array
{
$routeName = \Route::current()->getName();
$items = [];
$items[] = [
'name' => ucfirst(__('shop/products.products')),
'url' => route('products.index'),
'active' => ('products' == $currentSectionSlug)
];
$items[] = [
'name' => ucfirst(__('shop/products.product_groups')),
'url' => route('productgroups.index'),
'active' => ('productgroups' == $currentSectionSlug)
];
$items[] = [
'name' => ucfirst(__('shop/products.product_composites')),
'url' => route('productcomposites.index'),
'active' => ('productcomposites' == $currentSectionSlug)
];
$items[] = [
'name' => ucfirst(__('shop/categories.categories')),
'url' => route('categories.index'),
'active' => ('categories' == $currentSectionSlug)
];
$items[] = [
'name' => ucfirst(__('shop/orders.orders')),
'subItems' => array_merge(
[
[
'name' => ucfirst(__('shop/orders.overview')),
'url' => route('orders.index'),
'active' => $routeName == 'orders.index' || $routeName == 'orders.show'
]
],
self::getOrderStatusMenuItems($routeName)
),
'active' => false
];
//TODO We add this functionality when we've made the sections user friendly. Now it isn't
// if(\Auth::user()->role_id <= Roles::Admin) {
// $items[] = [
// 'name' => ucfirst(__('shop/properties.properties')),
// 'url' => route('properties.index'),
// 'active' => ('properties' == $currentSectionSlug)
// ];
// }
// $items[] = [
// 'name' => ucfirst(__('shop/discounts.discounts')),
// 'url' => route('discounts.index', []),
// 'active' => ('discounts' == $currentSectionSlug)
// ];
return $items;
}
public static function getOrderStatusMenuItems(string $routeName)
{
$orderStatusSubItems = [];
foreach(__('shop/orders.status') as $key => $translation) {
$orderStatusSubItems[] = [
'name' => $translation,
'url' => route('orders.status', ['status' => $key]),
'active' => ($routeName == 'orders.status' && \Route::current()->parameter('status') == $key)
];
}
return $orderStatusSubItems;
}
}