diff --git a/packages/poolbase-app/src/app/components/FirebaseAuth.tsx b/packages/poolbase-app/src/app/components/FirebaseAuth.tsx index a87acd6..5fbecff 100755 --- a/packages/poolbase-app/src/app/components/FirebaseAuth.tsx +++ b/packages/poolbase-app/src/app/components/FirebaseAuth.tsx @@ -18,7 +18,6 @@ const firebaseAuthConfig = { requireDisplayName: false, }, ], - signInSuccessUrl: '/', credentialHelper: 'none', } diff --git a/packages/poolbase-app/src/app/components/PageLayout.tsx b/packages/poolbase-app/src/app/components/PageLayout.tsx new file mode 100644 index 0000000..27dc7e5 --- /dev/null +++ b/packages/poolbase-app/src/app/components/PageLayout.tsx @@ -0,0 +1,54 @@ +import React, { Props } from 'react'; +import { get } from 'lodash/object'; +import Link from 'next/link'; +import Router from 'next/router'; +import { Styled } from 'theme-ui'; + +import logout from '../utils/auth/logout'; +import { PropsWithAuthUserInfo } from '../interfaces'; +import withAuthUserInfo from '../utils/pageWrappers/withAuthUserInfo'; +import Header from './Header'; +import FirebaseAuth from './FirebaseAuth'; + +const PageLayout: React.FC = props => { + const { AuthUserInfo, children } = props; + const AuthUser = get(AuthUserInfo, 'AuthUser', null); + return ( +
+ {!AuthUser ? ( +
+

Sign in

+
+ +
+
+ ) : ( +
+
+

You're signed in. Email: {AuthUser.email}

+

{ + try { + await logout(); + Router.push('/') + } catch (e) { + console.error(e); + } + }} + > + Log out +

+
{children}
+
+ )} +
+ ); +}; + +export default withAuthUserInfo(PageLayout); diff --git a/packages/poolbase-app/src/app/pages/_app.tsx b/packages/poolbase-app/src/app/pages/_app.tsx index 0b01c68..549db3c 100644 --- a/packages/poolbase-app/src/app/pages/_app.tsx +++ b/packages/poolbase-app/src/app/pages/_app.tsx @@ -2,7 +2,6 @@ import React from 'react'; import App from 'next/app'; import { ThemeProvider } from 'theme-ui'; -import Header from '../components/Header'; import theme from '../theme'; class MyApp extends App { @@ -10,10 +9,7 @@ class MyApp extends App { const { Component, pageProps } = this.props; return ( -
-
-
); } diff --git a/packages/poolbase-app/src/app/pages/auth.tsx b/packages/poolbase-app/src/app/pages/auth.tsx deleted file mode 100755 index 4b6182a..0000000 --- a/packages/poolbase-app/src/app/pages/auth.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react' -import FirebaseAuth from '../components/FirebaseAuth' - -const Auth = () => { - return ( -
-

Sign in

-
- -
-
- ) -} - -Auth.propTypes = {} - -export default Auth diff --git a/packages/poolbase-app/src/app/pages/index.tsx b/packages/poolbase-app/src/app/pages/index.tsx index f8ad44d..7962c2e 100644 --- a/packages/poolbase-app/src/app/pages/index.tsx +++ b/packages/poolbase-app/src/app/pages/index.tsx @@ -1,64 +1,24 @@ import * as React from 'react'; import { NextPage } from 'next'; -import { Styled } from 'theme-ui'; import { get } from 'lodash/object'; -import Link from 'next/link'; -import Router from 'next/router'; import withAuthUser from '../utils/pageWrappers/withAuthUser'; -import withAuthUserInfo from '../utils/pageWrappers/withAuthUserInfo'; -import logout from '../utils/auth/logout'; -import {PropsWithAuthUserInfo} from '../interfaces' -import firebase from 'firebase/app'; +import firebase from 'firebase/app'; +import PageLayout from '../components/PageLayout' import initFirebase from '../utils/auth/initFirebase'; initFirebase(); -type HomePageProps = PropsWithAuthUserInfo & { +type HomePageProps = { data: any; }; const HomePage = (props: HomePageProps) => { - const { AuthUserInfo, data } = props; - const AuthUser = get(AuthUserInfo, 'AuthUser', null); + const { data } = props; return ( -
- Welcome - {!AuthUser ? ( -

- You are not signed in.{' '} - - Sign in - -

- ) : ( -
-

You're signed in. Email: {AuthUser.email}

-

{ - try { - await logout(); - Router.push('/auth'); - } catch (e) { - console.error(e); - } - }} - > - Log out -

-
- {data.map(page => ( -

{page.title}

- ))} -
-
- )} -
+ + {data.map(page => (

{page.title}

+ ))} +
); }; @@ -86,4 +46,4 @@ HomePage.defaultProps = { AuthUserInfo: null, }; -export default withAuthUser(withAuthUserInfo(HomePage)); +export default withAuthUser(HomePage);