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.
 
 
 
 
 
 

101 lines
4.8 KiB

<div class="row">
<div class="col-12">
<div class="card mb-4">
{{-- Header --}}
<div class="card-header d-flex justify-content-between align-items-center pb-0">
<h6 class="mb-0">Permissions</h6>
@if ($mode === 'index')
<div class="d-flex align-items-center">
<div class="input-group input-group-outline me-2">
<input type="text" wire:model.debounce.500ms="search" wire:keydown.enter="resetPage"
class="form-control" placeholder="Search...">
</div>
<button wire:click="resetPage" class="btn btn-sm btn-outline-primary me-2 m-0">
Search
</button>
<button wire:click="showForm" class="btn btn-sm btn-primary m-0">
Create
</button>
</div>
@else
<button wire:click="showIndex" class="btn btn-sm btn-secondary">
← Back to list
</button>
@endif
</div>
{{-- Body --}}
<div class="card-body p-3">
@if (session()->has('message'))
<div class="alert alert-success">{{ session('message') }}</div>
@endif
@if ($mode === 'index')
<div class="table-responsive">
<table class="table align-items-center mb-0">
<thead>
<tr>
<th class="text-center">ID</th>
<th>Name</th>
<th class="text-center">Actions</th>
</tr>
</thead>
<tbody>
@forelse($permissions as $p)
<tr>
<td class="text-center">{{ $p->id }}</td>
<td>{{ $p->name }}</td>
<td class="text-center">
<button wire:click="showForm({{ $p->id }})"
class="btn btn-sm btn-info me-1">
Edit
</button>
<button wire:click="delete({{ $p->id }})"
class="btn btn-sm btn-danger">
Delete
</button>
</td>
</tr>
@empty
<tr>
<td colspan="3" class="text-center">No permissions found.</td>
</tr>
@endforelse
</tbody>
</table>
</div>
{{-- Phân trang chỉ khi >1 trang --}}
<div class="mt-3">
@if ($permissions->lastPage() > 1)
{{ $permissions->links() }}
@endif
</div>
@else
{{-- Form (không lồng thêm card) --}}
<h6 class="mb-3">{{ $editingId ? 'Edit Permission' : 'Create Permission' }}</h6>
<form wire:submit.prevent="save">
<div class="mb-3">
<label class="form-label">Name</label>
<input type="text" wire:model.defer="name" class="form-control"
placeholder="Enter permission name">
@error('name')
<div class="text-danger text-xs mt-1">{{ $message }}</div>
@enderror
</div>
<div class="d-flex justify-content-end">
<button wire:click="showIndex" type="button" class="btn btn-secondary btn-sm me-2">
Cancel
</button>
<button type="submit" class="btn btn-primary btn-sm">
{{ $editingId ? 'Update' : 'Create' }}
</button>
</div>
</form>
@endif
</div>
</div>
</div>
</div>