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.

item.blade.php 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. @props([
  2. 'url' => null,
  3. 'icon' => null,
  4. 'image' => null,
  5. 'label' => null,
  6. 'tag' => 'a',
  7. ])
  8. @php
  9. $buttonClasses = \Illuminate\Support\Arr::toCssClasses([
  10. 'text-gray-700 dark:text-gray-200 text-sm font-medium flex items-center p-2 rounded-lg hover:bg-gray-50 focus-visible:bg-gray-50 dark:hover:bg-white/5 dark:focus-visible:bg-white/5',
  11. 'w-full' => $tag === 'form',
  12. ]);
  13. $iconWrapperClasses = \Illuminate\Support\Arr::toCssClasses([
  14. 'icon h-9 w-9 flex justify-center items-center mr-4 rounded-full bg-gray-200 dark:bg-white/10',
  15. ]);
  16. $iconClasses = \Illuminate\Support\Arr::toCssClasses([
  17. 'h-6 w-6 text-gray-600 dark:text-gray-200',
  18. ]);
  19. $imageClasses = \Illuminate\Support\Arr::toCssClasses([
  20. 'h-9 w-9 rounded-full bg-cover bg-center mr-4',
  21. ]);
  22. @endphp
  23. <li>
  24. @if($tag === 'form')
  25. <form
  26. {{ $attributes->only(['action', 'method', 'wire:submit']) }}
  27. >
  28. @csrf
  29. <button
  30. type="submit"
  31. {{
  32. $attributes
  33. ->only(['class'])
  34. ->class([$buttonClasses])
  35. }}
  36. >
  37. @if($image)
  38. <div class="{{ $imageClasses }}" style="background-image: url('{{ $image }}')"></div>
  39. @elseif($icon)
  40. <div class="{{ $iconWrapperClasses }}">
  41. <x-filament::icon
  42. :icon="$icon"
  43. :class="$iconClasses"
  44. />
  45. </div>
  46. @endif
  47. @if($label)
  48. <span>{{ $label }}</span>
  49. @endif
  50. </button>
  51. </form>
  52. @else
  53. <a
  54. href="{{ $url }}"
  55. {{
  56. $attributes
  57. ->only(['class'])
  58. ->class([$buttonClasses])
  59. }}
  60. >
  61. @if($image)
  62. <div class="{{ $imageClasses }}" style="background-image: url('{{ $image }}')"></div>
  63. @elseif($icon)
  64. <div class="{{ $iconWrapperClasses }}">
  65. <x-filament::icon
  66. :icon="$icon"
  67. :class="$iconClasses"
  68. />
  69. </div>
  70. @endif
  71. @if($label)
  72. <span>{{ $label }}</span>
  73. @endif
  74. </a>
  75. @endif
  76. </li>