@extends('layouts.admin')

@section('title', 'Profit by Order Report')

@section('content')
<div class="admin-page-header">
    <h1>Profit by Order Report</h1>
    <div class="admin-page-actions">
        <a href="{{ route('admin.reports.profit') }}" class="admin-btn-primary">
            <i class="bi bi-arrow-left"></i> Back to Overview
        </a>
    </div>
</div>

<!-- Filters -->
<div class="admin-card mb-4">
    <div class="card-body">
        <form method="GET" class="row g-3">
            <div class="col-md-4">
                <label class="admin-form-label">Start Date</label>
                <input type="date" name="start_date" class="admin-form-control form-control" value="{{ $startDate }}">
            </div>
            <div class="col-md-4">
                <label class="admin-form-label">End Date</label>
                <input type="date" name="end_date" class="admin-form-control form-control" value="{{ $endDate }}">
            </div>
            <div class="col-md-2">
                <label class="admin-form-label">Order Status</label>
                <select name="order_status" class="admin-form-control form-select">
                    <option value="">All Status</option>
                    <option value="delivered" {{ $orderStatus == 'delivered' ? 'selected' : '' }}>Delivered</option>
                    <option value="shipped" {{ $orderStatus == 'shipped' ? 'selected' : '' }}>Shipped</option>
                    <option value="confirmed" {{ $orderStatus == 'confirmed' ? 'selected' : '' }}>Confirmed</option>
                </select>
            </div>
            <div class="col-md-2">
                <label class="admin-form-label">&nbsp;</label>
                <button type="submit" class="admin-btn-primary d-block w-100">Filter</button>
            </div>
        </form>
    </div>
</div>

