@php $configData = Helper::appClasses(); @endphp @extends('layouts/layoutMaster') @section('title', $mode === 'create' ? 'Crear Usuario' : 'Editar Usuario') @section('vendor-style') @vite(['resources/assets/vendor/libs/tagify/tagify.scss']) @endsection @section('vendor-script') @vite(['resources/assets/vendor/libs/tagify/tagify.js']) @endsection @section('page-script') @vite(['resources/assets/js/admin-user-edit.js']) @endsection @section('content') @php $from = request()->query('from'); $prev = url()->previous(); $cameFromRiderContext = $from === 'riders' || \Illuminate\Support\Str::contains($prev, '/admin/riders'); if ($user->exists) { $backUrl = $cameFromRiderContext ? route('admin.users.show', ['user' => $user, 'from' => 'riders']) : ($user->roles->contains('slug', 'rider') ? route('admin.users.show', $user) : route('admin.users.index')); } else { $backUrl = $cameFromRiderContext ? route('admin.riders') : route('admin.users.index'); } $pageTitle = $mode === 'create' ? 'Crear usuario' : 'Editar usuario'; $displayName = old('name', $user->name ?: 'Nuevo usuario'); $displayEmail = old('email', $user->email) ?: 'Sin correo asignado'; $selectedRoleIds = collect(old('roles', $selected['roles'] ?? [])); $primaryRole = $user->roles->first() ?? ($selectedRoleIds->isNotEmpty() ? $roles->firstWhere('id', (int) $selectedRoleIds->first()) : null); $roleName = $primaryRole->name ?? 'Rol sin asignar'; $roleSlug = strtolower($primaryRole->slug ?? ''); $isAdminRole = $roleSlug === 'admin' || ($user->exists && method_exists($user, 'isAdmin') && $user->isAdmin()); $isRiderRole = $roleSlug === 'rider' || str_contains($roleSlug, 'rider'); $roleIcon = $isAdminRole ? 'ti tabler-shield-check' : ($isRiderRole ? 'ti tabler-bike' : 'ti tabler-user-circle'); $roleTone = $isAdminRole ? 'bg-label-danger' : ($isRiderRole ? 'bg-label-success' : 'bg-label-info'); $activeInput = old('active', $user->active ?? true); $isActive = !in_array($activeInput, [null, '', 0, '0', false], true); $hasRiderRole = $user->roles->contains(function ($role) { return \Illuminate\Support\Str::contains(strtolower($role->slug ?? ''), 'rider'); }) || $selectedRoleIds->contains(function ($roleId) use ($roles) { $role = $roles->firstWhere('id', (int) $roleId); return $role && \Illuminate\Support\Str::contains(strtolower($role->slug ?? ''), 'rider'); }); $canDeleteUser = $mode === 'edit' && !$hasRiderRole; @endphp
@endsection @if($mode === 'edit') @push('scripts') @endpush @endif