import React, { memo, useEffect, useState } from 'react'; import classNames from 'classnames'; import Button from '@material-ui/core/Button'; import Typography from '@material-ui/core/Typography'; import useReduxApi from '@Hooks/useReduxApi'; import useDidMount from '@Hooks/useDidMount'; import useMappedState from '@Hooks/useMappedState'; import Loading from '@Components/Base/Loading'; import Styles from './index.module.css'; function Home(): React.ReactElement { /* Global & Local State */ const reduxUser = useReduxApi('user'); const storeUser = useMappedState((state) => state.user); const [isFirstInitial, setIsFirstInitial] = useState(false); const [isLoading, setIsLoading] = useState(false); /* Functions */ const onSignOut = (): void => { reduxUser('postUserSignOut', []); }; const initialize = (): void => { setIsFirstInitial(true); }; /* Hooks */ useDidMount(() => { initialize(); }); useEffect(() => { if (!isFirstInitial) return; if (storeUser.userSignOutUrl.url) { window.location.href = storeUser.userSignOutUrl.url; } setIsLoading(false); }, [storeUser.userSignOutUrl]); /* Main */ return (