feat: Implement rides management with CRUD functionality

- Added rides index view with search and filter options.
- Created rides show view to display ride details.
- Implemented API routes for rides.
- Developed authentication routes for user registration, login, and email verification.
- Created tests for authentication, email verification, password reset, and user profile management.
- Added feature tests for rides and operators, including creation, updating, deletion, and searching.
- Implemented soft deletes and caching for rides and operators.
- Enhanced manufacturer and operator model tests for various functionalities.
This commit is contained in:
pacnpal
2025-06-19 22:34:10 -04:00
parent 86263db9d9
commit cc33781245
148 changed files with 14026 additions and 2482 deletions

View File

@@ -10,7 +10,7 @@
>
<img
src="{{ auth()->user()->profile->avatar }}"
alt="{{ auth()->user()->username }}"
alt="{{ auth()->user()->name }}"
class="w-10 h-10 transition-all duration-200 rounded-full cursor-pointer ring-2 ring-primary/20 hover:scale-105 focus:outline-none focus:ring-2 focus:ring-primary/40"
/>
</button>
@@ -23,7 +23,7 @@
aria-label="User menu"
class="flex items-center justify-center w-10 h-10 text-lg font-semibold text-white transition-all duration-200 rounded-full cursor-pointer bg-gradient-to-br from-primary to-secondary hover:scale-105 focus:outline-none focus:ring-2 focus:ring-primary/40"
>
{{ ucfirst(auth()->user()->username[0]) }}
{{ ucfirst(auth()->user()->name[0]) }}
</button>
@endif
@@ -38,11 +38,11 @@
>
<div class="px-4 py-3 border-b border-gray-800/50">
<p class="text-sm text-gray-400">Signed in as</p>
<p class="text-sm font-medium text-white truncate">{{ auth()->user()->username }}</p>
<p class="text-sm font-medium text-white truncate">{{ auth()->user()->name }}</p>
</div>
<div class="py-1">
<a
href="{{ route('profile.show', auth()->user()->username) }}"
href="{{ route('profile') }}"
class="flex items-center w-full gap-3 px-4 py-2 text-gray-300 transition-colors hover:text-white hover:bg-gray-800/50 focus:outline-none focus:text-white focus:bg-gray-800/50"
role="menuitem"
>
@@ -50,14 +50,14 @@
<span>Profile</span>
</a>
<a
href="{{ route('settings') }}"
href="{{ route('profile') }}"
class="flex items-center w-full gap-3 px-4 py-2 text-gray-300 transition-colors hover:text-white hover:bg-gray-800/50 focus:outline-none focus:text-white focus:bg-gray-800/50"
role="menuitem"
>
<i class="w-5 fas fa-cog"></i>
<span>Settings</span>
</a>
@if(auth()->user()->can('access-admin'))
@if(auth()->user()->role === 'ADMIN')
<a
href="{{ route('admin.index') }}"
class="flex items-center w-full gap-3 px-4 py-2 text-gray-300 transition-colors hover:text-white hover:bg-gray-800/50 focus:outline-none focus:text-white focus:bg-gray-800/50"