๐Ÿš€ Hostinger Optimized
๐Ÿ–ฅ๏ธ Server: LiteSpeed
๐Ÿ’ป System: Linux s20058.bom1.stableserver.net 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64
๐Ÿ‘ค User: skhata (1324)
๐Ÿ˜ PHP: 8.4.20
๐Ÿšซ Disabled: โœจ NONE

๐Ÿ’ป Terminal

๐Ÿ“ /home/skhata/chandrasons.com/public
$

๐Ÿ“„ invoice.blade.php

๐Ÿ“ Path: /home/skhata/new.chandrapharma.com/resources/views/orders/invoice.blade.php
๐Ÿ“Š Size: 14.04 KB
๐Ÿ”’ Perm: 0600
๐Ÿ“ MIME: text/html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Invoice โ€” Order #{{ $order->order_number }}</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        :root { --primary: #0f766e; --ink: #1f2937; --muted: #6b7280; --line: #e5e7eb; }
        * { box-sizing: border-box; }
        body {
            font-family: 'Helvetica Neue', Arial, sans-serif;
            color: var(--ink);
            margin: 0;
            padding: 24px;
            background: #f3f4f6;
        }
        .sheet {
            max-width: 860px;
            margin: 0 auto;
            background: #fff;
            padding: 40px;
            border-radius: 12px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.08);
        }
        .toolbar {
            max-width: 860px;
            margin: 0 auto 16px;
            display: flex;
            justify-content: flex-end;
            gap: 8px;
        }
        .btn {
            display: inline-block;
            padding: 8px 16px;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            text-decoration: none;
            cursor: pointer;
            border: 1px solid var(--line);
            background: #fff;
            color: var(--ink);
        }
        .btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }

        .letterhead {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            padding-bottom: 24px;
            border-bottom: 2px solid var(--ink);
            margin-bottom: 24px;
        }
        .letterhead img { max-height: 56px; margin-bottom: 8px; }
        .store-name { font-size: 22px; font-weight: 800; margin: 0 0 4px; }
        .store-meta { font-size: 12.5px; color: var(--muted); line-height: 1.5; max-width: 320px; }
        .invoice-title { text-align: right; }
        .invoice-title h1 { font-size: 26px; letter-spacing: 2px; margin: 0 0 6px; color: var(--primary); }
        .invoice-title .meta-row { font-size: 13px; color: var(--muted); }
        .invoice-title .meta-row strong { color: var(--ink); }

        .badge {
            display: inline-block;
            padding: 3px 10px;
            border-radius: 999px;
            font-size: 11.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .3px;
        }
        .badge-pending, .badge-confirmed { background: #fef3c7; color: #92400e; }
        .badge-processing { background: #e0e7ff; color: #3730a3; }
        .badge-shipped, .badge-out_for_delivery { background: #ede9fe; color: #5b21b6; }
        .badge-delivered { background: #d1fae5; color: #065f46; }
        .badge-cancelled { background: #fee2e2; color: #991b1b; }
        .badge-paid { background: #d1fae5; color: #065f46; }
        .badge-failed { background: #fee2e2; color: #991b1b; }
        .badge-refunded { background: #f3f4f6; color: #374151; }
        .badge-unpaid { background: #fef3c7; color: #92400e; }

        .addresses {
            display: flex;
            gap: 32px;
            margin-bottom: 28px;
        }
        .addresses .col { flex: 1; }
        .addresses h3 {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .6px;
            color: var(--muted);
            margin: 0 0 8px;
        }
        .addresses p { margin: 0; font-size: 13.5px; line-height: 1.6; }

        table.items {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 24px;
        }
        table.items th {
            text-align: left;
            font-size: 11.5px;
            text-transform: uppercase;
            letter-spacing: .4px;
            color: var(--muted);
            padding: 10px 8px;
            border-bottom: 2px solid var(--ink);
        }
        table.items td {
            padding: 12px 8px;
            font-size: 13.5px;
            border-bottom: 1px solid var(--line);
            vertical-align: top;
        }
        table.items th.num, table.items td.num { text-align: right; }
        .prod-name { font-weight: 600; }
        .prod-sub { color: var(--muted); font-size: 12px; }

        .totals-wrap { display: flex; justify-content: flex-end; margin-bottom: 28px; }
        table.totals { width: 300px; border-collapse: collapse; }
        table.totals td { padding: 6px 8px; font-size: 13.5px; }
        table.totals td.label { color: var(--muted); }
        table.totals td.amount { text-align: right; }
        table.totals tr.grand td { border-top: 2px solid var(--ink); font-weight: 800; font-size: 16px; padding-top: 10px; }

        .footer-grid { display: flex; gap: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
        .footer-grid .col { flex: 1; }
        .footer-grid h3 {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .6px;
            color: var(--muted);
            margin: 0 0 8px;
        }
        .footer-grid p { margin: 0; font-size: 13px; line-height: 1.6; }
        .note-box { font-size: 13px; color: var(--ink); background: #f9fafb; border-radius: 8px; padding: 12px 14px; }

        .thanks { text-align: center; margin-top: 32px; font-size: 12.5px; color: var(--muted); }

        @media print {
            body { background: #fff; padding: 0; }
            .toolbar { display: none; }
            .sheet { box-shadow: none; border-radius: 0; padding: 0; max-width: none; }
        }
    </style>
</head>
<body>

    <div class="toolbar">
        <a href="javascript:window.print()" class="btn btn-primary">๐Ÿ–จ๏ธ Print / Save as PDF</a>
        <a href="javascript:window.close()" class="btn">Close</a>
    </div>

    <div class="sheet">

        {{-- Letterhead --}}
        <div class="letterhead">
            <div>
                @if(!empty($store['store_logo']))
                    <img src="{{ \Illuminate\Support\Facades\Storage::url($store['store_logo']) }}" alt="{{ $store['store_name'] ?? config('app.name') }}">
                @endif
                <div class="store-name">{{ $store['store_name'] ?? config('app.name', 'STP Ecommerce') }}</div>
                <div class="store-meta">
                    @if(!empty($store['address_line_1']))
                        {{ $store['address_line_1'] }}{{ !empty($store['address_line_2']) ? ', ' . $store['address_line_2'] : '' }}<br>
                    @endif
                    @php
                        $cityLine = implode(', ', array_filter([
                            $store['city'] ?? null,
                            $store['state'] ?? null,
                            $store['postal_code'] ?? null,
                        ]));
                    @endphp
                    @if($cityLine)
                        {{ $cityLine }}<br>
                    @endif
                    @if(!empty($store['country']))
                        {{ $store['country'] }}<br>
                    @endif
                    @if(!empty($store['store_phone']))
                        Phone: {{ $store['store_phone'] }}<br>
                    @endif
                    @if(!empty($store['store_email']))
                        Email: {{ $store['store_email'] }}<br>
                    @endif
                    @if(!empty($tax['tax_number']))
                        {{ $tax['tax_label'] ?? 'Tax' }} No: {{ $tax['tax_number'] }}
                    @endif
                </div>
            </div>
            <div class="invoice-title">
                <h1>INVOICE</h1>
                <div class="meta-row"><strong>Order #:</strong> {{ $order->order_number }}</div>
                <div class="meta-row"><strong>Date:</strong> {{ $order->created_at->format('d M Y, h:i A') }}</div>
                <div class="meta-row" style="margin-top:8px;">
                    <span class="badge badge-{{ $order->status }}">{{ ucfirst(str_replace('_', ' ', $order->status)) }}</span>
                    <span class="badge badge-{{ $order->payment_status ?? 'unpaid' }}">{{ ucfirst($order->payment_status ?? 'unpaid') }}</span>
                </div>
            </div>
        </div>

        {{-- Bill To / Ship To --}}
        <div class="addresses">
            <div class="col">
                <h3>Bill To</h3>
                <p>
                    <strong>{{ $order->getCustomerDisplayName() }}</strong><br>
                    @if($order->user?->email ?? $order->guest_email)
                        {{ $order->user->email ?? $order->guest_email }}<br>
                    @endif
                    @if($order->guest_phone)
                        {{ $order->guest_phone }}
                    @endif
                </p>
            </div>
            <div class="col">
                <h3>Ship To</h3>
                @php $addr = $order->shipping_address; @endphp
                @if($addr)
                    <p>
                        {{ $addr['name'] ?? $order->getCustomerDisplayName() }}<br>
                        @if(!empty($addr['phone'])){{ $addr['phone'] }}<br>@endif
                        {{ $addr['address_line_1'] ?? $addr['line1'] ?? $addr['street'] ?? '' }}<br>
                        @if(!empty($addr['address_line_2'])){{ $addr['address_line_2'] }}<br>@endif
                        @php
                            $shipCityLine = implode(', ', array_filter([
                                $addr['city'] ?? null,
                                $addr['state'] ?? null,
                                $addr['zip'] ?? $addr['postal_code'] ?? null,
                            ]));
                        @endphp
                        @if($shipCityLine){{ $shipCityLine }}<br>@endif
                        {{ $addr['country'] ?? '' }}
                    </p>
                @else
                    <p>โ€”</p>
                @endif
            </div>
        </div>

        {{-- Items --}}
        <table class="items">
            <thead>
                <tr>
                    <th>Product</th>
                    <th class="num">Qty</th>
                    <th class="num">Unit Price</th>
                    <th class="num">Discount</th>
                    <th class="num">Total</th>
                </tr>
            </thead>
            <tbody>
                @foreach($order->items as $item)
                <tr>
                    <td>
                        <div class="prod-name">{{ $item->product_name }}</div>
                        @if($item->variant_label || $item->sku)
                        <div class="prod-sub">
                            {{ $item->variant_label }}{{ $item->variant_label && $item->sku ? ' ยท ' : '' }}{{ $item->sku ? 'SKU: ' . $item->sku : '' }}
                        </div>
                        @endif
                    </td>
                    <td class="num">{{ $item->quantity }}</td>
                    <td class="num">{{ $order->currency ?? 'NPR' }} {{ number_format($item->unit_price, 2) }}</td>
                    <td class="num">{{ number_format($item->discount_amount ?? 0, 2) }}</td>
                    <td class="num"><strong>{{ $order->currency ?? 'NPR' }} {{ number_format($item->total_price, 2) }}</strong></td>
                </tr>
                @endforeach
            </tbody>
        </table>

        {{-- Totals --}}
        <div class="totals-wrap">
            <table class="totals">
                <tr>
                    <td class="label">Subtotal</td>
                    <td class="amount">{{ $order->currency ?? 'NPR' }} {{ number_format($order->subtotal, 2) }}</td>
                </tr>
                @if($order->discount_amount > 0)
                <tr>
                    <td class="label">Discount</td>
                    <td class="amount">- {{ number_format($order->discount_amount, 2) }}</td>
                </tr>
                @endif
                @if($order->coupon_code)
                <tr>
                    <td class="label">Coupon ({{ $order->coupon_code }})</td>
                    <td class="amount">- {{ number_format($order->coupon_discount ?? 0, 2) }}</td>
                </tr>
                @endif
                <tr>
                    <td class="label">Shipping</td>
                    <td class="amount">{{ number_format($order->shipping_amount ?? 0, 2) }}</td>
                </tr>
                <tr>
                    <td class="label">{{ $tax['tax_label'] ?? 'Tax' }}</td>
                    <td class="amount">{{ number_format($order->tax_amount ?? 0, 2) }}</td>
                </tr>
                <tr class="grand">
                    <td class="label">Total</td>
                    <td class="amount">{{ $order->currency ?? 'NPR' }} {{ number_format($order->total_amount, 2) }}</td>
                </tr>
            </table>
        </div>

        {{-- Payment / Shipping / Notes --}}
        <div class="footer-grid">
            <div class="col">
                <h3>Payment</h3>
                <p>
                    Method: {{ $order->payment_method ? strtoupper($order->payment_method) : 'โ€”' }}<br>
                    Status: {{ ucfirst($order->payment_status ?? 'unpaid') }}<br>
                    @if($order->paid_at)
                        Paid on: {{ $order->paid_at->format('d M Y, h:i A') }}
                    @endif
                </p>
            </div>
            <div class="col">
                <h3>Shipping</h3>
                <p>
                    Method: {{ $order->shipping_method ?? 'โ€”' }}<br>
                    @if($order->tracking_number)
                        Tracking #: {{ $order->tracking_number }}<br>
                    @endif
                    @if($order->courier_name)
                        Courier: {{ $order->courier_name }}
                    @endif
                </p>
            </div>
            @if($order->customer_note)
            <div class="col">
                <h3>Note</h3>
                <div class="note-box">{{ $order->customer_note }}</div>
            </div>
            @endif
        </div>

        <div class="thanks">
            Thank you for shopping with {{ $store['store_name'] ?? config('app.name', 'STP Ecommerce') }}.
            @if(!empty($store['store_tagline'])) {{ $store['store_tagline'] }} @endif
        </div>

    </div>

</body>
</html>
โ† Back๐Ÿ“ฅ Rawโœ๏ธ Edit๐Ÿ”’ Chmod
โœจ File Manager Magic โœจ