Files

134 lines
7.7 KiB
PHP

@extends('layouts.admin')
@section('title', 'Bestelling #' . $order->order_number . ' | Jouwdriedee Beheer')
@section('content')
<div class="space-y-6 max-w-5xl mx-auto">
<!-- Header -->
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 pb-6 border-b border-slate-200/80">
<div>
<a href="{{ route('admin.orders.index') }}" class="text-xs text-slate-500 hover:text-slate-900 font-medium inline-flex items-center space-x-1 mb-1 transition">
<i data-lucide="arrow-left" class="w-3.5 h-3.5"></i>
<span>Terug naar Bestellingen</span>
</a>
<h1 class="text-2xl font-bold tracking-tight text-slate-900">Bestelling #{{ $order->order_number }}</h1>
<p class="text-xs text-slate-500">Geplaatst op {{ $order->created_at->format('d-m-Y om H:i') }}</p>
</div>
<!-- Status update form -->
<form action="{{ route('admin.orders.status', $order) }}" method="POST" class="flex items-center space-x-2">
@csrf
<select name="status" class="bg-white border border-slate-200 rounded-xl px-3 py-2 text-xs font-medium text-slate-900 focus:outline-none focus:ring-2 focus:ring-slate-900/10 focus:border-slate-900">
<option value="pending" {{ $order->status === 'pending' ? 'selected' : '' }}>In afwachting</option>
<option value="processing" {{ $order->status === 'processing' ? 'selected' : '' }}>In verwerking</option>
<option value="printed" {{ $order->status === 'printed' ? 'selected' : '' }}>Geprint (Print klaar)</option>
<option value="shipped" {{ $order->status === 'shipped' ? 'selected' : '' }}>Verzonden via PostNL</option>
<option value="completed" {{ $order->status === 'completed' ? 'selected' : '' }}>Afgerond</option>
<option value="cancelled" {{ $order->status === 'cancelled' ? 'selected' : '' }}>Geannuleerd</option>
</select>
<button type="submit" class="px-3.5 py-2 rounded-xl bg-slate-900 hover:bg-slate-800 text-white font-medium text-xs transition shadow-xs cursor-pointer">
Status Bijwerken
</button>
</form>
</div>
@if(session('success'))
<div class="p-3.5 rounded-xl bg-emerald-50 border border-emerald-200/60 text-emerald-800 text-xs flex items-center space-x-2.5">
<i data-lucide="check-circle" class="w-4 h-4 text-emerald-600 shrink-0"></i>
<span class="font-medium">{{ session('success') }}</span>
</div>
@endif
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<!-- Order Items -->
<div class="md:col-span-2 space-y-4">
<div class="p-6 rounded-2xl bg-white border border-slate-200/80 shadow-xs space-y-4">
<h3 class="font-bold text-sm text-slate-900">Bestelde 3D Prints</h3>
<div class="divide-y divide-slate-100">
@foreach($order->items as $item)
<div class="py-3.5 flex items-start justify-between gap-4">
<div>
<h4 class="font-semibold text-slate-900 text-xs">{{ $item->product_name }}</h4>
<div class="text-[11px] text-slate-500 space-y-0.5 mt-1">
<div><span class="text-slate-400">Materiaal:</span> {{ strtoupper($item->material) }}</div>
<div><span class="text-slate-400">Kleur:</span> {{ $item->color }}</div>
<div><span class="text-slate-400">Schaal:</span> {{ $item->scale ?? '100%' }}</div>
@if($item->custom_file_url)
<div class="pt-1">
<a href="{{ $item->custom_file_url }}" target="_blank" class="text-sky-600 hover:underline flex items-center space-x-1 font-mono">
<i data-lucide="download" class="w-3 h-3"></i>
<span>Download 3D bestand (STL/3MF)</span>
</a>
</div>
@endif
</div>
</div>
<div class="text-right">
<span class="font-semibold text-slate-900 text-xs">
{{ $item->quantity }}x &euro; {{ number_format($item->unit_price, 2, ',', '.') }}
</span>
<div class="text-xs font-bold text-slate-900 mt-0.5">
&euro; {{ number_format($item->total_price, 2, ',', '.') }}
</div>
</div>
</div>
@endforeach
</div>
<div class="pt-4 border-t border-slate-100 flex items-center justify-between text-xs">
<span class="font-medium text-slate-500">Totaalbedrag (incl. BTW)</span>
<span class="font-bold text-base text-slate-900">{{ $order->formatted_total }}</span>
</div>
</div>
</div>
<!-- Klant & Verzendinfo -->
<div class="space-y-4">
<div class="p-5 rounded-2xl bg-white border border-slate-200/80 shadow-xs space-y-3">
<div class="flex items-center justify-between">
<h3 class="font-bold text-xs text-slate-900 uppercase tracking-wider">Klantgegevens</h3>
<a href="{{ route('admin.customers.show', $order->user_id ?? $order->customer_email) }}" class="text-[11px] font-semibold text-slate-900 underline hover:text-slate-700">
Klantprofiel &rarr;
</a>
</div>
<div class="text-xs space-y-1.5 text-slate-600">
<div>
<span class="text-slate-400 block text-[10px]">Naam</span>
<a href="{{ route('admin.customers.show', $order->user_id ?? $order->customer_email) }}" class="font-semibold text-slate-900 hover:underline">
{{ $order->customer_name }}
</a>
</div>
<div>
<span class="text-slate-400 block text-[10px]">E-mailadres</span>
<a href="mailto:{{ $order->customer_email }}" class="text-slate-900 hover:underline font-mono">{{ $order->customer_email }}</a>
</div>
@if($order->customer_phone)
<div>
<span class="text-slate-400 block text-[10px]">Telefoonnummer</span>
<span class="text-slate-900">{{ $order->customer_phone }}</span>
</div>
@endif
</div>
</div>
<div class="p-5 rounded-2xl bg-white border border-slate-200/80 shadow-xs space-y-3">
<h3 class="font-bold text-xs text-slate-900 uppercase tracking-wider">Verzendadres</h3>
<div class="text-xs text-slate-700 leading-relaxed">
<div class="font-semibold text-slate-900">{{ $order->customer_name }}</div>
<div>{{ $order->shipping_street }} {{ $order->shipping_number }}</div>
<div>{{ $order->shipping_postal_code }} {{ $order->shipping_city }}</div>
<div class="text-slate-400">Nederland</div>
</div>
</div>
</div>
</div>
</div>
@endsection