PHP code example of juliomotol / laravel-admin-panel

1. Go to this page and download the library: Download juliomotol/laravel-admin-panel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

juliomotol / laravel-admin-panel example snippets


return [
];

class AdminPanelServiceProvider extends AdminPanelApplicationServiceProvider
{
    protected function build(AdminPanelManager $adminPanel): void
    {
        $adminPanel->sidebar()
            ->addItem('Dashboard', 'admin.dashboard')
            ->addGroup(
                'Access',
                fn (NavigationGroup $group) => $group
                    ->addItem(
                        'Users',
                        callback: fn (NavigationItem $item) => $item
                            ->additem('Admin', 'admin.users.admins.index')
                            ->additem('Clients', 'admin.users.clients.index')
                    )
                    ->addItem('Roles', 'admin.roles')
            );

        $adminPanel->account()
            ->addItem('My Profile', 'admin.my-profile.index');
            ->addItem('Logout', 'auth.logout');

        $adminPanel->setAccountAvatarResolver(fn () => Auth::user()->avatar())
    }
}

$adminPanel->sidebar()
    /**
     * @param string    $title      
     * @param ?string   $route      Can either be a named route or a url
     * @param array     $parameters The parameters for the named route
     * @param \Closure  $callback
     */
    ->addItem('Inquiries', 'admin.inquiries', callback: fn (NavigationItem $item) => ...)

$adminPanel->sidebar()
    ->addItem(
        'Inquiries',
        'admin.inquiries',
        callback: fn (NavigationItem $item) =>$item->withIconClass('cil-notes')
    );

$adminPanel->sidebar()
    ->addItem(
        'Inquiries',
        'admin.inquiries',
        callback: fn (NavigationItem $item) =>$item->withBadge(
            /**
             * @param string|\Closure   $title
             * @param BadgeStyle        $style
             */
            Badge::make(
                fn() => Inquiries::isUnread()->count(), // Also accepts a string
                BadgeStyle::SUCCESS
            )
        )
    );

> BadgeStyle::PRIMARY
> BadgeStyle::SECONDARY
> BadgeStyle::INFO
> BadgeStyle::SUCCESS
> BadgeStyle::WARNING
> BadgeStyle::ERROR
> 

$adminPanel->sidebar()
    ->addItem(
        'Inquiries',
        'admin.inquiries',
        callback: fn (NavigationItem $item) =>$item->addItem(...)
    );

$adminPanel->sidebar()
    /**
     * @param string    $title      The title shown for this navigation group
     * @param \Closure  $callback   A closure to modify
     */
    ->addGroup(
        'CMS',
        fn (NavigationGroup $group) => $group->addItem('Pages', 'admin.pages')
            ->addItem('Blocks', 'admin.blocks')
            ->addItem('Meta', 'admin.meta')
    );

$adminPanel->setAccountAvatarResolver(fn () => Auth::user()->avatar());
bash
php artisan admin-panel:install
bash
@php artisan vendor:publish --tag=admin-panel-assets
json
"scripts": {
    "post-update-cmd": [
        "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
        "@php artisan vendor:publish --tag=admin-panel-assets --ansi --force"
    ]
}
bash
php artisan vendor:publish --tag="laravel-admin-panel-config"
bash
php artisan vendor:publish --tag="laravel-admin-panel-views"
bash
php artisan admin-panel:install --no-assets