{{--
    Вьюха: Форма создания и редактирования значения справочника
    Создана: 2026-05-06
    Контроллер: Admin\ManualController::valueCreate() / valueEdit() / valueStore() / valueUpdate()
    Переменные: $section (DictSection), $value (DictValue|undefined), $parent (DictValue|null)
    Логика поля "Родитель" (только для иерархических разделов):
      - Если $parent задан (передан parent_id в URL): показывает readonly текст родителя + hidden input
      - Если создание: select с выбором родителя (или без — для верхнего уровня)
      - Если редактирование: select с текущим родителем, себя исключает из списка
--}}
@extends('admin.layout')

@section('title', isset($value) ? 'Редактировать значение' : 'Добавить значение')

@section('content_header')
    <div class="d-flex justify-content-between align-items-center">
        <h1 class="m-0">
            {{ isset($value) ? 'Редактировать значение' : 'Добавить значение' }}
            <small class="text-muted">— {{ $section->label }}</small>
        </h1>
        <a href="{{ route('admin.manuals.values', $section) }}" 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.manuals.index') }}">Справочники</a></li>
    <li class="breadcrumb-item"><a href="{{ route('admin.manuals.values', $section) }}">{{ $section->label }}</a></li>
    <li class="breadcrumb-item active">{{ isset($value) ? 'Редактировать' : 'Добавить' }}</li>
@stop

@section('content')
<div class="row justify-content-center">
    <div class="col-md-6">
        <div class="card card-primary card-outline">
            <div class="card-body">
                @if($errors->any())
                    <div class="alert alert-danger">
                        <ul class="mb-0">
                            @foreach($errors->all() as $e) <li>{{ $e }}</li> @endforeach
                        </ul>
                    </div>
                @endif

                <form action="{{ isset($value)
                    ? route('admin.manuals.value.update', [$section, $value])
                    : route('admin.manuals.value.store', $section) }}"
                      method="POST" enctype="multipart/form-data">
                    @csrf
                    @if(isset($value)) @method('PUT') @endif

                    @if($section->is_hierarchical && isset($parent))
                        <div class="form-group">
                            <label>Родитель</label>
                            <input type="hidden" name="parent_id" value="{{ $parent->id }}">
                            <input type="text" class="form-control" value="{{ $parent->value }}" readonly>
                        </div>
                    @elseif($section->is_hierarchical && !isset($value))
                        <div class="form-group">
                            <label>Родитель (оставьте пустым для верхнего уровня)</label>
                            <select name="parent_id" class="form-control">
                                <option value="">— верхний уровень —</option>
                                @foreach($section->values as $parentOpt)
                                    <option value="{{ $parentOpt->id }}"
                                            @selected(old('parent_id') == $parentOpt->id)>
                                        {{ $parentOpt->value }}
                                    </option>
                                @endforeach
                            </select>
                        </div>
                    @elseif($section->is_hierarchical && isset($value))
                        <div class="form-group">
                            <label>Родитель</label>
                            <select name="parent_id" class="form-control">
                                <option value="">— верхний уровень —</option>
                                @foreach($section->values as $parentOpt)
                                    @if($parentOpt->id !== $value->id)
                                        <option value="{{ $parentOpt->id }}"
                                                @selected(old('parent_id', $value->parent_id) == $parentOpt->id)>
                                            {{ $parentOpt->value }}
                                        </option>
                                    @endif
                                @endforeach
                            </select>
                        </div>
                    @endif

                    <div class="form-group">
                        <label>Значение <span class="text-danger">*</span></label>
                        <input type="text" name="value"
                               class="form-control @error('value') is-invalid @enderror"
                               value="{{ old('value', $value->value ?? '') }}"
                               autofocus>
                        @error('value')<div class="invalid-feedback">{{ $message }}</div>@enderror
                    </div>

                    {{-- Флаг только для раздела "Страны" --}}
                    @if($section->code === 'countries')
                    <div class="form-group">
                        <label>Флаг (emoji)</label>
                        <input type="text" name="flag" maxlength="10"
                               class="form-control form-control-sm" style="max-width:80px;font-size:22px"
                               value="{{ old('flag', $value->flag ?? '') }}"
                               placeholder="🇩🇪">
                        <small class="text-muted">Emoji флага страны</small>
                    </div>
                    @endif

                    <div class="form-group">
                        <label>Порядок сортировки</label>
                        <input type="number" name="sort_order"
                               class="form-control @error('sort_order') is-invalid @enderror"
                               value="{{ old('sort_order', $value->sort_order ?? 0) }}">
                        @error('sort_order')<div class="invalid-feedback">{{ $message }}</div>@enderror
                    </div>

                    {{-- Логотип только для раздела "Марки" (code=makes), только корневые значения --}}
                    @if($section->code === 'makes' && !($parent ?? null))
                        <div class="form-group">
                            <label>Логотип марки</label>
                            @if(isset($value) && $value->logo)
                                <div class="mb-2" id="logo-current">
                                    <img src="{{ asset('storage/' . $value->logo) }}"
                                         class="img-thumbnail d-block"
                                         style="max-height:80px;max-width:140px;object-fit:contain;background:#f8f9fa">
                                    <small class="text-muted">{{ basename($value->logo) }}</small>
                                    <div class="form-check mt-1">
                                        <input class="form-check-input" type="checkbox"
                                               name="remove_logo" value="1" id="remove_logo">
                                        <label class="form-check-label text-danger small" for="remove_logo">
                                            Удалить логотип
                                        </label>
                                    </div>
                                </div>
                            @endif
                            <div class="custom-file" style="max-width:300px">
                                <input type="file" name="logo" class="custom-file-input"
                                       accept="image/*" id="logo-file">
                                <label class="custom-file-label" for="logo-file">
                                    {{ (isset($value) && $value->logo) ? 'Заменить логотип' : 'Выбрать файл (PNG/SVG)' }}
                                </label>
                            </div>
                            <small class="text-muted d-block mt-1">PNG или SVG, не более 2 МБ</small>
                        </div>
                    @endif

                    <div class="d-flex">
                        <button type="submit" class="btn btn-primary">
                            <i class="fas fa-save"></i> {{ isset($value) ? 'Сохранить' : 'Добавить' }}
                        </button>
                        <a href="{{ route('admin.manuals.values', $section) }}" class="btn btn-default ml-2">Отмена</a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>
@stop
