feat: Add Dynamics to main navigation

This commit is contained in:
Daan Meijer 2026-06-15 01:03:38 +02:00
parent c31b4612df
commit 16a6962149
27 changed files with 41 additions and 44 deletions

0
.ai/mcp/mcp.json Normal file
View File

View File

@ -5,7 +5,6 @@ namespace App\Events;
use App\Models\Message; use App\Models\Message;
use Illuminate\Broadcasting\Channel; use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets; use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable; use Illuminate\Foundation\Events\Dispatchable;

View File

@ -5,9 +5,6 @@ namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use App\Models\Dynamic;
class StoreLedgerRequest extends FormRequest class StoreLedgerRequest extends FormRequest
{ {
/** /**
@ -23,7 +20,7 @@ class StoreLedgerRequest extends FormRequest
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string> * @return array<string, ValidationRule|array|string>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@ -5,9 +5,6 @@ namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use App\Models\Chat;
class StoreMessageRequest extends FormRequest class StoreMessageRequest extends FormRequest
{ {
/** /**
@ -23,7 +20,7 @@ class StoreMessageRequest extends FormRequest
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string> * @return array<string, ValidationRule|array|string>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@ -5,9 +5,6 @@ namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule; use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
use App\Models\Ledger;
class StoreMutationRequest extends FormRequest class StoreMutationRequest extends FormRequest
{ {
/** /**
@ -23,7 +20,7 @@ class StoreMutationRequest extends FormRequest
/** /**
* Get the validation rules that apply to the request. * Get the validation rules that apply to the request.
* *
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array|string> * @return array<string, ValidationRule|array|string>
*/ */
public function rules(): array public function rules(): array
{ {

View File

@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use Database\Factories\ChatFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
@ -9,7 +10,7 @@ use Illuminate\Database\Eloquent\Relations\MorphTo;
class Chat extends Model class Chat extends Model
{ {
/** @use HasFactory<\Database\Factories\ChatFactory> */ /** @use HasFactory<ChatFactory> */
use HasFactory; use HasFactory;
public function chatable(): MorphTo public function chatable(): MorphTo

View File

@ -2,16 +2,16 @@
namespace App\Models; namespace App\Models;
use Database\Factories\DynamicFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Database\Eloquent\Relations\MorphOne;
class Dynamic extends Model class Dynamic extends Model
{ {
/** @use HasFactory<\Database\Factories\DynamicFactory> */ /** @use HasFactory<DynamicFactory> */
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [

View File

@ -2,15 +2,15 @@
namespace App\Models; namespace App\Models;
use Database\Factories\LedgerFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasMany;
class Ledger extends Model class Ledger extends Model
{ {
/** @use HasFactory<\Database\Factories\LedgerFactory> */ /** @use HasFactory<LedgerFactory> */
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [

View File

@ -2,13 +2,14 @@
namespace App\Models; namespace App\Models;
use Database\Factories\MessageFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Message extends Model class Message extends Model
{ {
/** @use HasFactory<\Database\Factories\MessageFactory> */ /** @use HasFactory<MessageFactory> */
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [

View File

@ -2,15 +2,15 @@
namespace App\Models; namespace App\Models;
use Database\Factories\MutationFactory;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\MorphOne; use Illuminate\Database\Eloquent\Relations\MorphOne;
class Mutation extends Model class Mutation extends Model
{ {
/** @use HasFactory<\Database\Factories\MutationFactory> */ /** @use HasFactory<MutationFactory> */
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [

View File

@ -3,14 +3,10 @@
namespace App\Models; namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail; // use Illuminate\Contracts\Auth\MustVerifyEmail;
use App\Models\Dynamic;
use App\Models\Mutation;
use Database\Factories\UserFactory; use Database\Factories\UserFactory;
use Illuminate\Database\Eloquent\Attributes\Fillable; use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Attributes\Hidden; use Illuminate\Database\Eloquent\Attributes\Hidden;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Carbon; use Illuminate\Support\Carbon;

View File

@ -4,7 +4,6 @@ namespace App\Policies;
use App\Models\Dynamic; use App\Models\Dynamic;
use App\Models\User; use App\Models\User;
use Illuminate\Auth\Access\Response;
class DynamicPolicy class DynamicPolicy
{ {

View File

@ -1,7 +1,11 @@
<?php <?php
use App\Providers\AppServiceProvider;
use App\Providers\AuthServiceProvider;
use App\Providers\FortifyServiceProvider;
return [ return [
App\Providers\AppServiceProvider::class, AppServiceProvider::class,
App\Providers\AuthServiceProvider::class, AuthServiceProvider::class,
App\Providers\FortifyServiceProvider::class, FortifyServiceProvider::class,
]; ];

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { Link } from '@inertiajs/vue3'; import { Link } from '@inertiajs/vue3';
import { BookOpen, FolderGit2, LayoutGrid } from '@lucide/vue'; import { BookOpen, FolderGit2, LayoutGrid, Users } from '@lucide/vue';
import AppLogo from '@/components/AppLogo.vue'; import AppLogo from '@/components/AppLogo.vue';
import NavFooter from '@/components/NavFooter.vue'; import NavFooter from '@/components/NavFooter.vue';
import NavMain from '@/components/NavMain.vue'; import NavMain from '@/components/NavMain.vue';
@ -15,6 +15,7 @@ import {
SidebarMenuItem, SidebarMenuItem,
} from '@/components/ui/sidebar'; } from '@/components/ui/sidebar';
import { dashboard } from '@/routes'; import { dashboard } from '@/routes';
import { index as dynamics } from '@/routes/dynamics';
import type { NavItem } from '@/types'; import type { NavItem } from '@/types';
const mainNavItems: NavItem[] = [ const mainNavItems: NavItem[] = [
@ -23,6 +24,11 @@ const mainNavItems: NavItem[] = [
href: dashboard(), href: dashboard(),
icon: LayoutGrid, icon: LayoutGrid,
}, },
{
title: 'Dynamics',
href: dynamics(),
icon: Users,
},
]; ];
const footerNavItems: NavItem[] = [ const footerNavItems: NavItem[] = [

View File

@ -1,9 +1,9 @@
<?php <?php
use App\Http\Controllers\MessageController;
use App\Http\Controllers\MutationController;
use App\Http\Controllers\DynamicController; use App\Http\Controllers\DynamicController;
use App\Http\Controllers\LedgerController; use App\Http\Controllers\LedgerController;
use App\Http\Controllers\MessageController;
use App\Http\Controllers\MutationController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::inertia('/', 'Welcome')->name('home'); Route::inertia('/', 'Welcome')->name('home');