Creating a Dashboard

Creating a dashboard is very straight forward, everything you need to create one is provided, you can of course use any component provided by Ant Design.

You'll need a few things:

  • A Controller
  • A Route
  • A Blade Template
  • A Sidebar Item

A Controller

You can scaffold your controller, maybe an invokable one?

php artisan make:controller Admin\\DashboardController -i

Then you can return the blade template you want to render

public function __invoke()
    return view('admin.dashboard');

A controller is optional, you can always just return the view from the route.

Route::view('/admin', 'admin.dashboard');

A Route

Set up the controller route (or view route as above)

Route::get('/admin', 'Admin\DashboardController');

A Blade Template

We provide a maelstrom::layouts.basic layout which allows you to populate the content slot to easily get started with custom pages sharing a unified layout.

// resources/views/admin/dashboard.blade.php
@extends('maelstrom::layouts.basic', [
    'breadcrumbs' => [
        ['label' => 'Admin']

    Welcome to Maelstrom

        <h1>Your Dashboard</h1>
        <p>You can do anything you like here!</p>

    &copy; {{ date('Y') }} To My Company

A Sidebar Item

You'll need to then add your item to the $maelstrom_sidebar array e.g.

View::share('maelstrom_sidebar', [
        'id' => 'dashboard',
        'label' => 'Dashboard',
        'url' => '/admin',
        'icon' => 'home',