index.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 } 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. const myId = ((JSON.parse(atob(localStorage.authToken.split('.')[1]))).sub.id)
  19. function Feed({ feed = [], me = {} }) {
  20. return (
  21. <Container sx={{
  22. width: '80%',
  23. mt: 1
  24. }}>
  25. <Box sx={{ flexGrow: 1 }}>
  26. <Grid2 container spacing={2}>
  27. <Grid2 xs={7}>
  28. <Item sx={{
  29. width: 500
  30. }}>
  31. <Stack spacing={2}>
  32. {feed.map(post => <Item key={post._id}><Card postData={post} /></Item>)}
  33. </Stack>
  34. </Item>
  35. </Grid2>
  36. <Grid2 xs={5}>
  37. <Item sx={{
  38. position: 'fixed'
  39. }}>
  40. <Me me={me} />
  41. </Item>
  42. </Grid2>
  43. </Grid2>
  44. </Box>
  45. </Container>
  46. )
  47. }
  48. store.dispatch(actionfindPosts())
  49. store.dispatch(actionFindUserOne(myId)) // скорее всего нужно будет переписать все через connect
  50. const Me = connect(state => ({ me: state?.promise?.UserFindOne?.payload }))(AboutMe)
  51. export const ReduxFeed = connect(state => ({ feed: state?.promise?.PostsFind?.payload }))(Feed)