@extends('layouts.app') @section('title', $item->name . ' - Détail Article') @push('styles') @endpush @section('content')
{{-- En-tête avec navigation --}}
Retour à l'inventaire

📦 {{ $item->name }}

{{ $item->sku ?? 'Sans référence' }} • {{ ucfirst($item->category ?? 'Autre') }} @if($item->urgent_sale_id) ⚡ Vente Flash Active @endif

Modifier @if(!$item->urgent_sale_id) Vente Flash @endif
@if(session('success'))
{{ session('success') }}
@endif {{-- Légende rapide --}}

💡 📦 Stock Total − 🔒 Réservé − ✅ Vendu = 📊 Disponible. Survolez les cartes pour plus d'infos.

{{-- Statistiques Stock & Réservations --}}

{{ $stats['total_stock'] }}

Total

Quantité totale dans votre inventaire

{{ $stats['reserved'] }}

Réserv.

Bloqué par des réservations clients

{{ $stats['sold'] }}

Vendu

Réservations finalisées et payées

{{ $stats['available'] }}

Dispo

@if($stats['available'] <= ($item->reorder_level ?? 5)) @endif
= Total - Réservé - Vendu
{{-- Alerte seuil --}} @if($stats['reserved'] > 0 && $stats['reserved'] >= ($stats['total_stock'] * 0.7))

⚠️ Seuil d'alerte atteint

{{ number_format(($stats['reserved'] / $stats['total_stock']) * 100, 0) }}% du stock est réservé. Pensez à réapprovisionner ou à gérer vos réservations.

@endif
{{-- Colonne principale --}}
{{-- Photos --}} @php $photos = $item->getPhotoUrls(); @endphp @if(count($photos) > 0)

Photos ({{ count($photos) }})

@foreach($photos as $photo)
{{ $item->name }}
@endforeach
@endif {{-- Informations détaillées --}}

Informations

Nom
{{ $item->name }}
SKU / Référence
{{ $item->sku ?? 'N/A' }}
Catégorie
{{ ucfirst($item->category ?? 'Autre') }}
Seuil de réapprovisionnement
{{ $item->reorder_level ?? 5 }} unités
Description
{{ $item->description ?: 'Aucune description' }}
{{-- Prix et rentabilité --}} @php $costPrice = $item->cost_per_unit ?? 0; $sellingPrice = $item->selling_price ?? 0; $margin = $costPrice > 0 ? (($sellingPrice - $costPrice) / $costPrice) * 100 : 0; $profitPerUnit = $sellingPrice - $costPrice; $totalPotentialProfit = $profitPerUnit * $stats['available']; @endphp

Prix & Rentabilité

Prix d'achat

{{ number_format($costPrice, 2) }}€

Prix de vente

{{ number_format($sellingPrice, 2) }}€

Marge

{{ $margin >= 0 ? '+' : '' }}{{ number_format($margin, 0) }}%

Profit/unité

{{ $profitPerUnit >= 0 ? '+' : '' }}{{ number_format($profitPerUnit, 2) }}€

Profit potentiel sur stock disponible: {{ number_format($totalPotentialProfit, 2) }}€ ({{ $stats['available'] }} unités × {{ number_format($profitPerUnit, 2) }}€)

{{-- Réservations en cours --}} @if($pendingReservations->count() > 0 || $confirmedReservations->count() > 0)

Réservations actives ({{ $pendingReservations->count() + $confirmedReservations->count() }})

@foreach($pendingReservations as $reservation)

{{ $reservation->client->name ?? 'Client' }}

{{ $reservation->created_at->format('d/m/Y H:i') }}

En attente

Qté: {{ $reservation->quantity }}

@endforeach @foreach($confirmedReservations as $reservation)

{{ $reservation->client->name ?? 'Client' }}

Confirmée le {{ $reservation->confirmed_at?->format('d/m/Y H:i') ?? $reservation->updated_at->format('d/m/Y H:i') }}

Confirmée

Qté: {{ $reservation->quantity }}

@endforeach
@endif
{{-- Sidebar --}}
{{-- Actions rapides --}}

Actions rapides

Modifier l'article
@if(!$item->urgent_sale_id)
Créer une vente flash
@endif
@csrf @method('DELETE')
{{-- Ventes Flash liées --}} @if(($item->urgentSales && $item->urgentSales->count() > 0) || $item->urgentSale) @endif {{-- Historique des ventes --}} @if($completedReservations->count() > 0)

Ventes terminées ({{ $completedReservations->count() }})

@foreach($completedReservations->take(10) as $reservation)

{{ $reservation->client->name ?? 'Client' }}

{{ $reservation->completed_at?->format('d/m/Y') ?? $reservation->updated_at->format('d/m/Y') }}

{{ $reservation->quantity }} unité(s)
@endforeach
@endif {{-- Dates --}}

Dates

Créé le {{ $item->created_at->format('d/m/Y H:i') }}
Modifié le {{ $item->updated_at->format('d/m/Y H:i') }}
{{-- Modal ajustement stock --}} {{-- Modal image --}} @endsection @push('scripts') @endpush