@php
$value = fn($field, $default = '') => old($field, optional($item)->$field ?? $default);
$type = old('product_type', optional($item)->product_type ?? 'type2');
$featuresText = old('features_text', is_array(optional($item)->features) ? implode("\n", $item->features) : '');
$specPairs = old('spec_keys') ? collect(old('spec_keys'))->map(fn($key, $i) => ['label' => $key, 'value' => old('spec_values')[$i] ?? ''])->all() : (optional($item)->specification_pairs ?: [['label' => '', 'value' => '']]);
$faqRows = old('faq_questions') ? collect(old('faq_questions'))->map(fn($key, $i) => ['question' => $key, 'answer' => old('faq_answers')[$i] ?? ''])->all() : (optional($item)->faq ?: [['question' => '', 'answer' => '']]);
$catalogRows = old('catalog_title')
? collect(old('catalog_title'))->map(fn($title, $i) => [
'group' => old('catalog_group')[$i] ?? '',
'code' => old('catalog_code')[$i] ?? '',
'title' => $title,
'image' => old('catalog_image')[$i] ?? '',
])->all()
: (optional($item)->catalog_items ?: [['group' => '', 'code' => '', 'title' => '', 'image' => '']]);
$typeLabels = ['type1' => 'E-commerce', 'type2' => 'Inquiry', 'type3' => 'Catalog'];
$selectedImages = collect(old('selected_media', is_array(optional($item)->images) ? $item->images : []))->filter()->values();
$mediaFiles = collect($mediaFiles ?? []);
$selectedDomainId = old('main_domain_id', optional(optional($item)->category)->parent_id ?: optional($item)->category_id);
@endphp
@extends('layouts.admin')
@section('content')
{{ $item ? 'Edit product' : 'Add product' }} {{ $item ? 'Update product content, layout type and publishing details.' : 'Create a product in a guided form with only the relevant fields visible.' }}{{ $item ? $item->name : 'New Product' }}