import * as React from 'react'; import { Route, Routes } from 'react-router'; import { TestMemoryRouter } from '../routing/TestMemoryRouter'; import { CoreAdminContext } from '../core/CoreAdminContext'; import useLogout from './useLogout'; export default { title: 'ra-core/auth/useLogout', }; export const Redirect = ({ redirectTo, }: { redirectTo: 'default' | 'authProvider.logout' | 'caller'; }) => { const authProvider = { logout: () => Promise.resolve( redirectTo === 'authProvider.logout' ? '/logout_redirect' : undefined ), } as any; return ( Page} /> Login} /> Custom from authProvider.logout} /> Custom from useLogout caller} /> ); }; Redirect.args = { redirectTo: 'default', }; Redirect.argTypes = { redirectTo: { type: 'string', options: ['default', 'authProvider.logout', 'caller'], mapping: { default: undefined, 'authProvider.logout': 'authProvider.logout', caller: 'caller', }, control: { type: 'radio', }, }, }; const LogoutButton = ({ redirectTo }: { redirectTo?: string }) => { const logout = useLogout(); return ( ); };