From d6807468d4860923bfae1facbf1f62bd3b010c80 Mon Sep 17 00:00:00 2001 From: Raja Oktafrianto Date: Thu, 20 Mar 2025 15:08:50 +0700 Subject: [PATCH] validate logout --- src/components/ui/DataTable.tsx | 20 ++-- .../account/manage-account/ManageAccount.tsx | 4 +- src/pages/groups/ManageGroups.tsx | 2 +- src/pages/members/kyc/Kyc.tsx | 2 +- src/pages/members/manage-members/Columns.tsx | 96 +++++++++---------- .../members/manage-members/ManageMembers.tsx | 2 +- src/pages/menu/manage-menu/ManageMenu.tsx | 4 +- src/partials/dropdowns/user/DropdownUser.tsx | 34 ++++++- 8 files changed, 98 insertions(+), 66 deletions(-) diff --git a/src/components/ui/DataTable.tsx b/src/components/ui/DataTable.tsx index 8908c92..d4f1e94 100644 --- a/src/components/ui/DataTable.tsx +++ b/src/components/ui/DataTable.tsx @@ -30,7 +30,7 @@ import { DialogDescription, DialogHeader, DialogTitle, - DialogTrigger, + DialogTrigger } from './dialog'; interface DataTableProps { @@ -67,7 +67,7 @@ export function DataTable({ return (
-
+
({
- { - onDelete ? ( - - ) : ('') - } + ) : ( + '' + )}
diff --git a/src/pages/account/manage-account/ManageAccount.tsx b/src/pages/account/manage-account/ManageAccount.tsx index f6398dc..f116edd 100644 --- a/src/pages/account/manage-account/ManageAccount.tsx +++ b/src/pages/account/manage-account/ManageAccount.tsx @@ -1,11 +1,11 @@ import { apiConfig } from '@/config/api.config'; -import { Account, columns } from './Columns'; import axios from 'axios'; import { useEffect, useState } from 'react'; import { getData } from '@/utils'; import { useCallApi } from '@/hooks'; import { DataTable } from '@/components/ui/DataTable'; import { Breadcrumbs, Link } from '@mui/material'; +import { Account, columns } from './Columns'; const API_URL = apiConfig.service_dashboard; @@ -75,7 +75,7 @@ const ManageAccount = () => { return (
-
+

Manage Account

diff --git a/src/pages/groups/ManageGroups.tsx b/src/pages/groups/ManageGroups.tsx index 3b5a832..3be46e2 100644 --- a/src/pages/groups/ManageGroups.tsx +++ b/src/pages/groups/ManageGroups.tsx @@ -182,7 +182,7 @@ const ManageGroups = () => { onDelete={handleDelete} /> - +
Create New Group diff --git a/src/pages/members/kyc/Kyc.tsx b/src/pages/members/kyc/Kyc.tsx index 6ee1148..6291aa7 100644 --- a/src/pages/members/kyc/Kyc.tsx +++ b/src/pages/members/kyc/Kyc.tsx @@ -142,7 +142,7 @@ const Kyc = () => { return (
-
+
setDialogOpen(false)} diff --git a/src/pages/members/manage-members/Columns.tsx b/src/pages/members/manage-members/Columns.tsx index 8a08b94..e657553 100644 --- a/src/pages/members/manage-members/Columns.tsx +++ b/src/pages/members/manage-members/Columns.tsx @@ -132,51 +132,51 @@ export const columns: ColumnDef[] = [ ]; export const initialMember = { - id: "", - fullname: "", - email: "", - username: "", - msisdn: "", - password: "", - pin: "", - try_pin: "", - mother_fullname: "", - agent_name: "", - bank_name: "", - bank_account: "", - ibank_number: "", - address: "", - longitude: "", - latitude: "", - nationality: "", - photouser: "", - photomerchant: "", - file_selfie: "", - file_document_id: "", - file_document_id_selfie: "", - file_commercial_license: "", - identity_type: "", - identity_number: "", - license_number: "", - date_birth: "", - gender: "", - status: "N", - isneedapproval: "", - isapproved: "", - approveddate: "", - approvedby: "", - created_by: "", - created_at: "", - updated_by: "", - updated_at: "", - deleted_by: "", - deleted_at: "", - group: "", - point_tier: "", - language: "", - municipio: "", - posto_adms: "", - suco: "", - aldeia: "", - profession: "", -} + id: '', + fullname: '', + email: '', + username: '', + msisdn: '', + password: '', + pin: '', + try_pin: '', + mother_fullname: '', + agent_name: '', + bank_name: '', + bank_account: '', + ibank_number: '', + address: '', + longitude: '', + latitude: '', + nationality: '', + photouser: '', + photomerchant: '', + file_selfie: '', + file_document_id: '', + file_document_id_selfie: '', + file_commercial_license: '', + identity_type: '', + identity_number: '', + license_number: '', + date_birth: '', + gender: '', + status: 'N', + isneedapproval: '', + isapproved: '', + approveddate: '', + approvedby: '', + created_by: '', + created_at: '', + updated_by: '', + updated_at: '', + deleted_by: '', + deleted_at: '', + group: '', + point_tier: '', + language: '', + municipio: '', + posto_adms: '', + suco: '', + aldeia: '', + profession: '' +}; diff --git a/src/pages/members/manage-members/ManageMembers.tsx b/src/pages/members/manage-members/ManageMembers.tsx index e3ede28..fb8e77b 100644 --- a/src/pages/members/manage-members/ManageMembers.tsx +++ b/src/pages/members/manage-members/ManageMembers.tsx @@ -115,7 +115,7 @@ const ManageMembers = () => { return (
-
+
setDialogOpen(false)} diff --git a/src/pages/menu/manage-menu/ManageMenu.tsx b/src/pages/menu/manage-menu/ManageMenu.tsx index 7dac58a..c0849a7 100644 --- a/src/pages/menu/manage-menu/ManageMenu.tsx +++ b/src/pages/menu/manage-menu/ManageMenu.tsx @@ -9,7 +9,7 @@ const ManageMenu = () => { return ( -

Manage Menus

+

Manage Menu

Dashboard @@ -20,7 +20,7 @@ const ManageMenu = () => { - Manage Menus + Manage Menu
diff --git a/src/partials/dropdowns/user/DropdownUser.tsx b/src/partials/dropdowns/user/DropdownUser.tsx index 266372d..0ccf0eb 100644 --- a/src/partials/dropdowns/user/DropdownUser.tsx +++ b/src/partials/dropdowns/user/DropdownUser.tsx @@ -1,4 +1,4 @@ -import { Fragment } from 'react'; +import { Fragment, useState } from 'react'; import { Link } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import { getAuth, useAuthContext } from '@/auth'; @@ -15,6 +15,8 @@ import { MenuArrow, MenuIcon } from '@/components/menu'; +import { Alert, Button, Dialog, DialogContent } from '@mui/material'; +import { DialogFooter, DialogHeader } from '@/components/ui/dialog'; interface IDropdownUserProps { menuItemRef: any; @@ -26,6 +28,12 @@ interface IDropdownUserProps { const DropdownUser = ({ menuItemRef }: IDropdownUserProps) => { const { logout, auth } = useAuthContext(); + const [showLogoutDialog, setShowLogoutDialog] = useState(false); + + const handleLogout = () => { + setShowLogoutDialog(false); // Tutup dialog + logout(); // Panggil fungsi logout + }; const buildHeader = () => { return ( @@ -73,7 +81,10 @@ const DropdownUser = ({ menuItemRef }: IDropdownUserProps) => { return (
@@ -89,6 +100,25 @@ const DropdownUser = ({ menuItemRef }: IDropdownUserProps) => { {buildHeader()} {buildMenu()} {buildFooter()} + + setShowLogoutDialog(false)}> + + + +

Are you sure?

+ You are about to log out! +
+
+ + + + +
+
); };