diff --git a/app/Components/Permission/Form.php b/app/Components/Permission/Form.php
new file mode 100644
index 0000000..4888796
--- /dev/null
+++ b/app/Components/Permission/Form.php
@@ -0,0 +1,44 @@
+ 'required|string|unique:permissions,name' .
+ ($this->permissionId ? ",{$this->permissionId}" : ''),
+ ];
+ }
+
+ public function mount($permissionId = null)
+ {
+ $this->permissionId = $permissionId;
+ if ($permissionId) {
+ $perm = Permission::findOrFail($permissionId);
+ $this->name = $perm->name;
+ }
+ }
+
+ public function save()
+ {
+ $this->validate();
+ Permission::updateOrCreate(
+ ['id' => $this->permissionId],
+ ['name' => $this->name]
+ );
+ session()->flash('message', 'Permission saved.');
+ $this->emitUp('permissionSaved');
+ }
+
+ public function render()
+ {
+ return view('components.permission.form');
+ }
+}
diff --git a/app/Components/Permission/Index.php b/app/Components/Permission/Index.php
new file mode 100644
index 0000000..655e8bb
--- /dev/null
+++ b/app/Components/Permission/Index.php
@@ -0,0 +1,31 @@
+ '$refresh'];
+
+ public function updatingSearch() { $this->resetPage(); }
+
+ public function delete($id)
+ {
+ Permission::findOrFail($id)->delete();
+ session()->flash('message', 'Permission deleted.');
+ }
+
+ public function render()
+ {
+ $permissions = Permission::where('name', 'like', "%{$this->search}%")
+ ->orderByDesc('id')
+ ->paginate(10);
+
+ return view('components.permission.index', compact('permissions'));
+ }
+}
diff --git a/app/Http/Controllers/PermissionController.php b/app/Http/Controllers/PermissionController.php
new file mode 100644
index 0000000..3b1aa7b
--- /dev/null
+++ b/app/Http/Controllers/PermissionController.php
@@ -0,0 +1,26 @@
+ $permission->id,
+ ]);
+ }
+}
diff --git a/resources/views/admin/permissions/form.blade.php b/resources/views/admin/permissions/form.blade.php
new file mode 100644
index 0000000..45d4e97
--- /dev/null
+++ b/resources/views/admin/permissions/form.blade.php
@@ -0,0 +1,8 @@
+@extends('layouts.app')
+
+@section('title', isset($permissionId) ? 'Edit Permission' : 'Create Permission')
+
+@section('content')
+ {{-- truyền permissionId nếu có --}}
+
ID | +Name | +Actions | +
---|---|---|
{{ $p->id }} | +{{ $p->name }} | ++ Edit + + | +