PHPackages                             polashmahmud/dishari - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. polashmahmud/dishari

ActiveLibrary[Admin Panels](/categories/admin)

polashmahmud/dishari
====================

A dynamic menu builder for Laravel Inertia Vue Shadcn projects.

v1.0.4(5mo ago)231[6 issues](https://github.com/polashmahmud/Dishari/issues)MITVue

Since Dec 5Pushed 5mo agoCompare

[ Source](https://github.com/polashmahmud/Dishari)[ Packagist](https://packagist.org/packages/polashmahmud/dishari)[ RSS](/packages/polashmahmud-dishari/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)DependenciesVersions (6)Used By (0)

[![Dishari Menu Management](https://private-user-images.githubusercontent.com/8996190/522907569-4cbf1c1f-dd6f-4b06-aea3-1570a0dae195.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU0MjY4MTcsIm5iZiI6MTc3NTQyNjUxNywicGF0aCI6Ii84OTk2MTkwLzUyMjkwNzU2OS00Y2JmMWMxZi1kZDZmLTRiMDYtYWVhMy0xNTcwYTBkYWUxOTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDVUMjIwMTU3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTA3MDJiZmZmZjk1NWVmMjNlZGIwMzU4YjMzY2VhYzdkYWI0ZjczZWZjYmJlM2FmOTFhMGUzYjZiNWNkMDYyNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Udchbo81HwyJql3-3RnElUgZEyJ55cm6SMTwM36c9A8)](https://private-user-images.githubusercontent.com/8996190/522907569-4cbf1c1f-dd6f-4b06-aea3-1570a0dae195.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU0MjY4MTcsIm5iZiI6MTc3NTQyNjUxNywicGF0aCI6Ii84OTk2MTkwLzUyMjkwNzU2OS00Y2JmMWMxZi1kZDZmLTRiMDYtYWVhMy0xNTcwYTBkYWUxOTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDVUMjIwMTU3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTA3MDJiZmZmZjk1NWVmMjNlZGIwMzU4YjMzY2VhYzdkYWI0ZjczZWZjYmJlM2FmOTFhMGUzYjZiNWNkMDYyNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.Udchbo81HwyJql3-3RnElUgZEyJ55cm6SMTwM36c9A8)Dishari Menu Management
=======================

[](#dishari-menu-management)

A powerful and flexible menu management package for Laravel applications built with Inertia.js and Vue 3. This package provides a drag-and-drop interface for managing nested menus, complete with icon support, groups, and active status toggling.

Features
--------

[](#features)

- 📱 **Drag &amp; Drop Interface**: Intuitive UI for reordering and nesting menu items.
- 🌳 **Nested Structure**: Support for unlimited levels of nested submenus.
- 📂 **Menu Groups**: Organize menus into logical groups (e.g., Platform, Settings).
- 🎨 **Icon Integration**: Built-in support for Lucide icons with a searchable picker.
- ⚡ **Inertia.js &amp; Vue 3**: Seamless integration with modern Laravel stacks.
- 🛠 **Fully Customizable**: Publishable Vue components to match your application's design.

Installation
------------

[](#installation)

### 1. Require the Package

[](#1-require-the-package)

Install the package via Composer:

```
composer require polashmahmud/dishari
```

### 2. Run the Installer

[](#2-run-the-installer)

Run the `dishari:install` command to publish the configuration, migrations, and frontend assets.

```
php artisan dishari:install
```

During installation, you will be asked to provide a **directory name** (default: `dishari`). This determines where the frontend files will be published:

- **Pages**: `resources/js/pages/{directoryName}`
- **Components**: `resources/js/components/{directoryName}`

### 3. Run Migrations

[](#3-run-migrations)

Run the migrations to create the menu tables:

```
php artisan migrate
```

### 4. Compile Assets

[](#4-compile-assets)

Recompile your assets to include the new components:

```
npm run dev
```

Frontend Integration
--------------------

[](#frontend-integration)

To display the dynamic menu in your application, you need to update your Sidebar component (usually `resources/js/components/AppSidebar.vue` or similar).

### 1. Update Menu Data Source

[](#1-update-menu-data-source)

Locate your sidebar component and replace the static menu items with the `useDishari` hook.

**Remove static data like this:**

```
const mainNavItems: NavItem[] = [
    {
        title: 'Dashboard',
        href: dashboard(),
        icon: LayoutGrid,
    },
];
```

**Add the dynamic hook:**

```
import { useDishari } from '@/lib/useDishari';

const { menus: mainNavItems } = useDishari();
```

### 2. Import the NavMain Component

[](#2-import-the-navmain-component)

You need to import the `NavMain` component that was published to your project. The path depends on the **directory name** you chose during installation.

If you chose `dishari` (default):

```
import NavMain from '@/components/dishari/NavMain.vue';
```

If you chose `menu`:

```
import NavMain from '@/components/menu/NavMain.vue';
```

**Full Example (`AppSidebar.vue`):**

```

import { useDishari } from '@/lib/useDishari';
// Import from the folder you chose during installation (e.g., 'dishari' or 'menu')
import NavMain from '@/components/dishari/NavMain.vue';

const { menus: mainNavItems } = useDishari();

```

Usage
-----

[](#usage)

### Accessing the Management Interface

[](#accessing-the-management-interface)

Once installed, you can access the menu management interface at:

```
/menu-management

```

### Configuration

[](#configuration)

The configuration file is located at `config/dishari.php`. You can customize the directory name, cache settings, and authentication requirements.

```
return [
    'directory_name' => 'dishari', // The folder name for published Vue files
    'auto_share' => true,          // Automatically share menu data with Inertia
    // ...
];
```

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11+
- Inertia.js
- Vue 3
- Tailwind CSS
- Shadcn Vue (recommended)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance57

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

5

Last Release

155d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/94d335e5718806f50e2afcdae4a21e749da7bff8aabd337932947860c8cf2c5a?d=identicon)[polashmahmud](/maintainers/polashmahmud)

---

Top Contributors

[![polashmahmud](https://avatars.githubusercontent.com/u/8996190?v=4)](https://github.com/polashmahmud "polashmahmud (37 commits)")

---

Tags

admin-paneldrag-and-dropdynamic-menuinertiajslaravellaravel-packagemenu-builderrecursive-menushadcn-uisidebarvuejs

### Embed Badge

![Health badge](/badges/polashmahmud-dishari/health.svg)

```
[![Health](https://phpackages.com/badges/polashmahmud-dishari/health.svg)](https://phpackages.com/packages/polashmahmud-dishari)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
