@extends('layouts.admin')
@section('title','Application Review')
@section('subtitle','Review the complete professional application and uploaded credentials.')
@section('content')
@php
 $profile=$application->user?->profile;
 $documents=$application->documents;
 $apiUrl=rtrim(config('admin.api_url'),'/');
 $fileUrl=fn($file)=>$file ? $apiUrl.'/storage/professionals/'.$application->professional_uuid.'/'.ltrim($file,'/') : null;
 $profileImage=trim((string)($profile?->image??''));
 $profileImageUrl=$profileImage!==''?(Illuminate\Support\Str::startsWith($profileImage,['http://','https://'])?$profileImage:$apiUrl.'/storage/users/'.$application->user_id.'/'.ltrim($profileImage,'/')):null;
@endphp
<a class="back-link" href="{{route('applications')}}">
    <i data-lucide="arrow-left"></i>Back to applications </a>
<section class="application-hero">
    <div class="review-avatar" style="--avatar-border:{{$application->profession?->color_hex??'#7bd300'}}">@if($profileImageUrl) <img src="{{$profileImageUrl}}" alt="{{$profile?->full_name}}" onerror="this.hidden=true;this.nextElementSibling.hidden=false">
        <span hidden>{{strtoupper(substr($profile?->full_name??'P',0,1))}}</span>@else <span>{{strtoupper(substr($profile?->full_name??'P',0,1))}}</span>@endif
    </div>
    <div class="hero-copy">
        <small>PROFESSIONAL APPLICANT</small>
        <h2>{{$profile?->full_name??'Professional'}}</h2>
        <p>{{$application->user?->email}} · {{$profile?->contact_number?:'No contact number'}}</p>
        <div>
            <span class="profession-chip" style="--profession:{{$application->profession?->color_hex??'#7bd300'}}">{{$application->profession?->name??'Profession unavailable'}}</span>
            <span class="application-status {{$application->status}}">{{ucfirst($application->status)}}</span>
        </div>
    </div>
    <dl>
        <div>
            <dt>Application ID</dt>
            <dd>#{{str_pad($application->id,5,'0',STR_PAD_LEFT)}}</dd>
        </div>
        <div>
            <dt>Submitted</dt>
            <dd>{{$application->updated_at?->format('M d, Y')}}</dd>
        </div>
    </dl>
