// import React, { useEffect, useState } from 'react' // import { Router, Route, Redirect, withRouter, Switch } from 'react-router-dom'; // import { Provider, useSelector } from 'react-redux'; // import { store } from './components/redux/index'; // import createHistory from "history/createBrowserHistory"; // import './App.css'; // // import logo from './logo.svg'; // // импорт страниц // import { CUser } from './components/user'; // import { CFeed } from './components/feed'; // import { CComments } from './components/post'; // import { CreatePost } from './components/create_post'; // import AuthReg from './components/auth_reg'; // // import Header from './components/structure/header'; // import { CHeader } from './components/structure/header'; // import Footer from './components/structure/footer'; // import Search from './components/search'; // import Page404 from './components/404/page404'; // // url проекта // export const url = 'http://hipstagram.node.ed.asmer.org.ua/' // const history = createHistory() // // Приватный роутинг - удалить, если не буду использовать // { // // фейковый авторизатор // const fakeAuth = { // isAuthenticated: false, // authenticate(cb) { // this.isAuthenticated = true // setTimeout(cb, 100) // }, // signout(cb) { // this.isAuthenticated = false // setTimeout(cb, 100) // } // } // // кнопка разлогина, которая рисуется, если залогинен // const AuthButton = withRouter(({ history }) => ( // fakeAuth.isAuthenticated && ( //

// Welcome! //

// ) // )) // const PrivateRoute = ({ component: Component, ...rest }) => ( // ( // typeof localStorage.authToken === 'string' // ? // : // )} /> // ) // } // // роутинг в зависимости от того.залогинен пользователь или нет // const MainRoutes = () => { // const currentState = useSelector(state => state?.auth?.token) // return ( //
// {currentState // ? // // // // // // // // : // // // // // } //
// ) // } // export default function App() { // return ( // // //
// // //
//
//
//
// ) // } import React, { createContext, useContext, useEffect, useState } from 'react' import { Router, Route, Redirect, withRouter, Switch } from 'react-router-dom'; import { Provider, useSelector } from 'react-redux'; import { store } from './components/redux/index'; import createHistory from "history/createBrowserHistory"; import './App.css'; // import logo from './logo.svg'; // импорт страниц import { CUser } from './components/user'; import { CFeed } from './components/feed'; import { CComments } from './components/post'; import { CreatePost } from './components/create_post'; import AuthReg from './components/auth_reg'; // import Header from './components/structure/header'; import { CHeader } from './components/structure/header'; import Footer from './components/structure/footer'; import Search from './components/search'; import Page404 from './components/404/page404'; // url проекта export const url = 'http://hipstagram.node.ed.asmer.org.ua/' const history = createHistory() // общий контекст для модального окна export const ModalForCountsContext = createContext() export const UpdateProfile = createContext() // Приватный роутинг - удалить, если не буду использовать { // фейковый авторизатор const fakeAuth = { isAuthenticated: false, authenticate(cb) { this.isAuthenticated = true setTimeout(cb, 100) }, signout(cb) { this.isAuthenticated = false setTimeout(cb, 100) } } // кнопка разлогина, которая рисуется, если залогинен const AuthButton = withRouter(({ history }) => ( fakeAuth.isAuthenticated && (

Welcome!

) )) const PrivateRoute = ({ component: Component, ...rest }) => ( ( typeof localStorage.authToken === 'string' ? : )} /> ) } // роутинг в зависимости от того.залогинен пользователь или нет const MainRoutes = () => { const currentState = useSelector(state => state?.auth?.token) // функции управления открытием/закрытием модального окна const [modalName, setModalName] = useState('') const [modalArray, setModalArray] = useState([]) const [openModal, setOpenModal] = useState(false); const handleOpenModal = (param) => { setOpenModal(true) param.arr && setModalArray([...param.arr]) // идет проверка на null, из-за баги на беке? setModalName(param.name) } const handleCloseModal = () => { setOpenModal(false) setModalArray([]) } const aboutMe = useSelector(state => state?.promise?.AboutMe?.payload) const myFollowings = aboutMe?.following.map(item => { return { _id: item._id } }) // функция управления моими данными для обновления профиля const [updateProfile, setUpdateProfile] = useState({ _id: aboutMe?._id, login: aboutMe?.login, nick: aboutMe?.nick, avatar: { _id: aboutMe?.avatar?._id }, following: myFollowings }) // console.log('updateProfile: ', updateProfile) return (
{currentState ? : }
) } export default function App() { return (
) }