Files
lettersoup-online/002_source/cms/src/components/dashboard/layout/user-popover/cognito-sign-out.tsx
louiscklaw 6c931c1fe8 build ok,
2025-04-14 09:26:24 +08:00

28 lines
787 B
TypeScript

'use client';
import * as React from 'react';
import { signOut } from '@aws-amplify/auth';
import MenuItem from '@mui/material/MenuItem';
import { logger } from '@/lib/default-logger';
import { toast } from '@/components/core/toaster';
export function CognitoSignOut(): React.JSX.Element {
const handleSignOut = React.useCallback(async (): Promise<void> => {
try {
await signOut();
// UserProvider will handle Router refresh
// After refresh, GuestGuard will handle the redirect
} catch (err) {
logger.error('Sign out error', err);
toast.error('Something went wrong, unable to sign out');
}
}, []);
return (
<MenuItem component="div" onClick={handleSignOut} sx={{ justifyContent: 'center' }}>
Sign out
</MenuItem>
);
}