@extends('layouts.admin.theme')

@section('title', env('APP_NAME') . ' :: ' . __('Manifestação - MobiAngra'))

@section('content')
<div class="card shadow-sm">
    @php
        $headLine = '<i class="fa-solid fa-comments"></i> ' . __('Manifestação do cidadão');
    @endphp

    @include('components.buttons._headLineButtonsBackAdd', [
        'headLine' => $headLine,
        'routeBack' => 'admin.mobiangra.index',
        'routeBackParams' => $filterParams,
        'nameBack' => __('Voltar'),
        'permission' => 'GERENCIADOR_DE_MOBIANGRA',
    ])

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

        <div class="row g-4 mb-4">
            <div class="{{ $manifestacao->imagem_path ? 'col-lg-8' : 'col-12' }}">
                <dl class="row g-2 mb-0">
                    @if ($chamado)
                        <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Nº registro') }}:</dt>
                        <dd class="col-sm-8 col-lg-9 mb-0">
                            <span class="badge bg-light text-dark border font-monospace">{{ $chamado->numeroChamado }}</span>
                        </dd>

                        <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Status') }}:</dt>
                        <dd class="col-sm-8 col-lg-9 mb-0">{{ $chamado->statusChamado }}</dd>
                    @endif

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Registrado em') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->created_at?->format('d/m/Y H:i') }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Solicitante') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->identificacao }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('E-mail') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">
                        <a href="mailto:{{ $manifestacao->email }}">{{ $manifestacao->email }}</a>
                    </dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Linha') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->linha ?: '-' }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Sentido') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $sentidoLabel }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Horário') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->horario ?: '-' }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Local') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->local ?: '-' }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0">{{ __('Número do veículo') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">{{ $manifestacao->numero_veiculo ?: '-' }}</dd>

                    <dt class="col-sm-4 col-lg-3 text-sm-end fw-bold mb-0 align-self-start">{{ __('Relato') }}:</dt>
                    <dd class="col-sm-8 col-lg-9 mb-0">
                        <div class="border rounded p-3 bg-light text-break">
                            {!! nl2br(e($manifestacao->relato)) !!}
                        </div>
                    </dd>
                </dl>
            </div>

            @if ($manifestacao->imagem_path)
                <div class="col-lg-4">
                    <div class="card border h-100">
                        <div class="card-header py-2 bg-light">
                            <span class="small fw-bold">
                                <i class="fa-solid fa-image me-1" aria-hidden="true"></i>{{ __('Imagem anexada') }}:
                            </span>
                        </div>
                        <div class="card-body d-flex flex-column align-items-center justify-content-center text-center">
                            <x-admin.image-lightbox
                                :src="asset('storage/' . $manifestacao->imagem_path)"
                                :alt="__('Imagem anexada à manifestação')"
                                :title="__('Imagem anexada à manifestação')"
                                modal-id="mobiangra-manifestacao-imagem" />
                            <p class="form-text mb-0 mt-2">{{ __('Clique para ver em tela cheia') }}</p>
                        </div>
                    </div>
                </div>
            @endif
        </div>

        @if ($chamado)
            <hr class="my-4">

            <h5 class="mb-3">
                <i class="fa-solid fa-headset me-1"></i>{{ __('Andamento do chamado') }}
            </h5>

            @foreach ($mensagens as $mensagem)
                <div class="mb-3">
                    <ul class="list-group">
                        <li class="list-group-item {{ $mensagem->solicitacao ? 'bg-dark text-white' : 'bg-light' }}">
                            <strong>
                                {{ $mensagem->solicitacao ? __('Solicitação inicial') : __('Mensagem') }}
                            </strong>
                            - {{ $mensagem->created_at?->format('d/m/Y H:i') }}
                        </li>
                        <li class="list-group-item">
                            <strong>{{ __('Autor') }}:</strong>
                            {{ $mensagem->user?->name ?? __('Sistema') }}
                        </li>
                        <li class="list-group-item">
                            <strong>{{ __('Conteúdo') }}:</strong>
                            <div class="mt-2">{!! $mensagem->mensagem !!}</div>
                        </li>
                        @php $index = $mensagem->solicitacao ? 0 : 100; @endphp
                        @foreach ($mensagem->arquivos as $arquivo)
                            <li class="list-group-item">
                                @include('components.tables._openPhotoAndPdf', [
                                    'asset' => $arquivo->link,
                                    'alt' => $arquivo->nome,
                                    'title' => $arquivo->nome,
                                    'text' => $arquivo->nome,
                                    'index' => $index,
                                ])
                            </li>
                            @php $index++; @endphp
                        @endforeach
                    </ul>
                </div>
            @endforeach

            @if (($chamado->statusChamado ?? '') !== 'Finalizado'
                && (auth()->user()->getPermissaoDetalhes('GERENCIADOR_DE_MOBIANGRA')['editar'] ?? false))
                <form action="{{ route('admin.mobiangra.manifestacoes.novaMensagem', $manifestacao) }}"
                      method="post"
                      enctype="multipart/form-data"
                      class="mt-4">
                    @csrf

                    @include('components.inputs._textarea', [
                        'label' => __('Nova mensagem ao requerente'),
                        'name' => 'mensagem',
                        'id' => 'manifestacao_mensagem',
                        'rows' => 5,
                        'required' => true,
                        'height' => '200px',
                        'class' => 'textarea-body',
                        'style' => null,
                        'oninput' => null,
                        'value' => old('mensagem'),
                        'small' => null,
                    ])

                    @include('components.inputs._inputType', [
                        'for' => 'link',
                        'label' => __('Arquivos'),
                        'name' => 'link[]',
                        'id' => 'link',
                        'required' => false,
                        'type' => 'file',
                        'old' => null,
                        'oninput' => null,
                        'readonly' => true,
                        'multiple' => true,
                        'small' => __('* Apenas documentos de imagem: PDF, JPG, JPEG, PNG, GIF, BMP, WEBP.'),
                        'accept' => 'application/pdf,image/*',
                    ])

                    @include('components.inputs._selectType', [
                        'for' => 'statusChamado',
                        'label' => __('Status'),
                        'name' => 'statusChamado',
                        'required' => true,
                        'readonly' => false,
                        'options' => $statusChamado,
                        'selected' => old('statusChamado', $chamado->statusChamado),
                        'placeholder' => __('Selecione o status do chamado...'),
                        'small' => __('Informe o status atual do chamado.'),
                        'onchange' => null,
                    ])

                    <div class="d-flex gap-2 flex-wrap">
                        <button type="submit" class="btn btn-primary">
                            <i class="fa-solid fa-paper-plane me-1"></i>{{ __('Enviar resposta') }}
                        </button>
                    </div>
                </form>
            @endif
        @else
            <div class="alert alert-warning mb-0">
                <i class="fa-solid fa-triangle-exclamation me-1"></i>
                {{ __('Manifestação legada sem chamado vinculado. Não é possível registrar andamento por este canal.') }}
            </div>
        @endif
    </div>
</div>
@endsection
