@extends('layouts.superadmin') @section('title', 'Perubahan Produk') @section('header-title', 'Perubahan Produk') @section('header-badge', 'Review') @section('header-subtitle', 'Bandingkan pengajuan Admin sebelum menyetujui atau menolak perubahan produk.') @section('content') @include('partials.flash-toast') @php $tabs = [ \App\Models\ProductUpdateRequest::STATUS_PENDING => 'Menunggu', \App\Models\ProductUpdateRequest::STATUS_DISETUJUI => 'Disetujui', \App\Models\ProductUpdateRequest::STATUS_DITOLAK => 'Ditolak', ]; @endphp
@foreach ($tabs as $key => $label) {{ $label }} ({{ $stats[$key] ?? 0 }}) @endforeach
@forelse ($requests as $item) @php $diff = $item->getAttribute('perbandingan'); @endphp

{{ $item->product?->store?->nama_toko ?? '-' }} • {{ $item->created_at?->translatedFormat('d M Y H:i') ?? '-' }}

{{ $item->product?->nama_produk ?? 'Produk dihapus' }}

Diajukan oleh {{ $item->requester?->nama_lengkap ?? '-' }} • Produk #{{ $item->product_id }}

{{ $tabs[$item->status] ?? $item->status }}
Perbandingan data utama
@foreach ($diff['fields'] as $field) @endforeach
Field Sebelum Sesudah
{{ $field['label'] }} {{ \Illuminate\Support\Str::limit((string) $field['lama'], 160) }} {{ \Illuminate\Support\Str::limit((string) $field['baru'], 160) }}

Foto sebelum ({{ count($diff['beforeImages']) }})

@forelse ($diff['beforeImages'] as $foto) Foto lama @empty

Tidak ada foto lama.

@endforelse

Foto sesudah ({{ count($diff['afterImages']) }})

@forelse ($diff['afterImages'] as $foto) Foto usulan @empty

Semua foto dihapus atau tidak ada foto baru.

@endforelse
@if (count($diff['removed'] ?? []) > 0)

{{ count($diff['removed']) }} foto lama diusulkan untuk dihapus.

@endif
Perbandingan varian dan stok
@php $keys = collect($diff['beforeVariants'])->keys()->merge(collect($diff['afterVariants'])->keys())->unique()->values(); @endphp @if ($keys->isEmpty())

Tidak ada perubahan varian yang diusulkan.

@else @foreach ($keys as $key) @php $lama = $diff['beforeVariants'][$key] ?? null; $baru = $diff['afterVariants'][$key] ?? null; $berubah = json_encode($lama) !== json_encode($baru); $bagianKunci = explode('|', $key); $labelVarian = trim($bagianKunci[0] ?? '').(trim($bagianKunci[1] ?? '') !== '' ? ' • '.trim($bagianKunci[1]) : ' • Tanpa warna'); @endphp @endforeach
Varian Sebelum Sesudah
{{ $labelVarian }} {{ $lama ? ((($lama['warna'] ?? null) ? ($lama['warna_hex'] ?? '').' • ' : 'Tanpa warna • ').'Stok '.($lama['stok'] ?? 0).' • Min '.($lama['stok_minimum'] ?? 0)) : 'Tidak ada' }} {{ $baru ? ((($baru['warna'] ?? null) ? ($baru['warna_hex'] ?? '').' • ' : 'Tanpa warna • ').'Stok '.($baru['stok'] ?? 0).' • Min '.($baru['stok_minimum'] ?? 0)) : 'Tidak ada' }}
@endif
@if ($item->status === 'pending')
@csrf

Setujui dan berlakukan semua perubahan di atas.

@csrf
@else

Diputuskan oleh {{ $item->reviewer?->nama_lengkap ?? '-' }} pada {{ $item->updated_at?->translatedFormat('d M Y H:i') ?? '-' }}.{{ $item->review_note ? ' Alasan: '.$item->review_note : '' }}

@endif
@empty

Belum ada pengajuan pada status ini.

@endforelse
@endsection