diff --git a/client/src/App/App.js b/client/src/App/App.js index ac2111752..d6159b39b 100644 --- a/client/src/App/App.js +++ b/client/src/App/App.js @@ -1,20 +1,16 @@ -import { useApolloClient } from "@apollo/react-hooks"; import i18next from "i18next"; -import React, { lazy, Suspense, useEffect, useState } from "react"; +import React, { lazy, Suspense, useEffect } from "react"; +import { connect } from "react-redux"; import { Route, Switch } from "react-router-dom"; +import { createStructuredSelector } from "reselect"; import ErrorBoundary from "../components/error-boundary/error-boundary.component"; //Component Imports import LoadingSpinner from "../components/loading-spinner/loading-spinner.component"; -import { auth } from "../firebase/firebase.utils"; -import { UPSERT_USER } from "../graphql/user.queries"; -import { connect } from "react-redux"; -import { createStructuredSelector } from "reselect"; - +import { checkUserSession } from "../redux/user/user.actions"; +import { selectCurrentUser } from "../redux/user/user.selectors"; // import { QUERY_BODYSHOP } from "../graphql/bodyshop.queries"; import PrivateRoute from "../utils/private-route"; import "./App.css"; -import { checkUserSession } from "../redux/user/user.actions"; -import { selectCurrentUser } from "../redux/user/user.selectors"; const LandingPage = lazy(() => import("../pages/landing/landing.page")); const ManagePage = lazy(() => import("../pages/manage/manage.page")); @@ -26,11 +22,9 @@ const Unauthorized = lazy(() => const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser }); - const mapDispatchToProps = dispatch => ({ checkUserSession: () => dispatch(checkUserSession()) }); - export default connect( mapStateToProps, mapDispatchToProps @@ -40,42 +34,6 @@ export default connect( return () => {}; }, [checkUserSession]); - // useEffect(() => { - // //Run the auth code only on the first render. - // const unsubscribeFromAuth = auth.onAuthStateChanged(async user => { - // console.log("onAuthStateChanged: User:", user); - // if (user) { - // let token; - // token = await user.getIdToken(); - - // //add the bearer token to the headers. - // localStorage.setItem("token", token); - // const now = new Date(); - // window.sessionStorage.setItem(`lastTokenRefreshTime`, now); - - // //token = await user.getIdToken(true); //how to refresh the token. - - // apolloClient - // .mutate({ - // mutation: UPSERT_USER, - // variables: { authEmail: user.email, authToken: user.uid } - // }) - // .then() - // .catch(error => { - // console.log("User login upsert error.", error); - // }); - - // } else { - // localStorage.removeItem("token"); - // } - // setloaded(true); - // }); - - // return function cleanup() { - // unsubscribeFromAuth(); - // }; - // }, [apolloClient]); - if (false) i18next.changeLanguage("en_US", (err, t) => { if (err) diff --git a/client/src/components/current-user-dropdown/current-user-dropdown.component.jsx b/client/src/components/current-user-dropdown/current-user-dropdown.component.jsx index f7735f5d0..dbf6b6a45 100644 --- a/client/src/components/current-user-dropdown/current-user-dropdown.component.jsx +++ b/client/src/components/current-user-dropdown/current-user-dropdown.component.jsx @@ -1,4 +1,3 @@ -import { useApolloClient } from "@apollo/react-hooks"; import { Avatar, Col, Dropdown, Icon, Menu, Row } from "antd"; import i18next from "i18next"; import React from "react"; @@ -7,6 +6,7 @@ import { connect } from "react-redux"; import { Link } from "react-router-dom"; import { createStructuredSelector } from "reselect"; import UserImage from "../../assets/User.svg"; +import { setUserLanguage, signOutStart } from "../../redux/user/user.actions"; import { selectCurrentUser } from "../../redux/user/user.selectors"; import SignOut from "../sign-out/sign-out.component"; @@ -15,30 +15,30 @@ const mapStateToProps = createStructuredSelector({ }); const mapDispatchToProps = dispatch => ({ - // signOutStart: () => dispatch(signOutStart()) + signOutStart: () => dispatch(signOutStart()), + setUserLanguage: language => dispatch(setUserLanguage(language)) }); export default connect( mapStateToProps, mapDispatchToProps -)(function CurrentUserDropdown({ currentUser }) { +)(function CurrentUserDropdown({ currentUser, signOutStart, setUserLanguage }) { const { t } = useTranslation(); - const client = useApolloClient(); - const handleMenuClick = e => { if (e.item.props.actiontype === "lang-select") { i18next.changeLanguage(e.key, (err, t) => { if (err) return console.log("Error encountered when changing languages.", err); - client.writeData({ data: { language: e.key } }); + setUserLanguage(e.key); + console.log("clicking"); }); } }; const menu = (