</section>
<div class="review-layout">
    <div class="review-content">
        <section class="review-section">
            <div class="review-title">
                <i data-lucide="user-round"></i>
                <div>
                    <h2>Personal Information</h2>
                    <p>Identity and contact information</p>
                </div>
            </div>
            <dl class="detail-grid">
                <div>
                    <dt>Full Name</dt>
                    <dd>{{$profile?->full_name??'—'}}</dd>
                </div>
                <div>
                    <dt>Gender</dt>
                    <dd>{{ucfirst($profile?->gender??'—')}}</dd>
                </div>
                <div>
                    <dt>Birthday</dt>
                    <dd>{{$profile?->birthday?:'—'}}</dd>
                </div>
                <div>
                    <dt>Email</dt>
                    <dd>{{$application->user?->email}}</dd>
                </div>
                <div>
                    <dt>Contact Number</dt>
                    <dd>{{$profile?->contact_number?:'—'}}</dd>
                </div>
                <div class="wide">
                    <dt>Current Address</dt>
                    <dd>{{$profile?->current_address?:collect([$profile?->brgy,$profile?->city,$profile?->state,$profile?->country,$profile?->zip_code])->filter()->join(', ') ?: '—'}}</dd>
                </div>
            </dl>
        </section>
        <section class="review-section">
            <div class="review-title">
                <i data-lucide="briefcase-business"></i>
                <div>
                    <h2>Professional Information</h2>
                    <p>Practice credentials and profile</p>
                </div>
            </div>
            <dl class="detail-grid">
                <div>
                    <dt>Profession</dt>
                    <dd>{{$application->profession?->name??'—'}}</dd>
                </div>
                <div>
                    <dt>Salutation</dt>
                    <dd>{{$application->profession?->salutation??'—'}}</dd>
                </div>
                <div>
                    <dt>Default Rate</dt>
                    <dd>₱{{number_format($application->default_rate,2)}}</dd>
                </div>
                <div>
                    <dt>PRC Number</dt>
                    <dd>{{$documents?->prc_number??'—'}}</dd>
                </div>
                <div>
                    <dt>Admission Date</dt>
                    <dd>{{$documents?->admission_date?->format('M d, Y')??'—'}}</dd>
                </div>
                <div class="wide">
                    <dt>Specialties</dt>
                    <dd class="specialty-list">@forelse($application->specialties as $specialty) <span>{{$specialty->custom_name?:$specialty->specialty?->name??'Specialty'}}</span>@empty — @endforelse </dd>
                </div>
                <div class="wide">
                    <dt>Professional Bio</dt>
                    <dd class="prose">{{$application->bio?:'No biography submitted.'}}</dd>
                </div>
            </dl>
        </section>
        <section class="review-section">
            <div class="review-title">
                <i data-lucide="graduation-cap"></i>
                <div>
                    <h2>Educational Background</h2>
                    <p>Submitted academic qualifications</p>
                </div>
            </div>
            <div class="education-list">@forelse($application->educations as $education) <article>
                    <i></i>
                    <div>
                        <b>{{$education->degree}}{{ $education->field_of_study ? ' · '.$education->field_of_study : '' }}</b>
                        <p>{{$education->school}}</p>
                        <small>{{collect([$education->start_year,$education->end_year])->filter()->join(' – ')}}</small>
                    </div>
                </article>@empty <p class="empty">No educational background submitted.</p>@endforelse </div>
        </section>
        <section class="review-section">
            <div class="review-title">
                <i data-lucide="paperclip"></i>
                <div>
                    <h2>Application Attachments</h2>
                    <p>Open an attachment to inspect the original file</p>
                </div>
            </div>
            <div class="attachment-grid">@foreach([['PRC Identification',$documents?->prc_id,'id-card'],['Signature',$documents?->signature,'signature'],['Selfie with PRC',$documents?->selfie_prc,'scan-face']] as $document) <article>
                    <div class="attachment-preview">@if($fileUrl($document[1])) <img src="{{$fileUrl($document[1])}}" alt="{{$document[0]}}" onerror="this.hidden=true;this.nextElementSibling.hidden=false">
                        <i hidden data-lucide="{{$document[2]}}"></i>@else <i data-lucide="{{$document[2]}}"></i>@endif
                    </div>
                    <b>{{$document[0]}}</b>
                    <small>{{$document[1]?:'Not submitted'}}</small>@if($fileUrl($document[1])) <a href="{{$fileUrl($document[1])}}" target="_blank" rel="noopener">View original <i data-lucide="external-link"></i>
                    </a>@else <span>Unavailable</span>@endif
                </article>@endforeach </div>
        </section>
        <section class="review-section">
            <div class="review-title">
                <i data-lucide="map-pin"></i>
                <div>
                    <h2>Office and Availability</h2>
                    <p>Practice address and submitted schedule</p>
                </div>
            </div>
            <p class="office-address">{{$application->office ? collect([$application->office->building_name,$application->office->address,$application->office->city,$application->office->province,$application->office->country,$application->office->zip_code])->filter()->join(', ') : 'No office information submitted.'}}</p>
            <div class="schedule-grid">@forelse($application->schedules as $schedule) <article>
                    <b>{{ucfirst($schedule->day_of_week)}}</b>
                    <span>{{$schedule->time_from}} – {{$schedule->time_to}}</span>
                    <small>₱{{number_format($schedule->rate,2)}}</small>
                </article>@empty <p class="empty">No availability submitted.</p>@endforelse </div>
        </section>
    </div>
    <aside class="decision-panel">
        <small>CURRENT DECISION</small>
        <span class="application-status {{$application->status}}">{{ucfirst($application->status)}}</span>
        <h2>Application Decision</h2>
        <p>Review all information and uploaded credentials before making a final decision.</p>
        <form method="post" action="{{route('applications.update',$application)}}">@csrf @method('patch') <button class="approve-button" name="status" value="approved">
                <i data-lucide="check"></i>Approve Application </button>
            <button class="decline-button" name="status" value="declined" onclick="return confirm('Decline this professional application? The professional account will be deactivated.')">
                <i data-lucide="x"></i>Decline Application </button>
        </form>
        <div class="decision-note">
            <i data-lucide="shield-check"></i>
            <span>The decision immediately updates the professional and user account status.</span>
        </div>
    </aside>
</div>
@endsection
