{{-- ── Idle / Search ─────────────────────────────────────────────────── --}} @if (in_array($this->state, ['idle', 'loading', 'not_found']))

Look up a PSP SKU

Enter an Allmakes PSP part code to fetch data from the PSP site and create a new product.

Part Code (SKU)
state === 'loading' ? 'disabled' : '' }} style="flex:1;" />
@if ($this->state === 'not_found')
SKU {{ $sku }} was not found on the PSP site. Check the part code and try again.
@endif
@endif {{-- ── Already exists ────────────────────────────────────────────────── --}} @if ($this->state === 'exists')

Product already exists

{{ $sku }} is already in the catalogue as:
{{ $preview['name'] ?? '' }} @if ($existingProductId)  View product → @endif
@endif {{-- ── Found — preview & confirm ────────────────────────────────────── --}} @if (in_array($this->state, ['found', 'creating'])) @php $statusLabels = [ 'in_stock' => ['In Stock', 'green'], 'in_transit' => ['In Transit', 'blue'], 'out_of_stock'=> ['Out of Stock','amber'], 'discontinued'=> ['Discontinued','red'], 'superseded' => ['Superseded', 'amber'], ]; $statusInfo = $statusLabels[$preview['status'] ?? ''] ?? [$preview['status'] ?? 'Unknown', 'gray']; @endphp
@if (!empty($preview['image_url'])) {{ $preview['sku'] ?? $sku }} @endif
PSP RESULT

{{ $preview['sku'] ?? $sku }}

@if (!empty($preview['description']))

{{ $preview['description'] }}

@endif
{{ $statusInfo[0] }}
@if ($isDiscontinued)
This SKU is marked as {{ ucfirst(str_replace('_', ' ', $preview['status'] ?? '')) }} on the PSP site. It will still be created and made sellable — double-check that's really what you want.
@endif @if (empty($preview['weight']))
PSP didn't report a usable weight for this part. The product will still be created, but shipping cost won't be calculated on any channel until you set a weight on the product afterwards.
@endif {{-- Price ─────────────────────────────────────────────────────────── --}} @if (!empty($preview['price']))
SUPPLIER PRICE (EX VAT)
£{{ number_format($preview['price'], 2) }}
@endif {{-- Data grid ────────────────────────────────────────────────────── --}}
@if (!empty($preview['brand']))
Brand
{{ $preview['brand'] }}
@endif @if (!empty($preview['vendor']))
Vendor
{{ $preview['vendor'] }}
@endif @if (!empty($preview['uoi']))
UOI (units per pack)
{{ $preview['uoi'] }}
@endif @if (!empty($preview['weight']))
Weight
{{ $preview['weight'] }} kg
@endif @if (!empty($preview['height']) || !empty($preview['width']) || !empty($preview['length']))
Dimensions (H × W × L)
{{ $preview['height'] ?? '–' }} × {{ $preview['width'] ?? '–' }} × {{ $preview['length'] ?? '–' }}
@endif @if (!empty($preview['country_origin']))
Country of Origin
{{ $preview['country_origin'] }}
@endif @if (!empty($preview['quality_grade']))
Quality Grade
{{ $preview['quality_grade'] }}@if (!empty($preview['quality_rating'])) ({{ $preview['quality_rating'] }}/5)@endif
@endif @if (!empty($preview['fitment_count']))
Vehicle Fitments
{{ number_format($preview['fitment_count']) }}
@endif

{{-- Product name ──────────────────────────────────────────────────── --}}
Product Name (editable)
state === 'creating' ? 'disabled' : '' }} />
This will be the product name in Cydekick.
Will be created as sellable · Category: Uncategorised
@endif {{-- ── Done ─────────────────────────────────────────────────────────── --}} @if ($this->state === 'done')
Product created successfully

{{ $productName }} has been added and is sellable. Prices are being calculated in the background — check the product in a few moments.

@if ($createdProductId) View Product → @endif
@endif