<?php

namespace Ichynul\IframeTabs;

use Illuminate\Support\ServiceProvider;
use Ichynul\IframeTabs\Middleware\TabContrl;
use Encore\Admin\Admin;

class IframeTabsServiceProvider extends ServiceProvider
{
    /**
     * {@inheritdoc}
     */
    public function boot(IframeTabs $extension)
    {
        if (!IframeTabs::boot()) {
            return;
        }
        if ($views = $extension->views()) {
            $this->loadViewsFrom($views, 'iframe-tabs');
        }

        if ($this->app->runningInConsole() && $assets = $extension->assets()) {
            $this->publishes(
                [$assets => public_path('vendor/laravel-admin-ext/iframe-tabs')],
                'iframe-tabs'
            );
        }
        $this->app->booted(function () {
            IframeTabs::routes(__DIR__ . '/../routes/web.php');
        });
        Admin::booted(function () {
            \View::prependNamespace('admin', __DIR__ . '/../resources/views/admin');
            //覆盖views,主要针对 index.blade.php,隐藏admin::partials.header(头部)和admin::partials.sidebar(菜单)
            if (\Request::route()->getName() == 'admin.index') {
                Admin::css('vendor/laravel-admin-ext/iframe-tabs/dashboard.css');
                Admin::js('vendor/laravel-admin-ext/iframe-tabs/bootstrap-tab.js');
                Admin::js('vendor/laravel-admin-ext/iframe-tabs/sidebarMenu.js');
                Admin::js(IframeTabs::config('layer_path', '/vendor/laravel-admin-ext/cropper/layer/layer.js'));
            } else {
                Admin::css('vendor/laravel-admin-ext/iframe-tabs/content.css');
                //极特殊情况覆盖views失败的话,靠content.css隐藏头部和菜单
            }
        });
    }
}