{{-- Вьюха: Управление ролью и правами пользователя --}}
@extends('admin.layout')

@section('title', 'Права: ' . $user->name)

@section('content_header')
    <div class="d-flex justify-content-between align-items-center">
        <h1 class="m-0">
            Права пользователя: <strong>{{ $user->name }}</strong>
            @if($user->role)
                @php $b = $user->roleBadge(); @endphp
                <span class="badge badge-{{ $b['color'] }} ml-2">{{ $b['label'] }}</span>
            @endif
        </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">{{ $user->name }}</li>
@stop

@section('content')
    <form action="{{ route('admin.users.update', $user) }}" method="POST">
        @csrf @method('PUT')

        <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">
                        <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 }}" {{ $user->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="" {{ ! $user->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-primary btn-block">
                            <i class="fas fa-save"></i> Сохранить
                        </button>
                        <a href="{{ route('admin.users.index') }}" class="btn btn-secondary btn-block mt-1">Отмена</a>
                    </div>
                </div>
            </div>

            <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:90px" class="text-center">По роли</th>
                                        <th style="width:260px" class="text-center">Override</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    @foreach($groupPerms as $key => $label)
                                        @php
                                            $inRole  = in_array($key, $roleDefaults, true);
                                            $override = $overrides[$key] ?? null;
                                        @endphp
                                        <tr>
                                            <td>
                                                {{ $label }}
                                                <div><code style="font-size:10px">{{ $key }}</code></div>
                                            </td>
                                            <td class="text-center">
                                                @if($user->role === 'superadmin')
                                                    <span class="badge badge-success">✓</span>
                                                @elseif($inRole)
                                                    <span class="badge badge-success">✓</span>
                                                @else
                                                    <span class="badge badge-secondary">—</span>
                                                @endif
                                            </td>
                                            <td class="text-center">
                                                <div class="d-flex justify-content-center gap-2" style="gap:6px">
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value="allow"
                                                               {{ $override && $override->action === 'allow' ? 'checked' : '' }}>
                                                        <span class="badge badge-success ml-1">Allow</span>
                                                    </label>
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value="deny"
                                                               {{ $override && $override->action === 'deny' ? 'checked' : '' }}>
                                                        <span class="badge badge-danger ml-1">Deny</span>
                                                    </label>
                                                    <label class="mb-0">
                                                        <input type="radio" name="permissions[{{ $key }}]" value=""
                                                               {{ ! $override ? 'checked' : '' }}>
                                                        <span class="badge badge-secondary ml-1">Роль</span>
                                                    </label>
                                                </div>
                                            </td>
                                        </tr>
                                    @endforeach
                                </tbody>
                            </table>
                        @endforeach
                    </div>
                </div>
            </div>
        </div>
    </form>
@stop
