<?php

namespace App\Providers;

use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //

//        Blade::directive('hasAuth', function ($expression) {
        /*            return "<?php echo ($expression); ?>";*/
//        });
        $this->registerBladeDirective();
    }

    protected function registerBladeDirective()
    {
        Blade::directive('hasAuth', function ($auth) {
            return "<?php if(auth()->user()->hasAuth({$auth})): ?>";
        });
        Blade::directive('endHasAuth', function () {
            return '<?php endif; ?>';
        });


        Blade::directive('notCustomer', function () {
/*            return "<?php if(auth()->user()->role_id!=\App\Http\Models\Role::TYPE_CUSTOMER): ?>";*/
            return "<?php if(!in_array(auth()->user()->role_id,[\App\Http\Models\Role::TYPE_CUSTOMER,\App\Http\Models\Role::TYPE_TYPE_CUSTOMER_STAFF])): ?>";
        });
        Blade::directive('endNotCustomer', function () {
            return '<?php endif; ?>';
        });

//        Blade::directive('roleCustomer', function ($bool) {
/*            return "<?php if((auth()->user()->role_id==\App\Http\Models\Role::TYPE_CUSTOMER)==={$bool}): ?>";*/
//        });
//        Blade::directive('endRoleCustomer', function () {
/*            return '<?php endif; ?>';*/
//        });

//        Blade::directive('roleWeb', function ($bool = true) {
/*            return "<?php if((auth()->user()->role_id==\App\Http\Models\Role::TYPE_WEB)==={$bool}): ?>";*/
//        });
//        Blade::directive('endRoleWeb', function () {
/*            return '<?php endif; ?>';*/
//        });

//        Blade::directive('roleAe', function ($bool = true) {
/*            return "<?php if((auth()->user()->role_id==\App\Http\Models\Role::TYPE_AE)==={$bool}): ?>";*/
//        });
//        Blade::directive('endRoleAe', function () {
/*            return '<?php endif; ?>';*/
//        });


//        Blade::if('demo', function ($roleId) {
//            return auth()->user()->role_id == $roleId;
//        });

    }
}