refactor: enhance layout and conditional rendering for study group and attendance cards to improve user experience and responsiveness
This commit is contained in:
parent
2e2fc2cc20
commit
47c1cb51ab
@ -6,8 +6,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@if (count($this->studyGroups))
|
||||||
<div class="columns-1 md:columns-2 lg:columns-3 xl:columns-4 gap-6 space-y-6">
|
<div class="columns-1 md:columns-2 lg:columns-3 xl:columns-4 gap-6 space-y-6">
|
||||||
@forelse ($this->studyGroups as $record)
|
@foreach ($this->studyGroups as $record)
|
||||||
<div class="break-inside-avoid mb-6">
|
<div class="break-inside-avoid mb-6">
|
||||||
<div class="{{ $record->card_classes }}">
|
<div class="{{ $record->card_classes }}">
|
||||||
|
|
||||||
@ -27,7 +28,8 @@ class="inline-flex items-center gap-1 rounded-full bg-primary-600 px-3 py-1 text
|
|||||||
<span @class([
|
<span @class([
|
||||||
'inline-flex items-center rounded-md px-2.5 py-1 text-[10px] font-bold ring-1 ring-inset uppercase tracking-tight',
|
'inline-flex items-center rounded-md px-2.5 py-1 text-[10px] font-bold ring-1 ring-inset uppercase tracking-tight',
|
||||||
'bg-primary-50 dark:bg-primary-500/10 text-primary-700 dark:text-primary-300 ring-primary-600/20' => !$record->is_my_group,
|
'bg-primary-50 dark:bg-primary-500/10 text-primary-700 dark:text-primary-300 ring-primary-600/20' => !$record->is_my_group,
|
||||||
'bg-white dark:bg-primary-800/40 text-primary-700 dark:text-primary-200 ring-primary-500/30' => $record->is_my_group,
|
'bg-white dark:bg-primary-800/40 text-primary-700 dark:text-primary-200 ring-primary-500/30' =>
|
||||||
|
$record->is_my_group,
|
||||||
])>
|
])>
|
||||||
{{ $course->name }}
|
{{ $course->name }}
|
||||||
</span>
|
</span>
|
||||||
@ -58,11 +60,12 @@ class="inline-flex items-center rounded-md bg-gray-50 dark:bg-gray-500/10 px-2 p
|
|||||||
<div @class([
|
<div @class([
|
||||||
'w-8 h-8 rounded-full flex items-center justify-center mr-3 shrink-0 border',
|
'w-8 h-8 rounded-full flex items-center justify-center mr-3 shrink-0 border',
|
||||||
'bg-primary-100 dark:bg-primary-900/40 border-primary-200 dark:border-primary-800' => !$record->is_my_group,
|
'bg-primary-100 dark:bg-primary-900/40 border-primary-200 dark:border-primary-800' => !$record->is_my_group,
|
||||||
'bg-white dark:bg-primary-800 border-primary-300 dark:border-primary-600' => $record->is_my_group,
|
'bg-white dark:bg-primary-800 border-primary-300 dark:border-primary-600' =>
|
||||||
|
$record->is_my_group,
|
||||||
])>
|
])>
|
||||||
@if ($record->leader_avatar)
|
@if ($record->leader_avatar)
|
||||||
<img src="{{ $record->leader_avatar }}"
|
<img src="{{ $record->leader_avatar }}" alt="User avatar"
|
||||||
alt="User avatar" class="w-full h-full rounded-full object-cover" />
|
class="w-full h-full rounded-full object-cover" />
|
||||||
@else
|
@else
|
||||||
<x-heroicon-m-user @class([
|
<x-heroicon-m-user @class([
|
||||||
'w-4 h-4',
|
'w-4 h-4',
|
||||||
@ -82,8 +85,7 @@ class="text-[10px] font-bold uppercase text-gray-400 tracking-widest leading-non
|
|||||||
])>
|
])>
|
||||||
{{ $record->leader_name }}
|
{{ $record->leader_name }}
|
||||||
@if ($record->is_leader)
|
@if ($record->is_leader)
|
||||||
<span
|
<span class="text-[10px] text-primary-600 font-bold ml-1">(Anda)</span>
|
||||||
class="text-[10px] text-primary-600 font-bold ml-1">(Anda)</span>
|
|
||||||
@endif
|
@endif
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -107,8 +109,7 @@ class="text-[10px] font-bold px-1.5 py-0.5 rounded bg-violet-50 dark:bg-violet-5
|
|||||||
@forelse ($record->students as $student)
|
@forelse ($record->students as $student)
|
||||||
<span @class([
|
<span @class([
|
||||||
'inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[10px] font-medium ring-1 ring-inset',
|
'inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-[10px] font-medium ring-1 ring-inset',
|
||||||
'bg-gray-50 dark:bg-gray-800/50 text-gray-700 dark:text-gray-300 ring-gray-200 dark:ring-gray-700' =>
|
'bg-gray-50 dark:bg-gray-800/50 text-gray-700 dark:text-gray-300 ring-gray-200 dark:ring-gray-700' => !$student->is_me,
|
||||||
!$student->is_me,
|
|
||||||
'bg-primary-600 text-white dark:text-gray-900 ring-primary-700 font-bold shadow-sm' =>
|
'bg-primary-600 text-white dark:text-gray-900 ring-primary-700 font-bold shadow-sm' =>
|
||||||
$student->is_me,
|
$student->is_me,
|
||||||
])>
|
])>
|
||||||
@ -143,11 +144,13 @@ class="text-[10px] font-bold px-1.5 py-0.5 rounded bg-violet-50 dark:bg-violet-5
|
|||||||
@endcanAny
|
@endcanAny
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@empty
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
<x-filament::empty-state icon="heroicon-o-users" heading="Tidak ada data yang ditemukan"
|
<x-filament::empty-state icon="heroicon-o-users" heading="Tidak ada data yang ditemukan"
|
||||||
description="Anda belum terdaftar dalam kelompok belajar apapun untuk saat ini." iconColor="gray">
|
description="Anda belum terdaftar dalam kelompok belajar apapun untuk saat ini." iconColor="gray">
|
||||||
</x-filament::empty-state>
|
</x-filament::empty-state>
|
||||||
@endforelse
|
@endif
|
||||||
</div>
|
|
||||||
</x-filament::section>
|
</x-filament::section>
|
||||||
</x-filament-panels::page>
|
</x-filament-panels::page>
|
||||||
|
|||||||
@ -3,8 +3,9 @@
|
|||||||
<x-slot name="heading">Sesi Kuliah</x-slot>
|
<x-slot name="heading">Sesi Kuliah</x-slot>
|
||||||
<x-slot name="description">Silakan melakukan presensi sesuai dengan waktu kelas.</x-slot>
|
<x-slot name="description">Silakan melakukan presensi sesuai dengan waktu kelas.</x-slot>
|
||||||
|
|
||||||
|
@if (count($this->scheduleCards))
|
||||||
<div class="columns-1 md:columns-2 lg:columns-3 xl:columns-4 gap-6 space-y-6">
|
<div class="columns-1 md:columns-2 lg:columns-3 xl:columns-4 gap-6 space-y-6">
|
||||||
@forelse ($this->scheduleCards as $card)
|
@foreach ($this->scheduleCards as $card)
|
||||||
<div class="break-inside-avoid mb-6">
|
<div class="break-inside-avoid mb-6">
|
||||||
<div class="{{ $card->card_classes }}">
|
<div class="{{ $card->card_classes }}">
|
||||||
|
|
||||||
@ -95,13 +96,15 @@ class="text-[10px] font-bold text-gray-400 uppercase tracking-widest leading-non
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@empty
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
<x-filament::empty-state icon="heroicon-o-finger-print" heading="Tidak ada data yang ditemukan"
|
<x-filament::empty-state icon="heroicon-o-finger-print" heading="Tidak ada data yang ditemukan"
|
||||||
description="Setelah jadwal Anda muncul, Anda dapat melakukan presensi di sini. Pastikan Anda mengecek kembali pada jam perkuliahan."
|
description="Setelah jadwal Anda muncul, Anda dapat melakukan presensi di sini. Pastikan Anda mengecek kembali pada jam perkuliahan."
|
||||||
iconColor="gray">
|
iconColor="gray">
|
||||||
</x-filament::empty-state>
|
</x-filament::empty-state>
|
||||||
@endforelse
|
@endif
|
||||||
</div>
|
|
||||||
</x-filament::section>
|
</x-filament::section>
|
||||||
|
|
||||||
<x-filament::section>
|
<x-filament::section>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user