From c06a8210088af1f4b4c054ecfbb61b4f9ef53954 Mon Sep 17 00:00:00 2001 From: sundayenglish Date: Tue, 24 Jun 2025 14:36:10 +0700 Subject: [PATCH] Add loading Permission --- public/css/skeleton.css | 33 ++++++ .../components/permission/manager.blade.php | 112 +++++++++++++----- resources/views/layouts/app.blade.php | 3 +- 3 files changed, 118 insertions(+), 30 deletions(-) create mode 100644 public/css/skeleton.css diff --git a/public/css/skeleton.css b/public/css/skeleton.css new file mode 100644 index 0000000..b8a9984 --- /dev/null +++ b/public/css/skeleton.css @@ -0,0 +1,33 @@ +/* public/css/skeleton.css */ + +/* 1. Định nghĩa keyframes cho shimmer */ +@keyframes shimmer { + 0% { transform: translateX(0%); } + 100% { transform: translateX(100%); } +} + +/* 2. Lớp base cho skeleton */ +.skeleton { + position: relative; + overflow: hidden; + background-color: #e2e2e2; +} + +/* 3. Pseudo-element để tạo shimmer */ +.skeleton::after { + content: ""; + position: absolute; + top: 0; left: -150%; + width: 150%; height: 100%; + background: linear-gradient( + 90deg, + rgba(255,255,255,0) 0%, + rgba(255,255,255,0.5) 50%, + rgba(255,255,255,0) 100% + ); + animation: shimmer 1.5s infinite; +} + +/* Tuỳ biến thêm nếu muốn */ +/* .skeleton.rounded { border-radius: .375rem; } */ +/* .skeleton-lg { height: 3.5rem; } */ diff --git a/resources/views/components/permission/manager.blade.php b/resources/views/components/permission/manager.blade.php index 7b0510a..b399f45 100644 --- a/resources/views/components/permission/manager.blade.php +++ b/resources/views/components/permission/manager.blade.php @@ -1,9 +1,9 @@
+ {{-- Header --}}
- {{-- Tiêu đề động --}}
{{ $title }}
@if ($mode === 'index') @@ -33,10 +33,47 @@ @endif @if ($mode === 'index') -
+ {{-- SKELETON TABLE --}} +
+
+ + + + + + + + + + @for ($i = 0; $i < 5; $i++) + + + + + + @endfor + +
IDNameActions
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + {{-- ACTUAL TABLE --}} +
- + @@ -44,10 +81,10 @@ @forelse($permissions as $p) - - - - + + +
ID Name Actions
{{ $p->id }}{{ $p->name }} +
{{ $p->id }}{{ $p->name }}
- {{-- Phân trang --}} -
+ {{-- Pagination --}} +
@if ($permissions->lastPage() > 1) {{ $permissions->links() }} @endif
@else - {{-- Form --}} -
{{ $editingId ? 'Edit Permission' : 'Create Permission' }}
-
-
- - - @error('name') -
{{ $message }}
- @enderror + {{-- SKELETON FORM --}} +
+
+
+
+
+
+
+
+
+
+
-
- - -
- +
+ + {{-- ACTUAL FORM --}} +
+
{{ $editingId ? 'Edit Permission' : 'Create Permission' }}
+
+
+ + + @error('name') +
{{ $message }}
+ @enderror +
+
+ + +
+
+
+ @endif
- {{-- Livewire sẽ chèn và chạy block này sau mỗi lần component render xong --}} @script