index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import * as React from 'react';
  2. import { connect } from 'react-redux';
  3. import { store } from '../redux';
  4. // import { url } from '../../App';
  5. import { Box, Stack, Paper } from '@mui/material';
  6. import { styled } from '@mui/material/styles';
  7. import { Container } from '@mui/system';
  8. import Grid2 from '@mui/material/Unstable_Grid2/Grid2';
  9. import { actionfindPosts, actionFindUserOne, actionFeedFindOne, actionFeedFind } from '../redux/action';
  10. import { RecipeReviewCard as Card } from './card_feed';
  11. import AboutMe from './aboutMe';
  12. // сам item для поста
  13. const Item = styled(Paper)(() => ({
  14. padding: '0 10px',
  15. borderRadius: 0,
  16. boxShadow: 'none',
  17. }))
  18. // забираем свой id из localStorage
  19. // const myId = ((JSON.parse(atob(localStorage.authToken.split('.')[1])))?.sub?.id)
  20. let myId
  21. if (localStorage.authToken !== undefined) {
  22. myId = (JSON.parse(atob(localStorage?.authToken?.split('.')[1]))).sub.id
  23. }
  24. // запрос на ленту постов моих подписчиков
  25. const arr = ["5d6fccfc5fce6722147978f2", "5d66e01dc6a7071408ac1e1c"]
  26. const sort = -1
  27. function Feed({ feed, me = {} }) {
  28. console.log('feed: ', feed)
  29. console.log('testFeed: ', store.getState().promise?.Feed?.status === 'FULFILLED')
  30. return (
  31. <Container sx={{
  32. width: '80%',
  33. mt: 1
  34. }}>
  35. <Box sx={{ flexGrow: 1 }}>
  36. <Grid2 container spacing={2}>
  37. <Grid2 xs={7}>
  38. <Item sx={{
  39. width: 500
  40. }}>
  41. <Stack spacing={2}>
  42. {feed && feed.map(post => <Item key={post._id}><Card postData={post} /></Item>)}
  43. </Stack>
  44. </Item>
  45. </Grid2>
  46. <Grid2 xs={5}>
  47. <Item sx={{
  48. position: 'fixed'
  49. }}>
  50. <Me me={me} />
  51. </Item>
  52. </Grid2>
  53. </Grid2>
  54. </Box>
  55. </Container>
  56. )
  57. }
  58. // ===========================
  59. // test
  60. store.dispatch(actionFeedFind(myId, sort))
  61. const Me = connect(state => ({ me: state?.promise?.UserFindOne?.payload }))(AboutMe)
  62. export const ReduxFeed = connect(state => ({ feed: state.promise?.Feed?.payload }))(Feed)
  63. // ==============================
  64. // загружаем список подписчиков
  65. // store.dispatch(actionFeedFindOne(arr, sort))
  66. // export const ReduxFeed = connect(state => ({ feed: state?.promise?.Feed?.payload }))(Feed)
  67. // загрузка данных залогиненого пользователя справа(скорее всего нужно будет переписать все через connect)
  68. // store.dispatch(actionFindUserOne(myId))
  69. // const Me = connect(state => ({ me: state?.promise?.UserFindOne?.payload }))(AboutMe)
  70. // ===============================
  71. // загрузка ленты всех постов из базы
  72. // store.dispatch(actionfindPosts())
  73. // export const ReduxFeed = connect(state => ({ feed: state?.promise?.PostsFind?.payload }))(Feed)