/home2/mshostin/carnival.ms-hostingladz.com/app/Providers/AppServiceProvider.php
<?php

namespace App\Providers;

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

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

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Blade::if('PackagePermission', function (...$permissions) {
            /** @var \App\Models\User|null $user */
            $user = auth()->user();

            if (!$user) {
                return false;
            }

            // If user is admin, always allow
            if ($user->isAdmin()) {
                return true;
            }

            // If any of the given permissions exist for the user
            foreach ($permissions as $permission) {
                if ($user->hasPackagePermission($permission)) {
                    return true;
                }
            }

            return false;
        });

        /*
        Blade::directive('packagePermission', function ($permission) {
            return "<?php if(auth()->check() && auth()->user()->hasPackagePermission($permission)): ?>";
        });

        Blade::directive('endPackagePermission', function () {
            return "<?php endif; ?>";
        }); */
    }
}