From e4f40faca173c9af8f64b0542abee72b17b4e0f2 Mon Sep 17 00:00:00 2001 From: Tomasz Boruc Date: Wed, 26 Aug 2026 14:51:08 +0200 Subject: [PATCH] Dashboard changes --- database/seeders/UserSeeder.php | 2 +- resources/views/auth/register.blade.php | 94 +++++++++++------ resources/views/dashboard.blade.php | 133 +++++++++++++++++++++++- routes/web.php | 23 ++++ 4 files changed, 213 insertions(+), 39 deletions(-) diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php index a8380ba..09b6fa2 100644 --- a/database/seeders/UserSeeder.php +++ b/database/seeders/UserSeeder.php @@ -45,7 +45,7 @@ class UserSeeder extends Seeder $pracownik->assignRole($pracownikRole); // 2. Generowanie dodatkowych 30 losowych użytkowników z rolami (password = 'password') - User::factory(300)->create()->each(function ($user) use ($pracownikRole, $kierownikRole) { + User::factory(30)->create()->each(function ($user) use ($pracownikRole, $kierownikRole) { $role = rand(1, 100) <= 80 ? $pracownikRole : $kierownikRole; $user->assignRole($role); }); diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php index ad1a56b..806618e 100644 --- a/resources/views/auth/register.blade.php +++ b/resources/views/auth/register.blade.php @@ -1,6 +1,31 @@ - +@php + $layout = isset($roles) ? 'app-layout' : 'guest-layout'; +@endphp + + + @if(isset($roles)) + +
+

+ {{ __('Dodaj użytkownika') }} +

+ + + + + {{ __('Powrót do listy') }} + +
+
+ +
+
+
+ @endif +
- @csrf + @csrf
@@ -24,54 +49,57 @@
- @isset($roles) -
- + @isset($roles) +
+ - + - -
- @endisset + +
+ @endisset
- - - +
- - - +
-
- - {{ __('Already registered?') }} - +
+ @if(!isset($roles)) + + {{ __('Already registered?') }} + + @else + + {{ __('Anuluj') }} + + @endif - + {{ __('Zapisz') }}
- \ No newline at end of file + + @if(isset($roles)) +
+
+
+ @endif + \ No newline at end of file diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 4024c64..c8f14dc 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -6,12 +6,135 @@
-
-
-
- {{ __("You're logged in!") }} +
+ + {{-- Karty ze statystykami --}} +
+ + {{-- Wszyscy użytkownicy --}} +
+
+

Wszyscy użytkownicy

+

+ {{ $totalUsers ?? 0 }} +

+
+
+ + + +
+ + {{-- Administratorzy --}} +
+
+

Administratorzy

+

+ {{ $adminCount ?? 0 }} +

+
+
+ + + +
+
+ + {{-- Kierownicy --}} +
+
+

Kierownicy

+

+ {{ $managerCount ?? 0 }} +

+
+
+ + + +
+
+ + {{-- Pracownicy / Użytkownicy --}} +
+
+

Pracownicy

+

+ {{ $workerCount ?? 0 }} +

+
+
+ + + +
+
+
+ + {{-- Sekcja dolna: Szybkie akcje i powitanie --}} +
+ + {{-- Powitanie i szybki stan --}} +
+

+ Witaj, {{ Auth::user()->name }}! 👋 +

+

+ Jesteś zalogowany w systemie. Poniżej znajdziesz szybkie skróty do najważniejszych modułów w aplikacji. +

+ +
+ + + + + Zarządzaj użytkownikami + + + @hasanyrole('admin|kierownik') + + + + + Dodaj użytkownika + + @endhasanyrole +
+
+ + {{-- Ostatnio zarejestrowani --}} +
+

+ Ostatnio dodani +

+ +
+ @forelse($recentUsers ?? [] as $user) +
+
+

+ {{ $user->name }} {{ $user->surname }} +

+

+ {{ $user->email }} +

+
+ + {{ $user->created_at->diffForHumans() }} + +
+ @empty +

Brak nowych użytkowników.

+ @endforelse +
+
+ +
+
- + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index e0be059..e50360b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\ProfileController; use App\Http\Controllers\UserController; use Illuminate\Support\Facades\Route; +use App\Models\User; Route::get('/', function () { return view('welcome'); @@ -20,6 +21,28 @@ Route::middleware(['auth', 'verified'])->group(function () { Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); + + Route::get('/dashboard', function () { + $totalUsers = User::count(); + + // Jeśli używasz Spatie Roles/Permissions: + $adminCount = User::role('admin')->count(); + $managerCount = User::role('kierownik')->count(); + $workerCount = User::role('pracownik')->count(); + + // Pobranie 5 ostatnio dodanych użytkowników: + $recentUsers = User::latest()->take(5)->get(); + + return view('dashboard', compact( + 'totalUsers', + 'adminCount', + 'managerCount', + 'workerCount', + 'recentUsers' + )); +})->middleware(['auth', 'verified'])->name('dashboard'); + + // Zarządzanie użytkownikami (tylko dla posiadaczy uprawnienia users_access) Route::middleware(['can:users_access'])->group(function () { Route::get('/users', [UserController::class, 'index'])->name('users.index');