Fixed all firebase login issues. Added private routes. Reconfigured components and reorganized project.

This commit is contained in:
Patrick Fic
2019-12-06 16:51:43 -08:00
parent 1176b62d0b
commit 0de42d3fee
19 changed files with 232 additions and 146 deletions

View File

@@ -3,16 +3,13 @@
import React, { useState, useEffect } from "react";
import firebase from "../firebase/firebase.utils";
import App from "./App";
import { Spin } from "antd";
import { gql } from "apollo-boost";
import { useMutation } from "@apollo/react-hooks";
import { HttpLink } from "apollo-link-http";
import ApolloClient from "apollo-client";
import { InMemoryCache } from "apollo-cache-inmemory";
//import gql from "graphql-tag";
// on_conflict: { constraint: users_pkey, update_columns: [authid] }
import Spin from '../components/loading-spinner/loading-spinner.component'
const UPSERT_USER = gql`
mutation upsert_user($authEmail: String!, $authToken: String!) {
@@ -36,9 +33,6 @@ const client = new ApolloClient({
export default function Auth() {
const [authState, setAuthState] = useState({ status: "loading" });
// const [upsertUser] = useMutation(UPSERT_USER, {
// client
// });
useEffect(() => {
return firebase.auth().onAuthStateChanged(async user => {
@@ -57,7 +51,6 @@ export default function Auth() {
const idTokenResult = await user.getIdTokenResult();
const hasuraClaim =
idTokenResult.claims["https://hasura.io/jwt/claims"];
console.log("idTokenResult", idTokenResult);
if (hasuraClaim) {
setAuthState({ status: "in", user, token });
} else {
@@ -89,25 +82,14 @@ export default function Auth() {
let content;
if (authState.status === "loading") {
content = <Spin size="large" />;
content = <Spin />;
} else {
content = (
<>
<div>
{authState.status === "in" ? (
<div>
<h2>Welcome, {authState.user.displayName}</h2>
<button onClick={signOut}>Sign out</button>
</div>
) : (
<div>Sign in</div>
)}
</div>
<App authState={authState} />
</>
);
}
return <div className="auth">{content}</div>;
return <div className="app-container">{content}</div>;
}