{{-- Casca do manager. A barra escura é a mesma identidade da tela de entrada: aqui é a área interna, não o painel do cliente. As folhas são as do painel, e o manager.css ainda carrega uma camada de compatibilidade para as telas que usam a marcação do Bootstrap, cujo arquivo nunca subiu para este servidor. Abre
; quem fecha é o footer. --}} @yield('title') - Manager BRASCAST @hasSection('head') @yield('head') @endif @php $rota = Route::currentRouteName(); /** * Menu num lugar só, agrupado pelo que a pessoa vem fazer. * * As duas filas de aprovação (termos e publicidades) ficavam soltas, cada * uma no seu canto, mesmo sendo o trabalho do dia. Administradores e tarefas * não são operação, são manutenção do próprio manager, e por isso saíram da * linha principal. */ $mainAdmin = (int) (Auth::guard('admin')->id() ?? 0) === \App\Http\Middleware\MainAdminOnly::mainAdminId(); $menu = [ ['label' => 'Início', 'rota' => 'admin.dash', 'url' => route('admin.dash')], ['label' => 'Aprovações', 'itens' => [ ['label' => 'Termos iOS', 'rota' => 'admin.terms.index', 'url' => route('admin.terms.index')], ['label' => 'Publicidades', 'rota' => 'admin.ads', 'url' => route('admin.ads')], ['label' => 'Conteúdos a verificar', 'rota' => 'admin.contentsVerify', 'url' => route('admin.contentsVerify')], ]], ['label' => 'Streamings', 'itens' => [ ['label' => 'Streams', 'rota' => 'admin.streams', 'url' => route('admin.streams')], ['label' => 'Servidores', 'rota' => 'admin.servers', 'url' => route('admin.servers')], ]], ['label' => 'Apps', 'itens' => [ ['label' => 'Android - Rádio', 'rota' => 'admin.apps', 'url' => route('admin.apps')], ['label' => 'Android - TV', 'rota' => 'admin.appsTv', 'url' => route('admin.appsTv')], ['label' => 'iOS', 'rota' => 'admin.appsIos', 'url' => route('admin.appsIos')], ['label' => 'Skills Alexa', 'rota' => 'admin.skills', 'url' => route('admin.skills')], ]], ['label' => 'Conteúdos', 'itens' => [ ['label' => 'Programas', 'rota' => 'admin.contents', 'url' => route('admin.contents', '2')], ['label' => 'Programetes', 'rota' => null, 'url' => route('admin.contents')], ['label' => 'Vinhetas', 'rota' => 'admin.contents-add', 'url' => route('admin.contents-add', '1')], ['label' => 'Campanhas', 'rota' => null, 'url' => route('admin.contents-add', '2')], ]], ['label' => 'Utilitários', 'itens' => array_values(array_filter([ ['label' => 'Administradores', 'rota' => 'admin.adminUsers', 'url' => route('admin.adminUsers')], /* provisionamento e capas mexem no servidor e no acervo: so o administrador principal ve, e a rota tambem so responde a ele */ $mainAdmin ? ['label' => 'Provisionamento', 'rota' => 'admin.provisioning', 'url' => route('admin.provisioning')] : null, $mainAdmin ? ['label' => 'Capas', 'rota' => 'admin.covers', 'url' => route('admin.covers')] : null, ]))], ]; /* rota nula nunca casa: fora de uma requisicao com nome, nada fica ativo */ $ativo = function ($grupo) use ($rota) { if ($rota === null) { return false; } if (isset($grupo['rota'])) { return $grupo['rota'] === $rota; } foreach ($grupo['itens'] ?? [] as $item) { if (isset($item['rota']) && $item['rota'] === $rota) { return true; } } return false; }; @endphp
BRASCAST Manager