Browse Source

Merge branch 'dev' of http://gitlab.a-level.com.ua/Entony/FEA_12_TRIATHLON into dev

Tanya Sashyna 5 years ago
parent
commit
fd3326abdd

+ 4 - 1
src/actions/login.js

@@ -30,7 +30,10 @@ export const postLoginSubmit = payload => {
         dispatch(postLogin())
 
         promise.then(
-            data => data.json().then(data => dispatch(postLoginSuccess(data))),
+            data => data.json().then(data => {
+                writeLocalStorage(data);
+                dispatch(postLoginSuccess(data))
+            }),
             error => dispatch(postLoginError(error))
         )
     }

+ 3 - 11
src/actions/logout.js

@@ -18,21 +18,13 @@ export const getLogoutUserError = payload => ({
 export const getLogoutUserSubmit = () => {
     return dispatch => {
         let promise = fetch("https://api-marathon.herokuapp.com/api/v1/auth/logout")
-        console.log('getLogoutUserSubmit');
+        //console.log('getLogoutUserSubmit');
 
         dispatch(getLogoutUser())
 
         promise.then(
-            data => data.json().then(data => {
-                localStorage.removeItem('user');
-                dispatch(getLogoutUserSuccess(data))
-        }),
+            data => data.json().then(data => dispatch(getLogoutUserSuccess(data))),
             error => dispatch(getLogoutUserError(error))
         )
     }
-}
-
-// export const clearLocalStorage = () => {
-//     localStorage.removeItem('user');
-//     document.location.reload(true);
-// }
+}

+ 1 - 1
src/components/adminHeader/adminHeader.js

@@ -8,7 +8,7 @@ const adminHeader = props => {
 	
 	const logout = (e) => {
         localStorage.removeItem('user');
-        document.location.reload(true);
+        props.history.push('/')
     }
 
 	return (

+ 2 - 5
src/components/adminMenu/adminMenu.js

@@ -11,8 +11,7 @@ class AdminMenu extends Component {
     }
 
     clickEventHandler = (e) => {
-        const elem = adminMenu.find(el => el.id === +e.target.id)
-        this.props.history.push(elem.path)
+        this.props.history.push(e)
     }
 
     render() {
@@ -23,10 +22,8 @@ class AdminMenu extends Component {
                     el.text !== "Log out" && el.text !== "Main Page" &&
                     <div
                         className="menu-skew"
-                        path={el.path}
                         key={el.id}
-                        id={el.id}
-                        onClick={this.clickEventHandler}
+                        onClick={this.clickEventHandler.bind(null, el.path)}
                     >
                         <h2 className="menu-text">{el.text.toUpperCase()}</h2>
                         {/* <Link to={el.path} className = "menu-text">{el.text.toUpperCase()}</Link>  */}

+ 1 - 1
src/components/adminPhotogalary/adminPhotogalaryReduxForm.js

@@ -107,7 +107,7 @@ class PhotogalaryReduxForm extends Component {
 
     render() {
         const { filteredEventList, addPhotogalaryInitialValue } = this.state;
-        // console.log(this.state)
+        // console.log(this.state )
 
         const {
             handleSubmit,

+ 7 - 4
src/components/sidebar/Sidebar.js

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Link } from "react-router-dom";
+import { Link, withRouter } from "react-router-dom";
 import { connect } from "react-redux";
 
 import { showSidebar } from "../../actions/show-sidebar";
@@ -37,11 +37,14 @@ const siteMenu = [
 
 export class Sidebar extends React.Component {
     logoutHandler = () => {
+        localStorage.removeItem('user');
+        this.props.history.push('/');
         this.props.getLogoutUserSubmit()
     }
+
     render() {
         
-	    const { showSidebar, showSidebarFlag, getLogoutUserSubmit } = this.props;
+	    const { showSidebar, showSidebarFlag } = this.props;
         return (
             <div className={ !showSidebarFlag ? 'menu close' : 'menu' }>
                 <nav>
@@ -67,7 +70,7 @@ export class Sidebar extends React.Component {
 						}
                         {
                             localStorage.user && <li>
-                                <button className="logout" onClick={getLogoutUserSubmit}>
+                                <button className="logout" onClick={this.logoutHandler}>
                                     <i className="fa fa-sign-out"></i>
                                 </button>
                             </li>
@@ -94,4 +97,4 @@ const mapStateToProps = state => {
 export default connect(
     mapStateToProps,
     { showSidebar, getLogoutUserSubmit }
-)(Sidebar);
+)(withRouter(Sidebar));

+ 0 - 1
src/conteiners/adminAddEventPage/adminAddEventPage.js

@@ -8,7 +8,6 @@ import ConfirmationMessage from "../../components/confirmationMessage/confirmati
 
 class AdminAddEventPage extends Component {
     state = { 
-        // eventFormInitialValue: eventFormInitialValue.eventFormInitialValue,
         confirmationMessageFlag: false
      };
 

+ 16 - 3
src/conteiners/adminPhotogalaryPage/adminPhotogalaryPage.js

@@ -5,17 +5,26 @@ import * as actions from "../../actions/photogalaryActions";
 // import {photogalaryOnchange} from "../../actions/photogalaryActions";
 import AdminHeader from "../../components/adminHeader/adminHeader";
 import PhotogalaryForm from "../../components/adminPhotogalary/adminPhotogalaryReduxForm";
-// import {eventFormInitialValue} from "../../state/addEventInitialValue"
+import ConfirmationMessage from "../../components/confirmationMessage/confirmationMessage";
 
 class AdminAddPhotogalarytPage extends Component {
-    // state = { 
-    //  };
+    state = { 
+        confirmationMessageFlag: false
+     };
 
     componentDidMount() {
         this.props.getEvents();
         this.props.getPhotogalary()
     }
 
+    showConfirmationMessage = () => {
+        this.setState({confirmationMessageFlag: true })
+        document.location.reload(true);
+    };
+    closeConfirmationMessage = () => {
+        this.setState({confirmationMessageFlag: false })
+    };
+
     render() {
         const {
             eventTypes,
@@ -46,6 +55,10 @@ class AdminAddPhotogalarytPage extends Component {
                             // initialValues = {addPhotogalaryInitialValue}
                         />
                     </div>
+                    {this.state.confirmationMessageFlag && 
+                        <ConfirmationMessage closeMessage = {this.closeConfirmationMessage}>
+                            <div className = "text">Photogalary has beed added.</div>
+                        </ConfirmationMessage >}
                 </div>
             </>
 		);

+ 0 - 2
src/conteiners/login/Login.js

@@ -11,8 +11,6 @@ import LoginForm from '../../components/login-form/LoginForm';
 export class Login extends React.Component {
     render() {
         const { postLoginSubmit } = this.props;
-        // const history = this.props.history;
-        //console.log(this.props);
         return (
             <div>
                 <LoginForm postLoginSubmit={postLoginSubmit}/>

+ 2 - 2
src/conteiners/profile/Profile.js

@@ -7,8 +7,8 @@ import Sidebar from '../../components/sidebar/Sidebar';
 
 export class Profile extends React.Component {
     render() {
-	const {user} = this.props;
-	console.log(user);
+    console.log('profileUser',JSON.parse(localStorage.user).user);
+    
         return (
             <>
                 <Sidebar/>

+ 2 - 0
src/private-router.js

@@ -7,7 +7,9 @@ export const PrivateRoute = ({ component: Component, protectedRoute, ...rest })
 		render={props => {
 			if (protectedRoute) {
 				const user = localStorage.getItem("user");
+				//console.log('user')
 				if (!user) {
+					//console.log('user')
 					return <Redirect to="/" />;
 				}
 

+ 4 - 8
src/reducers/login.js

@@ -1,9 +1,7 @@
 import * as types from "../actionTypes/actionTypes";
-import { writeLocalStorage } from "../actions/login";
 
 const initialState = {
-    user: {},
-    showProfile: false
+    user: {}
 }
 
 export default (state = initialState, action) => {
@@ -12,13 +10,11 @@ export default (state = initialState, action) => {
             return state;
         }
 
-        case types.POST_REQUEST_SUCCESS_LOGIN: {
-            writeLocalStorage(action.payload.user);
-            
+        case types.POST_REQUEST_SUCCESS_LOGIN: {   
+            //console.log('action.payload.user',action.payload.user);
             return {
                 ...state,
-                user: action.payload.user,
-				showProfile: true
+                user: action.payload.user
             };
         }
 

+ 1 - 4
src/reducers/logout.js

@@ -1,5 +1,4 @@
 import * as types from "../actionTypes/actionTypes";
-// import { clearLocalStorage } from "../actions/logout";
 
 const initialState = {
     logOut: false
@@ -12,9 +11,7 @@ export default (state = initialState, action) => {
         }
 
         case types.GET_LOGOUT_USER_SUCCESS: {
-            //console.log('logout',action.payload.logOut);
-            // clearLocalStorage();
-            
+            //console.log('logout',action.payload.logOut);            
             return state
         }
 

+ 9 - 9
src/router.js

@@ -2,8 +2,6 @@ import React, {useEffect } from "react";
 import { Switch, withRouter } from "react-router-dom";
 import { connect } from "react-redux";
 
-//import { getAllEvents } from "./actions/getAllEvents";
-
 import AdminMainPage from './conteiners/adminMainPage/adminMainPage';
 import AdminAddEventPage from './conteiners/adminAddEventPage/adminAddEventPage';
 import AdminMyEventsPage from './conteiners/adminMyEventsPage/adminMyEventsPage';
@@ -128,19 +126,21 @@ const route = [
 ];
 
 const Router = withRouter(({ history, user }) => {
-
 	useEffect(() => {
-		const user = localStorage.getItem("user");
-		if (user) {
-			const userRole = JSON.parse(user).role;
+		const userl = localStorage.getItem("user");
+
+		if (userl) {
+			const userRole = JSON.parse(userl).user.role;
+
 			if (userRole === 'admin') {
 				history.push("/admin");
-            }
+			}
+			
             if (userRole === 'user') {
 				history.push("/profile");
 			}
 		}
-	}, [user]);
+	}, [history, user]);
 
 	return (
 		<div className="container">
@@ -166,5 +166,5 @@ const mapStateToProps = state => {
 };
 
 export default connect(
-    mapStateToProps
+	mapStateToProps
 )(Router);

+ 4 - 4
src/state/adminMenu.js

@@ -1,10 +1,10 @@
 export const adminMenu = [
-	{ path: "/admin", id: 0, text: "Main Page", logout: false },
+	// { path: "/admin", id: 0, text: "Main Page", logout: false },
 	{ path: "/admin/add_new_event", id: 1, text: "Add New Event", logout: false },
 	{ path: "/admin/my_events", id: 2, text: "My Events", logout: false },
-	{ path: "/admin/feedbacks", id: 3, text: "Feedbacks", logout: false },
-    { path: "/admin/photogalary", id: 4, text: "Add Photogalery", logout: false },
-	{ path: "/admin/results", id: 5, text: "Add Results", logout: false },
+    { path: "/admin/photogalary", id: 3, text: "Add Photogalery", logout: false },
+	{ path: "/admin/results", id: 4, text: "Add Results", logout: false },
+	{ path: "/admin/feedbacks", id: 5, text: "Feedbacks", logout: false },
 	{ path: "/", id: 6, text: "Go to WebSite", logout: false },
 	{ path: "/", id: 7, text: "Log out", logout: true }
 ];