mirror of
https://github.com/rjNemo/devbook_ts
synced 2026-06-12 13:36:43 +00:00
refactor enhance to store
This commit is contained in:
parent
6215346269
commit
7bd8c49305
5 changed files with 15 additions and 23 deletions
|
|
@ -3,10 +3,8 @@ import React, {FC} from 'react';
|
||||||
import {Link} from 'react-router-dom';
|
import {Link} from 'react-router-dom';
|
||||||
import * as ROUTES from '../constants/routes';
|
import * as ROUTES from '../constants/routes';
|
||||||
//Redux
|
//Redux
|
||||||
import {compose} from '@reduxjs/toolkit';
|
import {WithFirebaseProps} from 'react-redux-firebase';
|
||||||
import {connect} from 'react-redux';
|
import {enhance} from '../store/firebase';
|
||||||
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
|
|
||||||
import {selectProfile} from '../store/firebase';
|
|
||||||
// Style
|
// Style
|
||||||
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
|
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
|
||||||
import {faCode, faSignOutAlt, faUser} from '@fortawesome/free-solid-svg-icons';
|
import {faCode, faSignOutAlt, faUser} from '@fortawesome/free-solid-svg-icons';
|
||||||
|
|
@ -89,6 +87,4 @@ const NavBar: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
/** connect HOC subscribes to the store */
|
/** connect HOC subscribes to the store */
|
||||||
|
|
||||||
const enhance = compose<FC>(connect(selectProfile), withFirebase);
|
|
||||||
export default enhance(NavBar);
|
export default enhance(NavBar);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
import React, {FC} from 'react';
|
import React, {FC} from 'react';
|
||||||
// Redux
|
// Redux
|
||||||
import {compose} from '@reduxjs/toolkit';
|
import {WithFirebaseProps} from 'react-redux-firebase';
|
||||||
import {connect} from 'react-redux';
|
import {enhance} from '../store/firebase';
|
||||||
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
|
|
||||||
import {selectProfile} from '../store/firebase';
|
|
||||||
// Routing
|
// Routing
|
||||||
import {Link} from 'react-router-dom';
|
import {Link} from 'react-router-dom';
|
||||||
import * as ROUTES from '../constants/routes';
|
import * as ROUTES from '../constants/routes';
|
||||||
|
|
@ -105,5 +103,4 @@ const Dashboard: FC<IProps> = ({
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const enhance = compose<FC>(connect(selectProfile), withFirebase);
|
|
||||||
export default enhance(Dashboard);
|
export default enhance(Dashboard);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
import React, {FC, useState} from 'react';
|
import React, {FC, useState} from 'react';
|
||||||
// Redux
|
// Redux
|
||||||
import {compose} from '@reduxjs/toolkit';
|
import {WithFirebaseProps} from 'react-redux-firebase';
|
||||||
import {connect} from 'react-redux';
|
import {enhance} from '../store/firebase';
|
||||||
import {WithFirebaseProps, withFirebase} from 'react-redux-firebase';
|
|
||||||
import {selectProfile} from '../store/firebase';
|
|
||||||
// Routing
|
// Routing
|
||||||
import {Link, Redirect} from 'react-router-dom';
|
import {Link, Redirect} from 'react-router-dom';
|
||||||
import * as ROUTES from '../constants/routes';
|
import * as ROUTES from '../constants/routes';
|
||||||
|
|
@ -107,6 +105,4 @@ const SignIn: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
/** subscribe to store and firebase */
|
/** subscribe to store and firebase */
|
||||||
const enhance = compose<FC<IProps>>(connect(selectProfile), withFirebase);
|
|
||||||
|
|
||||||
export default enhance(SignIn);
|
export default enhance(SignIn);
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,8 @@ import React, {FC, useState} from 'react';
|
||||||
import {Link, Redirect} from 'react-router-dom';
|
import {Link, Redirect} from 'react-router-dom';
|
||||||
import * as ROUTES from '../constants/routes';
|
import * as ROUTES from '../constants/routes';
|
||||||
// Redux
|
// Redux
|
||||||
import {compose} from 'redux';
|
import {WithFirebaseProps} from 'react-redux-firebase';
|
||||||
import {connect} from 'react-redux';
|
import {enhance} from '../store/firebase';
|
||||||
import {withFirebase, WithFirebaseProps} from 'react-redux-firebase';
|
|
||||||
import {selectProfile} from '../store/firebase';
|
|
||||||
import User, {newUser} from '../models/User';
|
import User, {newUser} from '../models/User';
|
||||||
// Style
|
// Style
|
||||||
import GoogleButton from 'react-google-button';
|
import GoogleButton from 'react-google-button';
|
||||||
|
|
@ -140,6 +138,4 @@ const SignUp: FC<IProps> = ({firebase, isEmpty, isLoaded}) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
/** subscribe to store and firebase */
|
/** subscribe to store and firebase */
|
||||||
const enhance = compose<FC<IProps>>(connect(selectProfile), withFirebase);
|
|
||||||
|
|
||||||
export default enhance(SignUp);
|
export default enhance(SignUp);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,13 @@
|
||||||
|
import {FC} from 'react';
|
||||||
|
// Redux
|
||||||
|
import {compose} from '@reduxjs/toolkit';
|
||||||
|
import {connect} from 'react-redux';
|
||||||
|
import {withFirebase} from 'react-redux-firebase';
|
||||||
import {RootState} from '..';
|
import {RootState} from '..';
|
||||||
|
|
||||||
/** export firebase authentication */
|
/** export firebase authentication */
|
||||||
export const selectAuthState = (state: RootState) => state.firebase.auth;
|
export const selectAuthState = (state: RootState) => state.firebase.auth;
|
||||||
/** export current user profile */
|
/** export current user profile */
|
||||||
export const selectProfile = (state: RootState) => state.firebase.profile;
|
export const selectProfile = (state: RootState) => state.firebase.profile;
|
||||||
|
/** subscribe to firebase and profile */
|
||||||
|
export const enhance = compose<FC>(connect(selectProfile), withFirebase);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue