1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import './App.css';
- import { BrowserRouter as Router, Route, Link, Switch, Redirect } from 'react-router-dom';
- import createHistory from "history/createBrowserHistory";
- import React, { useState } from 'react';
- import { Provider, connect } from 'react-redux';
- import store from './reducers';
- import { actionFullLogin, actionFullRegister, actionUploadFile, actionGetFile, actionFullAddChat, actionFullEditMSG, actionFullGetChats, actionAddMSG } from './actions';
- import { MyDropzone } from './components/dropzone';
- import { LoginForm } from './components/loginForm';
- import { RegistrationForm } from './components/registrationForm';
- import { ConnectChatOnline, ConnectMain } from './pages/main';
- //for tests
- // let msgARR = [{ "_id": "615e0b5fdd6e923e41f3348e", "text": "hi111", "createdAt": "1633553247000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e0c88dd6e923e41f3348f", "text": "hi111", "createdAt": "1633553544000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e0e02dd6e923e41f33490", "text": "hi111", "createdAt": "1633553922000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e102cdd6e923e41f33492", "text": "hi", "createdAt": "1633554476000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e113bdd6e923e41f33493", "text": "hi111", "createdAt": "1633554747000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e12cddd6e923e41f33495", "text": "hi111", "createdAt": "1633555149000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } },
- // { "_id": "615e146bdd6e923e41f33497", "text": "hi111", "createdAt": "1633555563000", "owner": { "login": "test1111", "_id": "61460c90ae7d905e54d32d11", "nick": null } }]
- // let chatsASS = {
- // 1: {
- // title: "первый",
- // lastModified: "токошо",
- // avatar: {
- // url: "/опа"
- // },
- // messages: [{}, {}, { text: "привет" }]
- // },
- // 2: {
- // title: "второй"
- // },
- // 3: {
- // title: "третий"
- // }
- // }
- const Preloading = ({ promiseName, promiseState, children }) => {
- return (
- <>
- {(promiseState[promiseName] && promiseState[promiseName].status === "RESOLVED") ? children : null}
- </>
- )
- }
- const CPreloading = connect(state => ({ promiseState: state.promise }))
- // const PrivateRoute = ({ component, roles, auth, fallback = "/login", ...originalProps }) => {
- // const PageWrapper = (pageProps) => {
- // const OriginalPage = component
- // //сопоставить роли с аус
- // if (пересечение роли с аус(ацл из него) в наличии) {
- // return <OriginalPage {...pageProps} />
- // } else {
- // return <Redirect to={fallback} />
- // }
- // }
- // return (
- // <Route component={PageWrapper} {...originalProps} />
- // )
- // }
- // const MyUltraRoute = connect(сделать аус)(PrivateRoute)
- const ConnectLoginForm = connect(null, { onLogin: actionFullLogin })(LoginForm)
- const ConnectRegistrationForm = connect(null, { onRegistration: actionFullRegister })(RegistrationForm)
- const ConnectDropZone = connect(null, { onUpload: actionUploadFile })(MyDropzone)
- store.subscribe(() => console.log(store.getState()))
- // console.log(store.dispatch(actionGetFile("61534453dd6e923e41f3344c")))
- // store.dispatch(actionFullGetChats("61460c90ae7d905e54d32d11"))
- function App() {
- return (
- <Provider store={store}>
- <Router history={createHistory()}>
- <div className="App">
- <Switch>
- <Route path="/registration" component={ConnectRegistrationForm} exact />
- <Route path="/login" component={ConnectLoginForm} exact />
- <Route path="/:_id" component={ConnectMain} />
- <Redirect from="/login" to="/chat" />
- <Redirect from="/" to="/chat" />
- </Switch>
- </div >
- </Router>
- </Provider>
- );
- }
- export default App;
|