Files
static-cms/packages/core/src/backends/test/AuthenticationPage.tsx
Daniel Lautzenheiser 66b81e9228 feat: ui overhaul (#676)
2023-03-30 13:29:09 -04:00

35 lines
905 B
TypeScript

import React, { useCallback, useEffect } from 'react';
import Login from '@staticcms/core/components/login/Login';
import type { AuthenticationPageProps, TranslatedProps } from '@staticcms/core/interface';
import type { MouseEvent } from 'react';
const AuthenticationPage = ({
inProgress = false,
config,
onLogin,
}: TranslatedProps<AuthenticationPageProps>) => {
useEffect(() => {
/**
* Allow login screen to be skipped for demo purposes.
*/
const skipLogin = config.backend.login === false;
if (skipLogin) {
onLogin({ token: 'fake_token' });
}
}, [config.backend.login, onLogin]);
const handleLogin = useCallback(
(e: MouseEvent<HTMLButtonElement>) => {
e.preventDefault();
onLogin({ token: 'fake_token' });
},
[onLogin],
);
return <Login login={handleLogin} inProgress={inProgress} />;
};
export default AuthenticationPage;