@extends('layouts.admin.theme')

@section('title', env('APP_NAME') . ' :: Castração Animal - Editar Animal')

@section('content')


    <div class="container mt-5">
        <div class="row">
            <div class="col-12">
                <div class="card shadow">

                    @php $headLine = "<i class='fa-solid fa-paw'></i> Castração Animal - Editar Animal de " . $tutor->user->name; @endphp

                    @include('components.buttons._headLineButtonsBackAdd', [
                        'headLine' => __($headLine),
                        'routeBack' => 'admin.meioAmbiente.castracaoAnimal.animais.index',
                        'routeBackParams' => [$tutor->id],
                        'nameBack' => __("Voltar"),
                        "permission" => "GERENCIADOR_DE_CASTRACAO_ANIMAL",
                    ])

                    <div class="card-body">
                        
                        @include("errors.messageFlash")

                        <br/>

                        <form action="{{ route('admin.meioAmbiente.castracaoAnimal.animais.update', [$tutor->id, $animal->id]) }}" method="POST" enctype="multipart/form-data">

                           @csrf
                           @method('PUT')

                            <div class="row">
                                <div class="col-sm-12 col-md-6 d-flex align-items-center justify-content-center">
                                    <div class="mb-3">
                                        @include('components.tables._openPhoto', [
                                            'asset' => $animal->photo,
                                            'alt' => "Foto do animal",
                                            'title' =>  "Foto do animal",
                                            'text' => 'Visualizar foto do animal',
                                            'index' => 1,
                                            'style' => "width: 200px;",
                                        ])
                                    </div>
                                </div>
                                <div class="col-sm-12 col-md-6 d-flex align-items-end">
                                    <div style="width: 100%">
                                    <!-- Campo Foto -->
                                        @include('components.inputs._inputType',[
                                            "for" => null,
                                            "label" => "Foto",
                                            "name" => "photo",
                                            "id" => null,
                                            "required" => false,
                                            "type" => 'file',
                                            "old" => null,
                                            "oninput" => null,
                                            "readonly" => true,
                                            "small" => null,
                                            "accept" => 'image/jpeg,image/jpg,image/png,image/gif',
                                        ])
                                    </div>
                                </div>
                            </div>
                            <hr/>

                            <div class="row">
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Nome completo -->
                                    @include('components.inputs._inputType',[
                                        "for" => "nome_animal",
                                        "label" => "Nome do animal",
                                        "name" => "nome_animal",
                                        "id" => "nome_animal",
                                        "required" => true,
                                        "type" => null,
                                        "old" => old('nome_animal', $animal->nome_animal),
                                        "oninput" => "javascript:this.value = this.value.toUpperCase()",
                                        "readonly" => false,
                                        "small" => null,
                                    ])
                                </div>
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Espécie -->
                                    @include('components.inputs._selectType', [
                                            "for" => "especie",
                                            "label" => "Espécie",
                                            "name" => "especie",
                                            "id" => "especie",
                                            "required" => true,
                                            "readonly" => false,
                                            "placeholder" => "Selecione uma espécie...",
                                            "options" => ['Cão' => 'Cão', 'Gato' => 'Gato'],
                                            "selected" => old('especie', $animal->especie),
                                            "small" => "Selecione a espécie deste animal.",
                                        ])
                                </div>
                            </div>

                            <div class="row">
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Raça -->
                                    @include('components.inputs._selectType', [
                                            "for" => "raca_id",
                                            "label" => "Raça",
                                            "name" => "raca_id",
                                            "required" => true,
                                            "readonly" => false,
                                            "options" => $racas->mapWithKeys(fn($raca) => [$raca->id => ((bool) $raca->is_braquicefalico) ? "{$raca->nome} - ({$raca->especie} braquicefalico)" : "{$raca->nome} - ({$raca->especie})"])
                                                ->toArray(),
                                            "selected" => old('raca_id', $animal->raca_id),
                                            "placeholder" => "Selecione uma raça...",
                                            "small" => "Informe a raça do animal.",
                                            "onchange" => null
                                        ])
                                </div>
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Sexo -->
                                    @include('components.inputs._selectType', [
                                            "for" => "sexo",
                                            "label" => "Sexo",
                                            "name" => "sexo",
                                            "id" => "sexo",
                                            "required" => true,
                                            "readonly" => false,
                                            "placeholder" => "Selecione um sexo...",
                                            "options" => ['Macho' => 'Macho', 'Fêmea' => 'Fêmea'],
                                            "selected" => old('sexo', $animal->sexo),
                                            "small" => "Selecione o sexo deste animal.",
                                        ])
                                </div>
                            </div>

                            <div class="row">
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Tipo -->
                                    @include('components.inputs._selectType', [
                                            "for" => "tipo",
                                            "label" => "Tipo",
                                            "name" => "tipo",
                                            "id" => "tipo",
                                            "required" => true,
                                            "readonly" => false,
                                            "placeholder" => "Selecione um tipo...",
                                            "options" => ['Lar temporario' => 'Lar temporario', 'Tutor' => 'Tutor'],
                                            "selected" => old('tipo', $animal->tipo),
                                            "small" => "Selecione o tipo.",
                                        ])
                                </div>
                                <div class="col-sm-12 col-md-6">
                                <!-- Campo Peso -->
                                    @include('components.inputs._inputType', [
                                        "for" => "peso",
                                        "label" => "Peso",
                                        "name" => "peso",
                                        "id" => "peso",
                                        "required" => true,
                                        "type" => null,
                                        "old" => old('peso', $animal->peso),
                                        "oninput" => "let v = this.value.replace(/\\D/g, ''); v = (parseInt(v || 0, 10) / 100).toFixed(2); this.value = v;",
                                        "readonly" => false,
                                        "small" => null,
                                    ])
                                </div>
                            </div>

                            <div class="row">
                                <div class="col-sm-12 col-md-4">
                                <!-- Campo Idade -->
                                    @include('components.inputs._inputType',[
                                        "for" => "idade",
                                        "label" => "Idade",
                                        "name" => "idade",
                                        "id" => "idade",
                                        "required" => true,
                                        "type" => null,
                                        "old" => old('idade', $animal->idade),
                                        "oninput" => "javascript:this.value = this.value.replace(/\D/g, '')",
                                        "readonly" => false,
                                        "small" => null,
                                    ])
                                </div>
                                <div class="col-sm-12 col-md-4">
                                <!-- Campo Tipo -->
                                    @include('components.inputs._selectType', [
                                            "for" => "idade_em",
                                            "label" => "Idade em",
                                            "name" => "idade_em",
                                            "id" => "idade_em",
                                            "required" => true,
                                            "readonly" => false,
                                            "placeholder" => "Selecione uma idade...",
                                            "options" => ['meses' => 'meses', 'anos' => 'anos'],
                                            "selected" => old('idade_em', $animal->idade_em),
                                            "small" => "Selecione a idade.",
                                        ])
                                </div>
                                <div class="col-sm-12 col-md-4">
                                <!-- Campo Status -->
                                    @include('components.inputs._selectType', [
                                        "for" => "status",
                                        "label" => "Status",
                                        "name" => "status",
                                        "required" => true,
                                        "readonly" => false,
                                        "options" => collect(App\Enums\StatusEnum::cases())
                                            ->mapWithKeys(fn($status) => [$status->name => $status->value])
                                            ->toArray(),
                                        "selected" => old('status', $animal->status),
                                        "placeholder" => "Selecione o status...",
                                        "small" => "Informe o status atual do usuário.",
                                        "onchange" => null
                                    ])
                                </div>
                            </div>

                            @include('components.buttons._backAndSend', [
                                        'textBack' => 'Voltar', 
                                        'backId' => [$tutor->id], 
                                        'textSend' => 'Salvar', 
                                        'routeBack' => 'admin.meioAmbiente.castracaoAnimal.animais.index'
                                    ]
                                )

                        </form>

                    </div>
                </div>
            </div>
        </div>
    </div>

@endsection