You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

modern.blade.php 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. @php
  2. $data = $this->form->getState();
  3. $viewModel = new \App\View\Models\InvoiceViewModel($this->invoice, $data);
  4. $viewSpecial = $viewModel->buildViewData();
  5. extract($viewSpecial);
  6. @endphp
  7. <div class="print-template flex justify-center p-6">
  8. <div class="paper bg-white dark:bg-gray-900 p-8 rounded-lg shadow-[0_0_10px_rgba(0,0,0,0.1)] w-[612px] h-[791px]">
  9. <!-- Colored Header with Logo -->
  10. <div class="flex">
  11. <div class="text-white py-3 flex items-start justify-start bg-gray-800" style="height: 80px; width: 85%;">
  12. @if($document_logo)
  13. <div class="text-left">
  14. <img src="{{ \Illuminate\Support\Facades\URL::asset($document_logo) }}" alt="logo" style="width: 120px; height: auto">
  15. </div>
  16. @endif
  17. </div>
  18. <!-- Ribbon Container -->
  19. <div class="text-white flex flex-col justify-end p-2" style="background: {{ $accent_color }}; width: 30%; height: 120px; margin-left: -15%;">
  20. @if($title)
  21. <div class="text-center align-bottom">
  22. <h1 class="text-3xl font-bold">{{ $title }}</h1>
  23. </div>
  24. @endif
  25. </div>
  26. </div>
  27. <!-- Company Details -->
  28. <div class="flex justify-between">
  29. <div class="text-xs text-gray-600 dark:text-gray-200 space-y-1">
  30. <h2 class="text-xl font-bold text-gray-800 dark:text-white">{{ $company_name }}</h2>
  31. @if($company_address && $company_city && $company_state && $company_zip)
  32. <p>{{ $company_address }}</p>
  33. <p>{{ $company_city }}, {{ $company_state }} {{ $company_zip }}</p>
  34. @endif
  35. </div>
  36. <table class="mt-6" style="width: 35%; height: 100px">
  37. <thead class="border-b-2" style="border-color: {{ $accent_color }}">
  38. <tr class="p-1">
  39. <th class="text-xs text text-gray-500 text-right">Total Due</th>
  40. <th class="text-xs text-gray-500 text-left">:</th>
  41. <th class="text-sm font-semibold text-gray-800 dark:text-white text-right">USD $1100.00</th>
  42. </tr>
  43. </thead>
  44. <tr>
  45. <td colspan="3" class="py-1"></td>
  46. </tr>
  47. <tbody class="text-xs text-gray-500 dark:text-white">
  48. <tr class="p-1">
  49. <td class="text-right">Invoice No</td>
  50. <td class="text-left">:</td>
  51. <td class="text-right">{{ $invoice_number }}</td>
  52. </tr>
  53. <tr class="p-1">
  54. <td class="text-right">Invoice Date</td>
  55. <td class="text-left">:</td>
  56. <td class="text-right">{{ $invoice_date }}</td>
  57. </tr>
  58. <tr class="p-1">
  59. <td class="text-right">Invoice Due</td>
  60. <td class="text-left">:</td>
  61. <td class="text-right">{{ $invoice_due_date }}</td>
  62. </tr>
  63. </tbody>
  64. </table>
  65. </div>
  66. <!-- Billing Details -->
  67. <div class="text-xs text-gray-600 dark:text-gray-200 mb-4">
  68. <h3 class="text-base font-semibold text-gray-600 dark:text-gray-200 tracking-tight mb-2">BILL TO</h3>
  69. <p class="text-lg font-semibold" style="color: {{ $accent_color }}">John Doe</p>
  70. <p>123 Main Street</p>
  71. <p>New York, NY 10001</p>
  72. </div>
  73. <!-- Line Items Table -->
  74. <div class="mb-8">
  75. <table class="w-full border-collapse text-sm">
  76. <thead style="background: {{ $accent_color }};">
  77. <tr class="text-white">
  78. <th class="text-left p-2 w-1/12">No</th>
  79. <th class="text-left p-2 w-7/12">{{ $item_column }}</th>
  80. <th class="text-left p-2 w-1/6">{{ $unit_column }}</th>
  81. <th class="text-left p-2 w-1/6">{{ $price_column }}</th>
  82. <th class="text-left p-2 w-1/6">{{ $amount_column }}</th>
  83. </tr>
  84. </thead>
  85. <tbody class="text-xs">
  86. <tr class="border-b border-gray-300">
  87. <td class="p-2 bg-gray-100 dark:bg-gray-800">01</td>
  88. <td class="p-2">Item 1</td>
  89. <td class="p-2 bg-gray-100 dark:bg-gray-800">2</td>
  90. <td class="p-2">$150.00</td>
  91. <td class="p-2 bg-gray-100 dark:bg-gray-800">$300.00</td>
  92. </tr>
  93. <tr class="border-b border-gray-300">
  94. <td class="p-2 bg-gray-100 dark:bg-gray-800">02</td>
  95. <td class="p-2">Item 2</td>
  96. <td class="p-2 bg-gray-100 dark:bg-gray-800">3</td>
  97. <td class="p-2">$200.00</td>
  98. <td class="p-2 bg-gray-100 dark:bg-gray-800">$600.00</td>
  99. </tr>
  100. <tr class="border-b border-gray-300">
  101. <td class="p-2 bg-gray-100 dark:bg-gray-800">03</td>
  102. <td class="p-2">Item 3</td>
  103. <td class="p-2 bg-gray-100 dark:bg-gray-800">1</td>
  104. <td class="p-2">$180.00</td>
  105. <td class="p-2 bg-gray-100 dark:bg-gray-800">$180.00</td>
  106. </tr>
  107. <tr>
  108. <td class="p-2"></td>
  109. <td class="p-2"></td>
  110. <td class="p-2"></td>
  111. <td class="p-2">Subtotal:</td>
  112. <td class="p-2 bg-gray-100 dark:bg-gray-800">$1000.00</td>
  113. </tr>
  114. <tr>
  115. <td class="p-2"></td>
  116. <td class="p-2"></td>
  117. <td class="p-2"></td>
  118. <td class="p-2">Tax:</td>
  119. <td class="p-2 bg-gray-100 dark:bg-gray-800">$100.00</td>
  120. </tr>
  121. <tr>
  122. <td class="p-2"></td>
  123. <td class="p-2"></td>
  124. <td class="p-2"></td>
  125. <td class="p-2">Total:</td>
  126. <td class="p-2 bg-gray-100 dark:bg-gray-800">$1100.00</td>
  127. </tr>
  128. </tbody>
  129. </table>
  130. </div>
  131. <!-- Footer Notes -->
  132. <div class="text-gray-600 dark:text-gray-300 text-xs">
  133. <h4 class="font-semibold text-gray-700 dark:text-gray-100 mb-2" style="color: {{ $accent_color }}">Terms & Conditions:</h4>
  134. <div class="flex mt-2 justify-between py-2 border-t-2 border-gray-300">
  135. <div class="w-1/2">
  136. <p>{{ $terms }}</p>
  137. </div>
  138. <div class="w-1/2 text-right">
  139. <p>{{ $footer }}</p>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>