<!-- Orders Profit Table -->
<div class="admin-card">
    <div class="card-header">
        <h5><i class="bi bi-receipt"></i> Order Profit Analysis</h5>
        <div class="text-muted">
            Showing {{ $orders->count() }} orders
        </div>
    </div>
    <div class="card-body">
        @if($orders->count() > 0)
            <div class="table-responsive">
                <table class="table table-hover">
                    <thead class="table-light">
                        <tr>
                            <th>Order ID</th>
                            <th>Date</th>
                            <th>Customer</th>
                            <th class="text-end">Order Total</th>
                            <th class="text-end">Revenue</th>
                            <th class="text-end">COGS</th>
                            <th class="text-end">Profit</th>
                            <th class="text-center">Margin %</th>
                            <th class="text-center">Status</th>
                        </tr>
                    </thead>
                    <tbody>
                        @foreach($orders as $order)
                        <tr>
                            <td>
                                <strong>#{{ $order['order_id'] }}</strong>
                            </td>
                            <td>
                                {{ \Carbon\Carbon::parse($order['date'])->format('M d, Y') }}
                            </td>
                            <td>
                                {{ $order['customer'] }}
                            </td>
                            <td class="text-end">
                                ₹{{ number_format($order['total_payable'], 2) }}
                            </td>
                            <td class="text-end">
                                ₹{{ number_format($order['revenue'], 2) }}
                            </td>
                            <td class="text-end text-muted">
                                ₹{{ number_format($order['cogs'], 2) }}
                            </td>
                            <td class="text-end">
                                <strong class="{{ $order['profit'] >= 0 ? 'text-success' : 'text-danger' }}">
                                    ₹{{ number_format($order['profit'], 2) }}
                                </strong>
                            </td>
                            <td class="text-center">
                                <span class="badge {{ $order['margin_percent'] >= 0 ? 'bg-success' : 'bg-danger' }}">
                                    {{ number_format($order['margin_percent'], 1) }}%
                                </span>
                            </td>
                            <td class="text-center">
                                @php
                                    $statusColors = [
                                        'delivered' => 'success',
                                        'shipped' => 'info',
                                        'confirmed' => 'warning',
                                        'placed' => 'secondary',
                                        'cancelled' => 'danger'
                                    ];
                                    $statusColor = $statusColors[$order['status']] ?? 'secondary';
                                @endphp
                                <span class="badge bg-{{ $statusColor }}">
                                    {{ ucfirst($order['status']) }}
                                </span>
                            </td>
                        </tr>
                        @endforeach
                    </tbody>
                    <tfoot class="table-light">
                        <tr>
                            <th colspan="3">TOTALS</th>
                            <th class="text-end">₹{{ number_format($orders->sum('total_payable'), 2) }}</th>
                            <th class="text-end">₹{{ number_format($orders->sum('revenue'), 2) }}</th>
                            <th class="text-end">₹{{ number_format($orders->sum('cogs'), 2) }}</th>
                            <th class="text-end">
                                <strong class="{{ $orders->sum('profit') >= 0 ? 'text-success' : 'text-danger' }}">
                                    ₹{{ number_format($orders->sum('profit'), 2) }}
                                </strong>
                            </th>
                            <th class="text-center">
                                @php
                                    $totalRevenue = $orders->sum('revenue');
                                    $totalProfit = $orders->sum('profit');
                                    $overallMargin = $totalRevenue > 0 ? ($totalProfit / $totalRevenue) * 100 : 0;
                                @endphp
                                <span class="badge {{ $overallMargin >= 0 ? 'bg-success' : 'bg-danger' }}">
                                    {{ number_format($overallMargin, 1) }}%
                                </span>
                            </th>
                            <th></th>
                        </tr>
                    </tfoot>
                </table>
            </div>

            <!-- Summary Stats -->
            <div class="row mt-4">
                <div class="col-md-3">
                    <div class="text-center p-3 bg-light rounded">
                        <h5 class="mb-1">{{ $orders->count() }}</h5>
                        <small class="text-muted">Total Orders</small>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="text-center p-3 bg-light rounded">
                        <h5 class="mb-1 text-success">{{ $orders->where('profit', '>', 0)->count() }}</h5>
                        <small class="text-muted">Profitable Orders</small>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="text-center p-3 bg-light rounded">
                        <h5 class="mb-1 text-danger">{{ $orders->where('profit', '<', 0)->count() }}</h5>
                        <small class="text-muted">Loss-making Orders</small>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="text-center p-3 bg-light rounded">
                        @php
                            $avgProfit = $orders->count() > 0 ? $orders->sum('profit') / $orders->count() : 0;
                        @endphp
                        <h5 class="mb-1 {{ $avgProfit >= 0 ? 'text-success' : 'text-danger' }}">
                            ₹{{ number_format($avgProfit, 2) }}
                        </h5>
                        <small class="text-muted">Avg. Profit per Order</small>
                    </div>
                </div>
            </div>
        @else
            <div class="text-center py-5">
                <i class="bi bi-receipt text-muted" style="font-size: 4rem;"></i>
                <h4 class="text-muted mt-3">No Orders Found</h4>
                <p class="text-muted">No orders found for the selected criteria.</p>
                <div class="mt-4">
                    <a href="{{ route('admin.orders.index') }}" class="btn btn-primary">
                        <i class="bi bi-eye"></i> View All Orders
                    </a>
                </div>
            </div>
        @endif
    </div>
</div>

@endsection

@section('styles')
<style>
.table th {
    border-top: none;
    font-weight: 600;
    font-size: 0.9rem;
}

.table-hover tbody tr:hover {
    background-color: rgba(0,0,0,0.02);
}

.badge {
    font-size: 0.8rem;
}

.admin-page-actions {
    display: flex;
    gap: 0.5rem;
}

.bg-light.rounded {
    border: 1px solid #e9ecef;
}

@media (max-width: 768px) {
    .admin-page-actions {
        flex-direction: column;
        width: 100%;
    }
    
    .admin-page-actions .btn {
        width: 100%;
    }
    
    .table-responsive {
        font-size: 0.85rem;
    }
}
</style>
@endsection