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.

balance-sheet.blade.php 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <x-filament-panels::page>
  2. <x-filament::section>
  3. <div class="flex flex-col lg:flex-row items-start lg:items-end justify-between gap-4">
  4. <!-- Form Container -->
  5. @if(method_exists($this, 'filtersForm'))
  6. {{ $this->filtersForm }}
  7. @endif
  8. <!-- Grouping Button and Column Toggle -->
  9. @if($this->hasToggleableColumns())
  10. <div class="lg:mb-1">
  11. <x-filament-tables::column-toggle.dropdown
  12. :form="$this->getTableColumnToggleForm()"
  13. :trigger-action="$this->getToggleColumnsTriggerAction()"
  14. />
  15. </div>
  16. @endif
  17. <div class="inline-flex items-center min-w-0 lg:min-w-[9.5rem] justify-end">
  18. {{ $this->applyFiltersAction }}
  19. </div>
  20. </div>
  21. </x-filament::section>
  22. <x-filament::section>
  23. <!-- Summary Section -->
  24. @if($this->reportLoaded)
  25. <div
  26. class="flex flex-col md:flex-row items-center md:items-end text-center justify-center gap-4 md:gap-8">
  27. @foreach($this->report->getSummary() as $summary)
  28. <div class="text-sm">
  29. <div class="text-gray-600 font-medium mb-2">{{ $summary['label'] }}</div>
  30. @php
  31. $isNetAssets = $summary['label'] === 'Net Assets';
  32. $isPositive = money($summary['value'], \App\Utilities\Currency\CurrencyAccessor::getDefaultCurrency())->isPositive();
  33. @endphp
  34. <strong
  35. @class([
  36. 'text-lg',
  37. 'text-green-700' => $isNetAssets && $isPositive,
  38. 'text-danger-700' => $isNetAssets && ! $isPositive,
  39. ])
  40. >
  41. {{ $summary['value'] }}
  42. </strong>
  43. </div>
  44. @if(! $loop->last)
  45. <div class="flex items-center justify-center px-2">
  46. <strong class="text-lg">
  47. {{ $loop->remaining === 1 ? '=' : '-' }}
  48. </strong>
  49. </div>
  50. @endif
  51. @endforeach
  52. </div>
  53. @endif
  54. </x-filament::section>
  55. <x-filament::tabs>
  56. <x-filament::tabs.item
  57. :active="$activeTab === 'summary'"
  58. wire:click="$set('activeTab', 'summary')"
  59. >
  60. Summary
  61. </x-filament::tabs.item>
  62. <x-filament::tabs.item
  63. :active="$activeTab === 'details'"
  64. wire:click="$set('activeTab', 'details')"
  65. >
  66. Details
  67. </x-filament::tabs.item>
  68. </x-filament::tabs>
  69. <x-filament-tables::container>
  70. <div class="es-table__header-ctn"></div>
  71. <div
  72. class="relative divide-y divide-gray-200 overflow-x-auto dark:divide-white/10 dark:border-t-white/10 min-h-64">
  73. <div wire:init="applyFilters" class="flex items-center justify-center w-full h-full absolute">
  74. <div wire:loading wire:target="applyFilters">
  75. <x-filament::loading-indicator class="p-6 text-primary-700 dark:text-primary-300"/>
  76. </div>
  77. </div>
  78. @if($this->reportLoaded)
  79. <div wire:loading.remove wire:target="applyFilters">
  80. @if($this->report)
  81. @if($activeTab === 'summary')
  82. <x-company.tables.reports.balance-sheet-summary :report="$this->report"/>
  83. @elseif($activeTab === 'details')
  84. <x-company.tables.reports.balance-sheet :report="$this->report"/>
  85. @endif
  86. @endif
  87. </div>
  88. @endif
  89. </div>
  90. <div class="es-table__footer-ctn border-t border-gray-200"></div>
  91. </x-filament-tables::container>
  92. </x-filament-panels::page>