瀏覽代碼

feat: dialog confirm for logout

Muhammad Iqbal Afandi 3 年之前
父節點
當前提交
d948024129

+ 22
- 5
resources/js/layouts/Dashboard/Components/TopBar.vue 查看文件

1
 <script setup>
1
 <script setup>
2
+import { Inertia } from '@inertiajs/inertia'
2
 import { Link } from '@inertiajs/inertia-vue3'
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
 </script>
22
 </script>
4
 
23
 
5
 <template>
24
 <template>
48
         </Link>
67
         </Link>
49
       </li>
68
       </li>
50
       <li>
69
       <li>
51
-        <Link
52
-          :href="route('logout')"
53
-          as="button"
54
-          method="post"
70
+        <button
55
           class="p-link layout-topbar-button"
71
           class="p-link layout-topbar-button"
56
           v-tooltip.bottom="{
72
           v-tooltip.bottom="{
57
             value: 'Keluar',
73
             value: 'Keluar',
58
             class: 'layout-topbar-menu-tooltip',
74
             class: 'layout-topbar-menu-tooltip',
59
           }"
75
           }"
76
+          @click="logout"
60
         >
77
         >
61
           <i class="pi pi-sign-out"></i>
78
           <i class="pi pi-sign-out"></i>
62
           <span>Keluar</span>
79
           <span>Keluar</span>
63
-        </Link>
80
+        </button>
64
       </li>
81
       </li>
65
     </ul>
82
     </ul>
66
   </div>
83
   </div>

+ 2
- 0
resources/js/layouts/Dashboard/DashboardLayout.vue 查看文件

53
 <template>
53
 <template>
54
   <Head :title="title" />
54
   <Head :title="title" />
55
 
55
 
56
+  <ConfirmDialog />
57
+
56
   <div :class="containerClass" @click="onWrapperClick">
58
   <div :class="containerClass" @click="onWrapperClick">
57
     <TopBar @menu-toggle="onMenuToggle" />
59
     <TopBar @menu-toggle="onMenuToggle" />
58
 
60
 

+ 0
- 2
resources/js/pages/Customers/Index.vue 查看文件

32
 
32
 
33
 <template>
33
 <template>
34
   <DashboardLayout title="Daftar Pelanggan">
34
   <DashboardLayout title="Daftar Pelanggan">
35
-    <ConfirmDialog />
36
-
37
     <DataTable
35
     <DataTable
38
       responsiveLayout="scroll"
36
       responsiveLayout="scroll"
39
       columnResizeMode="expand"
37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Products/Index.vue 查看文件

32
 
32
 
33
 <template>
33
 <template>
34
   <DashboardLayout title="Daftar Produk">
34
   <DashboardLayout title="Daftar Produk">
35
-    <ConfirmDialog />
36
-
37
     <DataTable
35
     <DataTable
38
       responsiveLayout="scroll"
36
       responsiveLayout="scroll"
39
       columnResizeMode="expand"
37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Suppliers/Index.vue 查看文件

32
 
32
 
33
 <template>
33
 <template>
34
   <DashboardLayout title="Daftar Supplier">
34
   <DashboardLayout title="Daftar Supplier">
35
-    <ConfirmDialog />
36
-
37
     <DataTable
35
     <DataTable
38
       responsiveLayout="scroll"
36
       responsiveLayout="scroll"
39
       columnResizeMode="expand"
37
       columnResizeMode="expand"

+ 0
- 2
resources/js/pages/Users/Edit.vue 查看文件

41
 
41
 
42
 <template>
42
 <template>
43
   <DashboardLayout title="Ubah User">
43
   <DashboardLayout title="Ubah User">
44
-    <ConfirmDialog />
45
-
46
     <div class="grid">
44
     <div class="grid">
47
       <div class="col-12 lg:col-8">
45
       <div class="col-12 lg:col-8">
48
         <Card>
46
         <Card>

+ 0
- 2
resources/js/pages/Users/Index.vue 查看文件

49
 
49
 
50
 <template>
50
 <template>
51
   <DashboardLayout title="Daftar User">
51
   <DashboardLayout title="Daftar User">
52
-    <ConfirmDialog />
53
-
54
     <DataTable
52
     <DataTable
55
       responsiveLayout="scroll"
53
       responsiveLayout="scroll"
56
       columnResizeMode="expand"
54
       columnResizeMode="expand"