import { applyMiddleware, combineReducers, createStore } from 'redux'; import thunk from 'redux-thunk'; import { Provider,connect } from 'react-redux'; import './App.scss'; import { backendURL, gql } from './helpers/gql'; import { useEffect, useState, useRef } from 'react'; import { authReducer } from './reducers/authReducer'; import {promiseReducer } from './reducers/promiseReducer'; import React, { Component } from 'react'; import {Router, Route, Link, Navigate, Switch, Redirect} from 'react-router-dom'; import { createBrowserHistory } from 'history' import LoginPage from './pages/LoginPage'; import RegisterPage from './pages/RegisterPage'; import {MainPage} from './pages/MainPage'; import { actionAuthLogout } from './actions/actionLogin'; import { actionPromise } from './actions/actionsPromise'; import { socket } from './actions/actionLogin'; import { actionAboutMe } from './actions/actionAboutMe'; import {chatReducer} from './reducers/chatReducer'; import ModalNewChat from './components/CreateNewChat'; import { modalReducer } from './reducers/modalReducer'; import { actionGetMessageFromSocket } from './actions/actionsMessages'; import { actionGetOneChat, actionLeftChat } from './actions/actionsForChats'; // import { uploadFile } from '../helpers/uploadFile'; export const history = createBrowserHistory(); export const store = createStore(combineReducers({ promise: promiseReducer, auth: authReducer, chats: chatReducer, modal: modalReducer }), applyMiddleware(thunk)) console.log(store.getState()) store.subscribe(() => console.log(store.getState())); if (localStorage.authToken) socket.emit('jwt', localStorage.authToken) socket.on('jwt_ok', data => console.log(data)) socket.on('jwt_fail', error => console.log(error)) socket.on('msg', msg => {console.log('from socket msg', msg); store.dispatch(actionGetMessageFromSocket(msg))}) socket.on('chat', chat => {console.log('from socket chat', chat); if (localStorage.authToken) {socket.emit('jwt', localStorage.authToken)}; store.dispatch(actionGetOneChat(chat._id))}) socket.on('chat_left', chat => {console.log('from socket chat_left', chat); store.dispatch(actionLeftChat(chat)) }); socket.on('media', media => console.log(media)); socket.on("connect", () => { console.log(socket.id) }) const AllRoutes = ({auth}) => { return ( {auth ? : } ) } const CAllRoutes = connect(state => ({auth : state.auth?.payload}))(AllRoutes) function App() { return (
); } export default App;