Menu Card
This package adds the possibility to display cards in the menu.
Usage
You can create a new menu card by calling the MenuCard::make
method.
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make(), //.. ];});
Set Content To A Card
Set String Content
You can set a string as content for a menu card by invoking the content
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make() ->content('Norman Huth'), //.. ];});
Set Blade As Content
You can set a Blade template as content for a menu card by invoking the view
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make() ->view('admin.news', ['name' => $request->user()->name])), //.. ];});
Authorization
You can hide a card from a group of users by invoking the canSee
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make() ->canSee(function (Request $request) { return str_ends_with($request->user()->email, '@huth.it'); }), //.. ];});
Customize And Theming
Use A Theme
The static make
method accept a theme argument. Valid themes are info
, success
, warning
and danger
.
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make('info'), //.. ];});
Border Radius
You can add a border radius by invoking the rounded
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make('info') ->rounded(), MenuCard::make('info') ->rounded('sm'), MenuCard::make('info') ->rounded('md'), MenuCard::make('info') ->rounded('lg'), //.. ];});
Add Classes
You can add classes to the menu card class attribute by invoking the addClasses
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make('info') ->addClasses(['text-center', 'text-white']), //.. ];});
Add Styles
You can add styles to the menu card style attribute by invoking the addStyles
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make('info') ->addStyles([ 'color' => 'white', 'text-align' => 'center', ]), //.. ];});
Add MenuItem
Spacing
You can add the same left margin spacing like a MenuItem
by invoking the asItem
method when defining the menu card:
use NormanHuth\NovaMenu\MenuCard; Nova::mainMenu(function (Request $request) { return [ //.. MenuCard::make('info') ->asItem(), //.. ];});