Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2917 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Avatar, Box, Button, Typography, styled } from '@mui/material';
import Image from '@mui/icons-material/Image';
import Create from '@mui/icons-material/Create';
import Article from '@mui/icons-material/Article';
import PostAdd from '@mui/icons-material/PostAdd';
import Subscriptions from '@mui/icons-material/Subscriptions';

import { openShareModal } from '@app/redux/share-modal/shareModal.actions';
import { shareModalTypes } from '@app/redux/share-modal/shareModal.types';

import Widget from '@app/components/UI/Widget';
import Input from '@components/UI/inputs/Input';

const Option = styled(Button)(({ theme }) => ({
  borderRadius: '50%',
  cursor: 'pointer',
  padding: 5,
  minWidth: 'auto',
  span: {
    display: 'none'
  },
  '&:hover': {
    backgroundColor: 'whitesmoke'
  },
  [theme.breakpoints.up('md')]: {
    alignItems: 'center',
    borderRadius: theme.shape.borderRadius,
    display: 'inline-flex',
    gap: 1,
    flex: 1,
    span: {
      display: 'initial'
    }
  }
}));

const ShareComponent = ({ feedType, postUrl = '', image = '' }) => {
  const labels = useSelector(({ intl }) => intl.labels);
  const dispatch = useDispatch();

  const onClickHandler = (postType) => dispatch(openShareModal(postUrl, postType, feedType));

  return (
    <Widget>
      <Widget.Body>
        <Box
          sx={{
            display: 'flex',
            alignItems: 'center',
            marginBottom: 0.5,
            gap: 0.5
          }}
        >
          <Avatar
            src={image}
            sx={{
              width: { xs: 40, sm: 50 },
              height: { xs: 40, sm: 50 }
            }}
          />

          <Input
            type='text'
            placeholder={labels.what_are_you_thinking}
            onClick={() => onClickHandler(shareModalTypes.POST)}
            icon={<Create />}
            variant='search'
            readOnly
          />
        </Box>

        <Box
          sx={{
            display: 'flex',
            justifyContent: 'space-between',
            gap: 0.5
          }}
        >
          <Option onClick={() => onClickHandler(shareModalTypes.IMAGE)}>
            <Image sx={{ color: '#7405f9 !important' }} />
            <Typography variant='overline'>{labels.image}</Typography>
          </Option>

          <Option onClick={() => onClickHandler(shareModalTypes.VIDEO)}>
            <Subscriptions sx={{ color: '#E7A33E !important' }} />
            <Typography variant='overline'>{labels.video}</Typography>
          </Option>

          <Option onClick={() => onClickHandler(shareModalTypes.FILE)}>
            <Article sx={{ color: '#C0C8CD !important' }} />
            <Typography variant='overline'>{labels.document}</Typography>
          </Option>

          <Option onClick={() => onClickHandler(shareModalTypes.POST)}>
            <PostAdd sx={{ color: '#7FC15E !important' }} />
            <Typography variant='overline'>{labels.write}</Typography>
          </Option>
        </Box>
      </Widget.Body>
    </Widget>
  );
};

export default ShareComponent;