Procházet zdrojové kódy

feat: dialog confirm for logout

Muhammad Iqbal Afandi před 3 roky
rodič
revize
d948024129

+ 22
- 5
resources/js/layouts/Dashboard/Components/TopBar.vue Zobrazit soubor

@@ -1,5 +1,24 @@
1 1
 <script setup>
2
+import { Inertia } from '@inertiajs/inertia'
2 3
 import { Link } from '@inertiajs/inertia-vue3'
4
+import { useConfirm } from 'primevue/useconfirm'
5
+
6
+const logoutConfirm = useConfirm()
7
+
8
+const logout = () => {
9
+  logoutConfirm.require({
10
+    message: 'Ingin keluar dari aplikasi',
11
+    header: 'Keluar',
12
+    acceptLabel: 'Iya',
13
+    rejectLabel: 'Tidak',
14
+    accept: () => {
15
+      Inertia.post(route('logout'))
16
+    },
17
+    reject: () => {
18
+      logoutConfirm.close()
19
+    },
20
+  })
21
+}
3 22
 </script>
4 23
 
5 24
 <template>
@@ -48,19 +67,17 @@ import { Link } from '@inertiajs/inertia-vue3'
48 67
         </Link>
49 68
       </li>
50 69
       <li>
51
-        <Link
52
-          :href="route('logout')"
53
-          as="button"
54
-          method="post"
70
+        <button
55 71
           class="p-link layout-topbar-button"
56 72
           v-tooltip.bottom="{
57 73
             value: 'Keluar',
58 74
             class: 'layout-topbar-menu-tooltip',
59 75
           }"
76
+          @click="logout"
60 77
         >
61 78
           <i class="pi pi-sign-out"></i>
62 79
           <span>Keluar</span>
63
-        </Link>
80
+        </button>
64 81
       </li>
65 82
     </ul>
66 83
   </div>

+ 2
- 0
resources/js/layouts/Dashboard/DashboardLayout.vue Zobrazit soubor

@@ -53,6 +53,8 @@ const onMenuToggle = (event) => {
53 53
 <template>
54 54
   <Head :title="title" />
55 55
 
56
+  <ConfirmDialog />
57
+
56 58
   <div :class="containerClass" @click="onWrapperClick">
57 59
     <TopBar @menu-toggle="onMenuToggle" />
58 60
 

+ 0
- 2
resources/js/pages/Customers/Index.vue Zobrazit soubor

@@ -32,8 +32,6 @@ const onDelete = (data) => {
32 32
 
33 33
 <template>
34 34
   <DashboardLayout title="Daftar Pelanggan">
35
-    <ConfirmDialog />
36
-
37 35
     <DataTable
38 36
       responsiveLayout="scroll"
39 37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Products/Index.vue Zobrazit soubor

@@ -32,8 +32,6 @@ const onDelete = (data) => {
32 32
 
33 33
 <template>
34 34
   <DashboardLayout title="Daftar Produk">
35
-    <ConfirmDialog />
36
-
37 35
     <DataTable
38 36
       responsiveLayout="scroll"
39 37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Suppliers/Index.vue Zobrazit soubor

@@ -32,8 +32,6 @@ const onDelete = (data) => {
32 32
 
33 33
 <template>
34 34
   <DashboardLayout title="Daftar Supplier">
35
-    <ConfirmDialog />
36
-
37 35
     <DataTable
38 36
       responsiveLayout="scroll"
39 37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Users/Edit.vue Zobrazit soubor

@@ -41,8 +41,6 @@ const onSubmit = () => {
41 41
 
42 42
 <template>
43 43
   <DashboardLayout title="Ubah User">
44
-    <ConfirmDialog />
45
-
46 44
     <div class="grid">
47 45
       <div class="col-12 lg:col-8">
48 46
         <Card>

+ 0
- 2
resources/js/pages/Users/Index.vue Zobrazit soubor

@@ -49,8 +49,6 @@ const onDelete = (data) => {
49 49
 
50 50
 <template>
51 51
   <DashboardLayout title="Daftar User">
52
-    <ConfirmDialog />
53
-
54 52
     <DataTable
55 53
       responsiveLayout="scroll"
56 54
       columnResizeMode="expand"