@extends('layouts.app') @section('content') @php $initialComponents = collect(old('components', $componentsJson ?? [])) ->filter(function ($item) { return !empty($item['component_material_id']) || (($item['qty'] ?? '') !== ''); }) ->map(function ($item) { return [ 'component_material_id' => (string) ($item['component_material_id'] ?? ''), 'qty' => (float) ($item['qty'] ?? 1), ]; }) ->values() ->all(); $initialPriceGroups = old('prices') ? collect(old('prices')) ->chunk(2) ->map(function ($chunk) { $umum = collect($chunk)->firstWhere('member_type', 'umum'); $instansi = collect($chunk)->firstWhere('member_type', 'studio') ?? collect($chunk)->firstWhere('member_type', 'instansi'); return [ 'sisi' => (int) ($umum['sisi'] ?? $instansi['sisi'] ?? 1), 'min_qty' => (int) ($umum['min_qty'] ?? $instansi['min_qty'] ?? 1), 'max_qty' => $umum['max_qty'] ?? $instansi['max_qty'] ?? null, 'price_umum' => (float) ($umum['price'] ?? 0), 'price_instansi' => (float) ($instansi['price'] ?? 0), ]; }) ->values() ->all() : collect($pricesJson ?? []) ->map(function ($group) { return [ 'sisi' => (int) ($group['sisi'] ?? 1), 'min_qty' => (int) ($group['min_qty'] ?? 1), 'max_qty' => $group['max_qty'] ?? null, 'price_umum' => (float) ($group['price_umum'] ?? 0), 'price_instansi' => (float) ($group['price_instansi'] ?? $group['price_studio'] ?? 0), ]; }) ->values() ->all(); @endphp