|
@@ -5,7 +5,7 @@ import { Router, Route, Link, Redirect, Switch, useParams } from 'react-router-d
|
|
|
import { createStore, combineRedusers, applyMiddleware } from 'redux';
|
|
|
import thunk from 'redux-thunk';
|
|
|
import { Provider, connect, useDispatch, useSelector } from 'react-redux';
|
|
|
-import Feed from './components/feed';
|
|
|
+// import Feed from './components/feed';
|
|
|
import User from './components/user';
|
|
|
|
|
|
// импорт страниц
|
|
@@ -13,6 +13,8 @@ import AsideMenu from './components/pages/structure/aside_menu';
|
|
|
|
|
|
|
|
|
import { ReduxFeed } from './components/feed';
|
|
|
+import { CComments } from './components/post';
|
|
|
+import { CreatePost } from './components/pages/create_post';
|
|
|
|
|
|
|
|
|
|
|
@@ -33,11 +35,8 @@ function promiseReducer(state = {}, { type, status, payload, error, nameOfPromis
|
|
|
|
|
|
// акшоны для promiseReducer
|
|
|
const actionPending = nameOfPromise => ({ nameOfPromise, type: 'PROMISE', status: 'PENDING' })
|
|
|
-
|
|
|
const actionFulfilled = (nameOfPromise, payload) => ({ nameOfPromise, type: 'PROMISE', status: 'FULFILLED', payload })
|
|
|
-
|
|
|
const actionRejected = (nameOfPromise, error) => ({ nameOfPromise, type: 'PROMISE', status: 'REJECTED', error })
|
|
|
-
|
|
|
const actionPromise = (nameOfPromise, promise) =>
|
|
|
async dispatch => {
|
|
|
dispatch(actionPending(nameOfPromise)) //сигнализируем redux, что промис начался
|
|
@@ -102,7 +101,7 @@ const actionfindPosts = () => actionPromise('PostsFind', gql(`query AllPostsFind
|
|
|
}))
|
|
|
|
|
|
// запрос на конкретный пост
|
|
|
-const actionFindPostOne = _id => actionPromise('PostFindOne', gql(`query OnePostFind ($postOne: String){
|
|
|
+export const actionFindPostOne = _id => actionPromise('PostFindOne', gql(`query OnePostFind ($postOne: String){
|
|
|
PostFindOne (query: $postOne) {
|
|
|
_id createdAt title text likesCount
|
|
|
images {
|
|
@@ -168,10 +167,7 @@ const Registration = () =>
|
|
|
Регистрация
|
|
|
</div>
|
|
|
|
|
|
-const CreatePost = () =>
|
|
|
- <div>
|
|
|
- Страницв создания поста
|
|
|
- </div>
|
|
|
+
|
|
|
|
|
|
const PageAbout = () =>
|
|
|
<div>
|
|
@@ -184,28 +180,44 @@ const Page404 = () =>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// ==================================================
|
|
|
// страница одного поста
|
|
|
-const CComments = connect(state => ({ post: state?.PostFindOne?.payload }), { loadPost: actionFindPostOne })(Comments)
|
|
|
+// const CComments = connect(state => ({ post: state?.PostFindOne?.payload }), { loadPost: actionFindPostOne })(Comments)
|
|
|
+
|
|
|
+
|
|
|
+// function Comments({ post = {}, loadPost }) {
|
|
|
+
|
|
|
+// const { postId } = useParams() // отслеживаем изменения в урле
|
|
|
+// // const post2 = useSelector(state => state?.CategoryGoodsAndSubCategoryGoods?.payload)
|
|
|
+// console.log(66, postId)
|
|
|
+
|
|
|
+// useEffect(() => { loadPost(postId) }, [postId]) // перезапускаем loadPost, если произошло изменение в урле
|
|
|
+
|
|
|
+// // console.log(post)
|
|
|
+
|
|
|
+// return (
|
|
|
+// <div>
|
|
|
+// {/* <div>{user} and {postId}</div> */}
|
|
|
+// тут будут отображаться все комментарии под постом
|
|
|
+// <h2>{post.createdAt}</h2>
|
|
|
+// </div>
|
|
|
+// )
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-function Comments({ post = {}, loadPost }) {
|
|
|
|
|
|
- const { postId } = useParams() // отслеживаем изменения в урле
|
|
|
- // const post2 = useSelector(state => state?.CategoryGoodsAndSubCategoryGoods?.payload)
|
|
|
- console.log(66, postId)
|
|
|
|
|
|
- useEffect(() => { loadPost(postId) }, [postId]) // перезапускаем loadPost, если произошло изменение в урле
|
|
|
|
|
|
- // console.log(post)
|
|
|
|
|
|
- return (
|
|
|
- <div>
|
|
|
- {/* <div>{user} and {postId}</div> */}
|
|
|
- тут будут отображаться все комментарии под постом
|
|
|
- <h2>{post.createdAt}</h2>
|
|
|
- </div>
|
|
|
- )
|
|
|
-}
|
|
|
|
|
|
// ==================================================
|
|
|
// страница юзера
|