@extends('layouts.app')

@section('title', $canManage ? 'Add Complaint' : 'Raise Complaint')
@section('heading', $canManage ? 'Add Complaint' : 'Raise Complaint')

@section('content')
    <x-card class="max-w-3xl">
        <form action="{{ route('complaints.store') }}" method="POST" class="space-y-6" novalidate data-complaint-form="create">
            @csrf
            <div class="grid gap-4 sm:grid-cols-2">
                @if($canManage)
                <div>
                    <label class="block text-sm font-medium text-slate-700">From (Complainant)</label>
                    <select name="from_user_id" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2 js-select2" required>
                        <option value="">Select</option>
                        @foreach($users as $u)<option value="{{ $u->id }}" {{ old('from_user_id') == $u->id ? 'selected' : '' }}>{{ $u->name }}</option>@endforeach
                    </select>
                    @error('from_user_id')<p class="mt-1 text-sm text-red-600">{{ $message }}</p>@enderror
                </div>
                <div>
                    <label class="block text-sm font-medium text-slate-700">Against (optional)</label>
                    <select name="against_user_id" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2 js-select2">
                        <option value="">—</option>
                        @foreach($users as $u)
                            <option value="{{ $u->id }}" {{ old('against_user_id') == $u->id ? 'selected' : '' }}>{{ $u->name }}</option>
                        @endforeach
                    </select>
                </div>
                @endif
                <div>
                    <label class="block text-sm font-medium text-slate-700">Subject <span class="text-red-500">*</span></label>
                    <input type="text" name="subject" value="{{ old('subject') }}" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2">
                    @error('subject')<p class="mt-1 text-sm text-red-600">{{ $message }}</p>@enderror
                    <p data-js-error="subject" class="mt-1 text-sm text-red-600 hidden"></p>
                </div>
                <div>
                    <label class="block text-sm font-medium text-slate-700">Complaint Date</label>
                    <input type="date" name="complaint_date" value="{{ old('complaint_date', date('Y-m-d')) }}" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2" required>
                    @error('complaint_date')<p class="mt-1 text-sm text-red-600">{{ $message }}</p>@enderror
                </div>
                @unless($canManage)
                <div class="sm:col-span-2">
                    <label class="block text-sm font-medium text-slate-700">Against (optional)</label>
                    <select name="against_user_id" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2 js-select2">
                        <option value="">—</option>
                        @foreach($users as $u)
                            @if($u->id === auth()->id()) @continue @endif
                            <option value="{{ $u->id }}" {{ old('against_user_id') == $u->id ? 'selected' : '' }}>{{ $u->name }}</option>
                        @endforeach
                    </select>
                </div>
                @endunless
                <div class="sm:col-span-2">
                    <label class="block text-sm font-medium text-slate-700">Description</label>
                    <textarea name="description" rows="3" class="mt-1 block w-full rounded-lg border border-slate-300 px-3 py-2">{{ old('description') }}</textarea>
                </div>
            </div>
            <div class="flex gap-2">
                <x-button type="submit" variant="primary">{{ $canManage ? 'Save' : 'Submit' }}</x-button>
                <a href="{{ route('complaints.index') }}" class="inline-flex items-center rounded-lg bg-slate-100 px-4 py-2 text-sm font-medium text-slate-700 hover:bg-slate-200">Cancel</a>
            </div>
        </form>
    </x-card>
@endsection

@push('scripts')
<script src="{{ asset('js/form-validation.js') }}"></script>
<script src="{{ asset('js/form-text-rules.js') }}"></script>
<script src="{{ asset('js/subject-form-validation.js') }}"></script>
@endpush
