urutin ruang + text ruangan

This commit is contained in:
rendygaafk 2025-06-03 10:34:03 +07:00
parent efbde40b7e
commit c3776bea0b
1 changed files with 52 additions and 36 deletions

View File

@ -81,8 +81,16 @@ class="flex items-center px-5 py-2.5 bg-white border border-blue-500 text-blue-6
</button> </button>
</div> </div>
@php
// Urutkan ruangan berdasarkan angka dalam nama_ruangan
$sortedRuangans = collect($ruangans)->sortBy(function($ruangan) {
preg_match('/\d+/', $ruangan->nama_ruangan, $matches);
return (int) ($matches[0] ?? PHP_INT_MAX); // PHP_INT_MAX agar yang tanpa angka muncul paling akhir
});
@endphp
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
@foreach($ruangans as $ruangan) @foreach($sortedRuangans as $ruangan)
<div class="relative flex items-start p-3 rounded-lg border border-gray-200 hover:border-blue-300 transition-colors"> <div class="relative flex items-start p-3 rounded-lg border border-gray-200 hover:border-blue-300 transition-colors">
<div class="flex items-center h-5 mt-1"> <div class="flex items-center h-5 mt-1">
<input id="manual-ruang-{{ $ruangan->nama_ruangan }}" <input id="manual-ruang-{{ $ruangan->nama_ruangan }}"
@ -95,7 +103,7 @@ class="focus:ring-blue-500 h-4 w-4 text-blue-600 border-gray-300 rounded">
<div class="flex items-center justify-between"> <div class="flex items-center justify-between">
<label for="manual-ruang-{{ $ruangan->nama_ruangan }}" class="font-medium text-gray-700 flex items-center"> <label for="manual-ruang-{{ $ruangan->nama_ruangan }}" class="font-medium text-gray-700 flex items-center">
<span class="inline-block w-2.5 h-2.5 rounded-full bg-blue-500 mr-2"></span> <span class="inline-block w-2.5 h-2.5 rounded-full bg-blue-500 mr-2"></span>
{{ $ruangan->nama_ruangan }} Ruangan {{ str_pad($ruangan->nama_ruangan, 2, '0', STR_PAD_LEFT) }}
</label> </label>
<span id="status-ruang-{{ $ruangan->nama_ruangan }}" <span id="status-ruang-{{ $ruangan->nama_ruangan }}"
class="text-xs px-2 py-0.5 rounded-full class="text-xs px-2 py-0.5 rounded-full
@ -164,8 +172,16 @@ class="block w-full px-4 py-3 border border-gray-300 rounded-lg shadow-sm focus:
</button> </button>
</div> </div>
@php
// Urutkan ruangan berdasarkan angka dalam nama_ruangan
$sortedRuangans = collect($ruangans)->sortBy(function($ruangan) {
preg_match('/\d+/', $ruangan->nama_ruangan, $matches);
return (int) ($matches[0] ?? PHP_INT_MAX); // PHP_INT_MAX agar yang tanpa angka muncul paling akhir
});
@endphp
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"> <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
@foreach($ruangans as $ruangan) @foreach($sortedRuangans as $ruangan)
<div class="relative flex items-start p-3 rounded-lg border border-gray-200 hover:border-green-300 transition-colors"> <div class="relative flex items-start p-3 rounded-lg border border-gray-200 hover:border-green-300 transition-colors">
<div class="flex items-center h-5 mt-1"> <div class="flex items-center h-5 mt-1">
<input id="tts-ruang-{{ $ruangan->nama_ruangan }}" <input id="tts-ruang-{{ $ruangan->nama_ruangan }}"
@ -177,7 +193,7 @@ class="focus:ring-green-500 h-4 w-4 text-green-600 border-gray-300 rounded">
<div class="ml-3 text-sm"> <div class="ml-3 text-sm">
<label for="tts-ruang-{{ $ruangan->nama_ruangan }}" class="font-medium text-gray-700 flex items-center"> <label for="tts-ruang-{{ $ruangan->nama_ruangan }}" class="font-medium text-gray-700 flex items-center">
<span class="inline-block w-2.5 h-2.5 rounded-full bg-green-500 mr-2"></span> <span class="inline-block w-2.5 h-2.5 rounded-full bg-green-500 mr-2"></span>
{{ $ruangan->nama_ruangan }} Ruangan {{ str_pad($ruangan->nama_ruangan, 2, '0', STR_PAD_LEFT) }}
</label> </label>
</div> </div>
</div> </div>