{{-- Вьюха: Создание нового пользователя с назначением роли и прав.
     Контроллер: Admin\UserAdminController@create / store
     Переменные: $permissions (все права по группам), $roleLabels (метки ролей)
--}}
@extends('admin.layout')

@section('title', 'Новый пользователь')

@section('content_header')
    <div class="d-flex justify-content-between align-items-center">
        <h1 class="m-0">Новый пользователь</h1>
        <a href="{{ route('admin.users.index') }}" class="btn btn-default btn-sm">
            <i class="fas fa-arrow-left"></i> Назад
        </a>
    </div>
@stop

@section('breadcrumb')
    <li class="breadcrumb-item"><a href="{{ route('admin.dashboard') }}">Главная</a></li>
    <li class="breadcrumb-item"><a href="{{ route('admin.users.index') }}">Пользователи</a></li>
    <li class="breadcrumb-item active">Новый пользователь</li>
@stop

@section('content')
    @if($errors->any())
        <div class="alert alert-danger alert-dismissible">
            <button type="button" class="close" data-dismiss="alert">&times;</button>
            <ul class="mb-0 pl-3">
                @foreach($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif

    <form action="{{ route('admin.users.store') }}" method="POST">
        @csrf

        <div class="row">
            {{-- Левая колонка: данные + роль --}}
            <div class="col-md-4">

                {{-- Данные пользователя --}}
                <div class="card card-primary card-outline">
                    <div class="card-header"><h3 class="card-title">Учётные данные</h3></div>
                    <div class="card-body">
                        <div class="form-group">
                            <label for="name">Имя <span class="text-danger">*</span></label>
                            <input type="text" id="name" name="name" class="form-control @error('name') is-invalid @enderror"
                                   value="{{ old('name') }}" placeholder="Иван Иванов" required>
                            @error('name')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <label for="email">Email <span class="text-danger">*</span></label>
                            <input type="email" id="email" name="email" class="form-control @error('email') is-invalid @enderror"
                                   value="{{ old('email') }}" placeholder="user@example.com" required>
                            @error('email')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <label for="password">Пароль <span class="text-danger">*</span></label>
                            <input type="password" id="password" name="password"
                                   class="form-control @error('password') is-invalid @enderror"
                                   placeholder="Минимум 8 символов" required>
                            @error('password')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group mb-0">
                            <label for="password_confirmation">Подтверждение пароля <span class="text-danger">*</span></label>
                            <input type="password" id="password_confirmation" name="password_confirmation"
                                   class="form-control" placeholder="Повторите пароль" required>
                        </div>
                    </div>
                </div>

                {{-- Роль --}}
                <div class="card card-primary card-outline">
                    <div class="card-header"><h3 class="card-title">Роль</h3></div>
                    <div class="card-body">
                        <p class="text-muted" style="font-size:13px">
                            Роль задаёт базовый набор прав. Индивидуальные overrides (справа) могут дополнить или ограничить их.
                        </p>
                        <div class="form-group mb-0">
                            @foreach($roleLabels as $roleKey => $roleInfo)
                                {{-- superadmin может назначить только суперадмин --}}
                                @if($roleKey === 'superadmin' && auth()->user()->role !== 'superadmin')
                                    @continue
                                @endif
                                {{-- admin может назначить только суперадмин --}}
                                @if($roleKey === 'admin' && auth()->user()->role !== 'superadmin')
                                    @continue
                                @endif
                                <div class="custom-control custom-radio mb-2">
                                    <input type="radio" class="custom-control-input" id="role_{{ $roleKey }}"
                                           name="role" value="{{ $roleKey }}" {{ old('role') === $roleKey ? 'checked' : '' }}>
                                    <label class="custom-control-label" for="role_{{ $roleKey }}">
                                        <span class="badge badge-{{ $roleInfo['color'] }}">{{ $roleInfo['label'] }}</span>
                                        <div style="font-size:11px;color:var(--muted,#666);margin-top:3px">
                                            @switch($roleKey)
                                                @case('superadmin') Все права, управляет всеми @break
                                                @case('admin') Всё кроме управления admins @break
                                                @case('editor') Автомобили + контент сайта @break
                                                @case('viewer') Только просмотр @break
                                            @endswitch
                                        </div>
                                    </label>
                                </div>
                            @endforeach
                            <div class="custom-control custom-radio mt-2">
                                <input type="radio" class="custom-control-input" id="role_none"
                                       name="role" value="" {{ ! old('role') ? 'checked' : '' }}>
                                <label class="custom-control-label" for="role_none">
                                    <span class="badge badge-secondary">Без роли</span>
                                    <div style="font-size:11px;color:var(--muted,#666);margin-top:3px">Нет доступа в панель</div>
                                </label>
                            </div>
                        </div>
                    </div>
                    <div class="card-footer">
                        <button type="submit" class="btn btn-success btn-block">
                            <i class="fas fa-user-plus"></i> Создать пользователя
                        </button>
                        <a href="{{ route('admin.users.index') }}" class="btn btn-secondary btn-block mt-1">Отмена</a>
                    </div>
                </div>
            </div>

            {{-- Правая колонка: индивидуальные overrides --}}
            <div class="col-md-8">
                <div class="card card-secondary card-outline">
                    <div class="card-header">
                        <h3 class="card-title">Индивидуальные overrides</h3>
                        <div class="card-tools">
                            <small class="text-muted">
                                <span class="badge badge-success">Allow</span> — разрешить поверх роли &nbsp;
                                <span class="badge badge-danger">Deny</span> — запретить поверх роли &nbsp;
                                <span class="badge badge-secondary">Роль</span> — без override
                            </small>
                        </div>
                    </div>
                    <div class="card-body">
                        @foreach($permissions as $groupName => $groupPerms)
                            <h6 class="text-uppercase text-muted mb-2" style="font-size:11px;letter-spacing:.1em">{{ $groupName }}</h6>
                            <table class="table table-sm table-bordered mb-3">
                                <thead>
                                    <tr>
                                        <th>Право</th>
                                        <th style="width:260px" class="text-center">Override</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    @foreach($groupPerms as $key => $label)
                                        <tr>
                                            <td>
                                                {{ $label }}
                                                <div><code style="font-size:10px">{{ $key }}</code></div>
                                            </td>
                                            <td class="text-center">
                                                <div class="d-flex justify-content-center" style="gap:6px">
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value="allow"
                                                               {{ old('permissions.'.$key) === 'allow' ? 'checked' : '' }}>
                                                        <span class="badge badge-success ml-1">Allow</span>
                                                    </label>
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value="deny"
                                                               {{ old('permissions.'.$key) === 'deny' ? 'checked' : '' }}>
                                                        <span class="badge badge-danger ml-1">Deny</span>
                                                    </label>
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value=""
                                                               {{ ! old('permissions.'.$key) ? 'checked' : '' }}>
                                                        <span class="badge badge-secondary ml-1">Роль</span>
                                                    </label>
                                                </div>
                                            </td>
                                        </tr>
                                    @endforeach
                                </tbody>
                            </table>
                        @endforeach
                    </div>
                </div>
            </div>
        </div>
    </form>
@stop
