diff --git a/src/App.tsx b/src/App.tsx
index ab78a1b..f9dc1b5 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -6,6 +6,7 @@ import { MAIN_MENU, SUB_MENU } from '@constants';
import { useUserQuery } from '@hooks';
import { AppLayout, AuthLayout } from '@layouts';
import { AuthPage, HomePage } from '@pages';
+import { authService } from './services/auth.service';
export default function App() {
const navigate: NavigateFunction = useNavigate();
@@ -84,8 +85,7 @@ export default function App() {
{
type: 'logout-btn',
name: SUB_MENU.logout,
- onClick() {}
- //onClick: () => authService.logout().then(() => getData())
+ onClick: () => authService.logout().then(() => refetch())
}
]}
/>
diff --git a/src/components/common/AppNavigation.tsx b/src/components/common/AppNavigation.tsx
index 4e3157d..be3e121 100644
--- a/src/components/common/AppNavigation.tsx
+++ b/src/components/common/AppNavigation.tsx
@@ -4,10 +4,15 @@ import coin from '@assets/coin.png';
import { AppDrawer, DesktopNavbar, ToggleSidebarBtn, useSidebarMenu } from '@components/common';
import { useCloseForm } from '@components/order/common';
import { ScreenSize } from '@constants';
-import { useScreenSize, useUserQuery, usePrintingRequestQuery, emitEvent } from '@hooks';
+import {
+ useScreenSize,
+ useUserQuery,
+ usePrintingRequestQuery,
+ useAuthMutation,
+ emitEvent
+} from '@hooks';
import { useMenuBarStore, useOrderWorkflowStore } from '@states';
import { formatFileSize } from '@utils';
-import { useAuthMutation } from '@hooks';
export const AppNavigation: Component<{ mainMenu: RouteMenu; subMenu: RouteMenu }> = ({
mainMenu,
@@ -32,9 +37,7 @@ export const AppNavigation: Component<{ mainMenu: RouteMenu; subMenu: RouteMenu
() => listFiles?.reduce((totalSize, file) => totalSize + file.fileSize, 0),
[listFiles]
);
- const handleLogout = () => {
- logout.mutateAsync();
- };
+
return (
@@ -62,7 +65,7 @@ export const AppNavigation: Component<{ mainMenu: RouteMenu; subMenu: RouteMenu
)}
logout.mutateAsync()}
className='w-10 h-10 hidden lg:block lg:opacity-40 lg:ml-6 lg:cursor-pointer'
/>
diff --git a/src/components/common/SidebarMenu.tsx b/src/components/common/SidebarMenu.tsx
index e25a73c..a888d41 100644
--- a/src/components/common/SidebarMenu.tsx
+++ b/src/components/common/SidebarMenu.tsx
@@ -5,10 +5,8 @@ import logo from '@assets/logobk.png';
import ticklab from '@assets/ticklab.png';
import { ToggleSidebarBtn } from '@components/common';
import { useMenuBarStore } from '@states';
-import { useAuthMutation } from '@hooks';
export function useSidebarMenu() {
- const { logout } = useAuthMutation();
const { selectedMenu, setSelectedMenu } = useMenuBarStore();
const ITEM_CLASSNAME =
@@ -56,9 +54,6 @@ export function useSidebarMenu() {
);
}
})}
-
logout.mutateAsync()}>
- Log out
-
{subMenu.map((menuItem, idx) => {
@@ -81,6 +76,12 @@ export function useSidebarMenu() {
);
+ } else if (menuItem.type === 'logout-btn') {
+ return (
+
+ {menuItem.name}
+
+ );
}
})}
diff --git a/src/components/order/desktop/TopUpWalletDesktop.tsx b/src/components/order/desktop/TopUpWalletDesktop.tsx
index f10136c..714d979 100644
--- a/src/components/order/desktop/TopUpWalletDesktop.tsx
+++ b/src/components/order/desktop/TopUpWalletDesktop.tsx
@@ -1,9 +1,6 @@
import { InformationCircleIcon, BanknotesIcon, WalletIcon } from '@heroicons/react/24/outline';
import { Button, Radio } from '@material-tailwind/react';
import coinImage from '@assets/coin.png';
-import momoImage from '@assets/momo.png';
-import zaloImage from '@assets/zalo.png';
-import VNPayImage from '@assets/VNPay.png';
export const TopUpWalletDestop = () => {
const currentBalance = 202;
@@ -12,15 +9,15 @@ export const TopUpWalletDestop = () => {
const amountLevel = 100000;
const methodList = [
{
- image: momoImage,
+ image: coinImage,
method: 'Momo'
},
{
- image: zaloImage,
+ image: coinImage,
method: 'Zalo'
},
{
- image: VNPayImage,
+ image: coinImage,
method: 'VNPay'
}
];
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index cd4cb5b..47b33a9 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -2,7 +2,7 @@
* @file Automatically generated by barrelsby.
*/
-export * from './useAuthMutation';
+export * from './useAuthMutation.hook';
export * from './useEvent';
export * from './usePrintingRequestMutation.hook';
export * from './usePrintingRequestQuery.hook';
diff --git a/src/hooks/useAuthMutation.ts b/src/hooks/useAuthMutation.hook.ts
similarity index 87%
rename from src/hooks/useAuthMutation.ts
rename to src/hooks/useAuthMutation.hook.ts
index 2995d9e..953b09f 100644
--- a/src/hooks/useAuthMutation.ts
+++ b/src/hooks/useAuthMutation.hook.ts
@@ -3,13 +3,15 @@ import { authService, userService } from '@services';
export function useAuthMutation() {
const queryClient = useQueryClient();
+
const logout = useMutation({
mutationKey: ['logout'],
mutationFn: () => authService.logout(),
onSuccess: () => {
queryClient.prefetchQuery({
queryKey: ['/api/user'],
- queryFn: () => userService.getInfo()
+ queryFn: () => userService.getInfo(),
+ retry: 0
});
}
});
diff --git a/src/hooks/usePrintingRequestMutation.hook.ts b/src/hooks/usePrintingRequestMutation.hook.ts
index ad55f8b..ef232c9 100644
--- a/src/hooks/usePrintingRequestMutation.hook.ts
+++ b/src/hooks/usePrintingRequestMutation.hook.ts
@@ -1,5 +1,6 @@
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { printingRequestService, buyCoinService, userService } from '@services';
+import { retryQueryFn } from '@utils';
export function usePrintingRequestMutation() {
const queryClient = useQueryClient();
@@ -65,7 +66,8 @@ export function usePrintingRequestMutation() {
onSuccess: () => {
queryClient.prefetchQuery({
queryKey: ['/api/user/remain-coins'],
- queryFn: () => userService.getRemainCoins()
+ queryFn: () => userService.getRemainCoins(),
+ retry: retryQueryFn
});
}
});
diff --git a/src/services/common.ts b/src/services/common.ts
index 82bca70..dec736a 100644
--- a/src/services/common.ts
+++ b/src/services/common.ts
@@ -8,6 +8,6 @@ export const apiClient = createClient
({
export async function invoke(call: Promise>) {
const { data, error } = await call;
- if (data) return data;
+ if (data !== undefined) return data;
throw (error as ResponseError).message;
}