@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
@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
| Field |
Sebelum |
Sesudah |
@foreach ($diff['fields'] as $field)
| {{ $field['label'] }} |
{{ \Illuminate\Support\Str::limit((string) $field['lama'], 160) }} |
{{ \Illuminate\Support\Str::limit((string) $field['baru'], 160) }} |
@endforeach
Foto sebelum ({{ count($diff['beforeImages']) }})
@forelse ($diff['beforeImages'] as $foto)
 }})
@empty
Tidak ada foto lama.
@endforelse
Foto sesudah ({{ count($diff['afterImages']) }})
@forelse ($diff['afterImages'] as $foto)
 }})
@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
| Varian |
Sebelum |
Sesudah |
@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
| {{ $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' }} |
@endforeach
@endif
@if ($item->status === 'pending')
@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