๐Ÿš€ 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/pdf/invoice.blade.php
๐Ÿ“Š Size: 9.34 KB
๐Ÿ”’ Perm: 0644
๐Ÿ“ MIME: text/html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Invoice #{{ $order->order_number }}</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'DejaVu Sans', Arial, sans-serif; font-size: 12px; color: #222; line-height: 1.5; }

        .invoice-wrapper { padding: 32px; max-width: 800px; margin: 0 auto; }

        /* Header */
        .header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 32px; }
        .header .logo { max-height: 56px; max-width: 160px; }
        .header .invoice-title { text-align: right; }
        .header .invoice-title h1 { font-size: 28px; font-weight: 700; color: #16a34a; letter-spacing: -0.5px; }
        .header .invoice-title p { color: #6b7280; font-size: 11px; }

        /* Meta grid */
        .meta-grid { display: flex; gap: 16px; margin-bottom: 24px; }
        .meta-box { flex: 1; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; }
        .meta-box h4 { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; margin-bottom: 6px; }
        .meta-box p { font-size: 12px; color: #374151; line-height: 1.6; }

        /* Table */
        table { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
        thead tr { background: #16a34a; color: #fff; }
        thead th { padding: 10px 12px; text-align: left; font-size: 11px; font-weight: 600; }
        tbody tr:nth-child(even) { background: #f9fafb; }
        tbody td { padding: 9px 12px; border-bottom: 1px solid #f0f0f0; font-size: 12px; vertical-align: top; }

        /* Totals */
        .totals-wrapper { display: flex; justify-content: flex-end; margin-bottom: 24px; }
        .totals-table { width: 280px; }
        .totals-table td { padding: 5px 8px; font-size: 12px; }
        .totals-table .grand-total td { font-size: 14px; font-weight: 700; color: #16a34a; border-top: 2px solid #16a34a; padding-top: 8px; }

        /* Footer */
        .footer { border-top: 1px solid #e5e7eb; padding-top: 16px; margin-top: 24px; text-align: center; color: #9ca3af; font-size: 10px; }
        .badge { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 10px; font-weight: 600; text-transform: uppercase; }
        .badge-green { background: #dcfce7; color: #166534; }
        .badge-yellow { background: #fef9c3; color: #713f12; }
        .badge-red { background: #fee2e2; color: #991b1b; }
    </style>
</head>
<body>
<div class="invoice-wrapper">

    {{-- Header --}}
    <div class="header">
        <div>
            @if($settings['app_logo'])
                <img src="{{ $settings['app_logo'] }}" alt="{{ $settings['store_name'] }}" class="logo">
            @else
                <h2 style="font-size:20px;font-weight:800;color:#16a34a;">{{ $settings['store_name'] }}</h2>
            @endif
            <p style="margin-top:4px;font-size:11px;color:#6b7280;">{{ $settings['address'] }}</p>
            <p style="font-size:11px;color:#6b7280;">{{ $settings['phone'] }} ยท {{ $settings['email'] }}</p>
            @if($settings['vat_number'])
            <p style="font-size:10px;color:#9ca3af;">VAT: {{ $settings['vat_number'] }}</p>
            @endif
            @if(!empty($settings['drug_license_number']))
            <p style="font-size:10px;color:#0d9488;font-weight:600;margin-top:2px;">Drug License: {{ $settings['drug_license_number'] }}</p>
            @endif
        </div>
        <div class="invoice-title">
            <h1>INVOICE</h1>
            <p>{{ config('app.name') }}</p>
            <p style="margin-top:8px;"><strong>#{{ $order->order_number }}</strong></p>
            <p>Date: {{ $order->created_at->format('d M Y') }}</p>
            <p style="margin-top:4px;">
                <span class="badge {{ match($order->payment_status) { 'paid' => 'badge-green', 'pending' => 'badge-yellow', default => 'badge-red' } }}">
                    {{ ucfirst($order->payment_status ?? 'pending') }}
                </span>
            </p>
        </div>
    </div>

    {{-- Billed To / Ship To --}}
    <div class="meta-grid">
        <div class="meta-box">
            <h4>Billed To</h4>
            <p>
                <strong>{{ $order->user?->name ?? ($order->shipping_address['name'] ?? 'Guest') }}</strong><br>
                {{ $order->user?->email ?? $order->guest_email ?? '' }}<br>
                {{ $order->user?->phone ?? $order->guest_phone ?? '' }}
            </p>
        </div>
        <div class="meta-box">
            <h4>Ship To</h4>
            <p>
                {{ $order->shipping_address['name'] ?? '' }}<br>
                {{ $order->shipping_address['line1'] ?? '' }}
                @if(!empty($order->shipping_address['line2'])), {{ $order->shipping_address['line2'] }}@endif<br>
                {{ $order->shipping_address['city'] ?? '' }}, {{ $order->shipping_address['state'] ?? '' }}<br>
                {{ $order->shipping_address['country'] ?? '' }} {{ $order->shipping_address['postal_code'] ?? '' }}
            </p>
        </div>
        <div class="meta-box">
            <h4>Payment</h4>
            <p>
                Method: <strong>{{ strtoupper($order->payment_method) }}</strong><br>
                Status: <strong>{{ ucfirst($order->payment_status ?? 'pending') }}</strong><br>
                @if($order->paid_at)Paid: {{ $order->paid_at->format('d M Y') }}@endif
            </p>
        </div>
    </div>

    {{-- Line Items --}}
    @php
        $hasHsn           = $order->items->contains(fn($i) => !empty($i->product?->hsn_code));
        $hasNonReturnable = $order->items->contains(fn($i) => isset($i->product) && $i->product->is_returnable === false);
    @endphp
    <table>
        <thead>
            <tr>
                <th style="width:44%">Description</th>
                <th>SKU</th>
                @if($hasHsn)<th>HSN</th>@endif
                <th style="text-align:right">Qty</th>
                <th style="text-align:right">Unit Price</th>
                <th style="text-align:right">Total</th>
            </tr>
        </thead>
        <tbody>
            @foreach($order->items as $item)
            <tr>
                <td>
                    {{ $item->product_name }}
                    @if($item->variant_label)<br><small style="color:#888">{{ $item->variant_label }}</small>@endif
                    @if(isset($item->product) && $item->product->is_returnable === false)
                        <br><small style="color:#f97316;font-size:9px;">&#9888; Non-returnable</small>
                    @endif
                </td>
                <td style="color:#888">{{ $item->sku ?? 'โ€”' }}</td>
                @if($hasHsn)
                <td style="color:#888;font-size:11px;">{{ $item->product?->hsn_code ?? 'โ€”' }}</td>
                @endif
                <td style="text-align:right">{{ $item->quantity }}</td>
                <td style="text-align:right">NPR {{ number_format($item->unit_price, 2) }}</td>
                <td style="text-align:right">NPR {{ number_format($item->total_price, 2) }}</td>
            </tr>
            @endforeach
        </tbody>
    </table>

    {{-- Totals --}}
    <div class="totals-wrapper">
        <table class="totals-table">
            <tr><td>Subtotal</td><td style="text-align:right">NPR {{ number_format($order->subtotal, 2) }}</td></tr>
            @if($order->coupon_discount > 0)
            <tr><td>Coupon ({{ $order->coupon_code }})</td><td style="text-align:right;color:#16a34a">โˆ’NPR {{ number_format($order->coupon_discount, 2) }}</td></tr>
            @endif
            <tr><td>Shipping</td><td style="text-align:right">NPR {{ number_format($order->shipping_amount, 2) }}</td></tr>
            <tr><td>VAT (13%)</td><td style="text-align:right">NPR {{ number_format($order->tax_amount, 2) }}</td></tr>
            <tr class="grand-total"><td><strong>Total</strong></td><td style="text-align:right"><strong>NPR {{ number_format($order->total_amount, 2) }}</strong></td></tr>
        </table>
    </div>

    {{-- Notes --}}
    @if($order->customer_note)
    <div style="background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:10px 14px;margin-bottom:16px;font-size:11px;color:#92400e;">
        <strong>Customer Note:</strong> {{ $order->customer_note }}
    </div>
    @endif

    {{-- Non-returnable policy notice (only shown when order contains non-returnable items) --}}
    @if($hasNonReturnable)
    <div style="background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:8px 12px;margin-bottom:16px;font-size:10px;color:#9a3412;">
        <strong>Return Policy:</strong> This invoice contains one or more non-returnable items (medicines / pharmaceutical products).
        Non-returnable items are not eligible for return or exchange as per applicable drug regulations.
        Please verify your order before accepting delivery.
    </div>
    @endif

    {{-- Footer --}}
    <div class="footer">
        <p>Thank you for shopping with <strong>{{ $settings['store_name'] }}</strong>!</p>
        @if(!empty($settings['drug_license_number']))
        <p style="margin-top:4px;">Sold by {{ $settings['store_name'] }} โ€” Drug License No: <strong>{{ $settings['drug_license_number'] }}</strong></p>
        @endif
        <p style="margin-top:4px;">This is a computer-generated invoice. No signature required.</p>
        <p style="margin-top:2px;">{{ config('app.url') }} ยท {{ $settings['email'] }}</p>
    </div>

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