@extends('layouts.admin') @section('title', __('admin.review.examine')) @section('content')
{{ __('admin.labels.status') }}{{ __('admin.review.status.'.$review->status) }}
{{ __('admin.review.reason_label') }}{{ __('admin.review.reason.'.$review->reason) }}
{{ __('admin.review.severity_label') }}{{ __('admin.review.severity.'.$review->severity) }}
{{ __('admin.review.values') }}{{ $review->distinct_value_count }} / {{ $review->observation_count }}
@if($review->status === 'resolved')
{{ __('admin.review.already_resolved') }}
@endif

{{ __('admin.review.current_canonical') }}

{{ __('admin.review.current_canonical_help') }}

@if($review->canonicalValue) {{ $review->canonicalValue->confidence_score }}% @endif
@if($review->canonicalValue) @php try { $canonicalDecoded = $review->canonicalValue->decodedValue(); $canonicalDisplay = is_scalar($canonicalDecoded) || $canonicalDecoded === null ? var_export($canonicalDecoded, true) : json_encode($canonicalDecoded, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } catch (Throwable $e) { $canonicalDisplay = '—'; } @endphp
{{ $canonicalDisplay }} {{ $review->canonicalValue->is_manually_verified ? __('admin.review.manually_verified') : __('admin.review.not_manually_verified') }}
@if($review->status === 'open')
@csrf
@endif @else
{{ __('admin.review.no_canonical') }}
@endif

{{ __('admin.review.observations') }}

{{ __('admin.review.observations_help') }}

@forelse($observations as $observation) @php try { $decoded = $observation->normalizedValue(); $display = is_scalar($decoded) || $decoded === null ? var_export($decoded, true) : json_encode($decoded, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } catch (Throwable $e) { $display = '—'; } $isCanonical = $review->canonicalValue && $review->canonicalValue->value_hash === $observation->value_hash; @endphp @empty @endforelse
{{ __('admin.review.value') }} {{ __('admin.review.provider_source') }} {{ __('admin.review.confidence') }} {{ __('admin.review.observed_at') }} {{ __('admin.review.actions') }}
{{ $display }}@if($isCanonical){{ __('admin.review.same_as_canonical') }}@endif {{ $observation->provider?->name ?: __('admin.review.manual_source') }}{{ $observation->source?->name ?: '—' }} {{ $observation->confidence_score }}%{{ $observation->confidence_reason ?: '—' }} {{ ($observation->observed_at ?: $observation->fetched_at)?->format('d/m/Y H:i:s') ?: '—' }} @if($review->status === 'open')
@csrf
@if(! $review->canonicalValue || $review->canonicalValue->selected_observation_id !== $observation->id)
@csrf
@endif @else — @endif
{{ __('admin.review.no_observations') }}
@if($conflict)

{{ __('admin.review.conflict_details') }}

{{ __('admin.review.conflict_help') }}

{{ __('admin.review.conflict_status.'.$conflict->status) }}
{{ __('admin.review.distinct_values') }}{{ $conflict->distinct_value_count }}
{{ __('admin.review.detected_at') }}{{ $conflict->detected_at?->format('d/m/Y H:i:s') ?: '—' }}
{{ __('admin.review.reopened') }}{{ $conflict->reopened_count }}
{{ __('admin.review.resolution') }}{{ $conflict->resolution ?: '—' }}
@endif

{{ __('admin.review.history') }}

{{ __('admin.review.history_help') }}

@forelse($history as $entry) @empty @endforelse
{{ __('admin.labels.updated_at') }}{{ __('admin.review.resolution') }}{{ __('admin.review.user') }}{{ __('admin.review.confidence') }}
{{ $entry->changed_at?->format('d/m/Y H:i:s') ?: '—' }} {{ $entry->change_reason ?: '—' }} {{ $entry->changedBy?->name ?: '—' }} {{ $entry->new_confidence_score }}%
{{ __('admin.review.no_history') }}
@endsection