134 lines
6.0 KiB
PHP
134 lines
6.0 KiB
PHP
@extends('admin.layout')
|
|
|
|
@section('title', 'Edit User')
|
|
@section('page_title', 'Edit User')
|
|
|
|
@section('content')
|
|
<!-- Alerts -->
|
|
@if(session('success'))
|
|
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
|
{{ session('success') }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
@endif
|
|
|
|
@if(session('error'))
|
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
{{ session('error') }}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
@endif
|
|
|
|
<div class="row">
|
|
<div class="col-lg-8">
|
|
<!-- Edit User Form -->
|
|
<div class="admin-card">
|
|
<div class="admin-card-header">
|
|
<h5 class="admin-card-title">Edit User</h5>
|
|
<a href="{{ route('admin.users') }}" class="btn btn-outline-light btn-sm">
|
|
<i class="bi bi-arrow-left"></i> Back to Users
|
|
</a>
|
|
</div>
|
|
|
|
<form method="POST" action="{{ route('admin.users.update', $user->id) }}">
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
<div class="mb-3">
|
|
<label for="name" class="form-label">Name</label>
|
|
<input type="text" class="form-control @error('name') is-invalid @enderror" id="name" name="name" value="{{ old('name', $user->name) }}" required>
|
|
@error('name')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="email" class="form-label">Email</label>
|
|
<input type="email" class="form-control @error('email') is-invalid @enderror" id="email" name="email" value="{{ old('email', $user->email) }}" required>
|
|
@error('email')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="role" class="form-label">Role</label>
|
|
<select class="form-select @error('role') is-invalid @enderror" id="role" name="role" required>
|
|
<option value="user" {{ old('role', $user->role) == 'user' ? 'selected' : '' }}>User</option>
|
|
<option value="admin" {{ old('role', $user->role) == 'admin' ? 'selected' : '' }}>Admin</option>
|
|
<option value="super_admin" {{ old('role', $user->role) == 'super_admin' ? 'selected' : '' }}>Super Admin</option>
|
|
</select>
|
|
@error('role')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<hr style="border-color: var(--border-color);">
|
|
|
|
<h6 class="mb-3">Change Password (Optional)</h6>
|
|
|
|
<div class="mb-3">
|
|
<label for="new_password" class="form-label">New Password</label>
|
|
<input type="password" class="form-control @error('new_password') is-invalid @enderror" id="new_password" name="new_password" placeholder="Leave blank to keep current password">
|
|
@error('new_password')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="mb-3">
|
|
<label for="new_password_confirmation" class="form-label">Confirm New Password</label>
|
|
<input type="password" class="form-control" id="new_password_confirmation" name="new_password_confirmation" placeholder="Confirm new password">
|
|
</div>
|
|
|
|
<div class="d-flex gap-2">
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="bi bi-check-circle"></i> Update User
|
|
</button>
|
|
<a href="{{ route('admin.users') }}" class="btn btn-outline-light">Cancel</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-4">
|
|
<!-- User Info -->
|
|
<div class="admin-card">
|
|
<div class="admin-card-header">
|
|
<h5 class="admin-card-title">User Info</h5>
|
|
</div>
|
|
|
|
<div class="text-center mb-3">
|
|
<img src="{{ $user->avatar_url }}" alt="{{ $user->name }}" class="rounded-circle" style="width: 80px; height: 80px; object-fit: cover;">
|
|
<h5 class="mt-2">{{ $user->name }}</h5>
|
|
<p class="text-secondary mb-1">{{ $user->email }}</p>
|
|
@if($user->role === 'super_admin')
|
|
<span class="badge-role badge-super-admin">Super Admin</span>
|
|
@elseif($user->role === 'admin')
|
|
<span class="badge-role badge-admin">Admin</span>
|
|
@else
|
|
<span class="badge-role badge-user">User</span>
|
|
@endif
|
|
</div>
|
|
|
|
<hr style="border-color: var(--border-color);">
|
|
|
|
<div class="d-flex justify-content-between mb-2">
|
|
<span class="text-secondary">User ID</span>
|
|
<span>#{{ $user->id }}</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between mb-2">
|
|
<span class="text-secondary">Joined</span>
|
|
<span>{{ $user->created_at->format('M d, Y') }}</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between mb-2">
|
|
<span class="text-secondary">Total Videos</span>
|
|
<span>{{ $user->videos->count() }}</span>
|
|
</div>
|
|
<div class="d-flex justify-content-between">
|
|
<span class="text-secondary">Email Verified</span>
|
|
<span>{{ $user->email_verified_at ? 'Yes' : 'No' }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|