import React, { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { configLogout, setApiKey } from '../reducers/configReducer'; import { userLogout } from '../reducers/currentUser'; import { ApiKeyReducer, ReduxSelector } from '../types/store'; import { User } from '../types/user'; import apiKeyInvalid from '../utils/apiKey'; import { fetchUserData } from '../utils/user'; export default function NavBar(): JSX.Element { const [state, setState] = useState({ apiKey: '', apiKeyError: '', loading: false, }); const dispatch = useDispatch(); const { apiKey: apiKeyFromRedux }: ApiKeyReducer = useSelector( (selector: ReduxSelector) => selector.config, ); const user: User | undefined = useSelector( (selector: ReduxSelector) => selector.currentUser.user, ); useEffect(() => { setState({ ...state, apiKey: apiKeyFromRedux }); }, [apiKeyFromRedux]); const signedInAs = () => { if (user) { return (
Signed in as {user.full_name}
); } else { return ; } }; const customRules = () => { if (user) { return (