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 (
);
};