Skip to content
Snippets Groups Projects
ExpandedMaterials.js 4.84 KiB
Newer Older
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import styled from 'styled-components';
import Chip from '@material-ui/core/Chip';
import Grid from '@material-ui/core/Grid';
lfr20's avatar
lfr20 committed
import Button from '@material-ui/core/Button';
lfr20's avatar
lfr20 committed
import TopicCard from './TopicCard';
lfr20's avatar
lfr20 committed
import Paper from '@material-ui/core/Paper';
import Library from '@material-ui/icons/LibraryBooks';
lfr20's avatar
lfr20 committed
import { Link } from 'react-router-dom';

const useStyles = makeStyles((theme) => ({
    root: {
        display: 'flex',
        flexWrap: 'wrap',
        '& > *': {
            margin: theme.spacing(0.5),
        },
    },
}));

const ExpandedMaterial = (props) => {
    const material = { ...props.material };
    const classes = useStyles();

    return (
lfr20's avatar
lfr20 committed
        <Paper className={`${props.contrast}Border`} elevation={3} style={props.contrast === "" ? { backgroundColor: "#444444", padding: "20px" } : { backgroundColor: "black", padding: "20px" }}>
lfr20's avatar
lfr20 committed
            <Grid container direction="row" spacing={2}>
lfr20's avatar
lfr20 committed
                <Grid item direction="column" xs={12} md={4}>
                    <Grid item>
                        <Title variant="body2">
                            {
                                material.name
                            }
                        </Title>
                    </Grid>
lfr20's avatar
lfr20 committed
                    <SizedHeightBox />
                    <Grid item>
                        <ChipsDiv className={classes.root}>
                            {
                                material.tags.map((tag, index) => {
                                    return (
lfr20's avatar
lfr20 committed
                                        <Chip className={`${props.contrast}Text ${props.contrast}BackColor`} label={tag.name} key={index} style={props.contrast === "" ? { padding: "0.5px" } : {border: "1px solid white"}} />
lfr20's avatar
lfr20 committed
                    <SizedHeightBox2 />
                    <Grid item direction="column" style={{ color: '#E5E7E9', fontWeight: "500" }}>
                        <DevelopedByDiv>
lfr20's avatar
lfr20 committed
                                `Desenvolvido por: ${material.developed}`
lfr20's avatar
lfr20 committed
                        </DevelopedByDiv>
                        <SizedHeightBox3 />
lfr20's avatar
lfr20 committed
                        <StyledLink to={`/colecao?colecao=${material.id}`}>
lfr20's avatar
lfr20 committed
                            <Button className={`${props.contrast}LinkColor ContrastText`} variant="contained" style={props.contrast === "" ? { background: "#e8224f" } : { background: "black" }}>
lfr20's avatar
lfr20 committed
                                Ver todos
                            </Button>
                        </StyledLink>
lfr20's avatar
lfr20 committed
                    </Grid>
                </Grid>
lfr20's avatar
lfr20 committed
                <Grid item direction="column" xs={12} md={8}>
                    <Grid container direction="row">
lfr20's avatar
lfr20 committed
                        <Library style={{ color: "White" }} />
                        <SizedWidthBox />
                        <Title>
                            {material.topics.length} módulos
                        </Title>
                    </Grid>
                    <SizedHeightBox />
lfr20's avatar
lfr20 committed
                    <Grid container direction="row" justify="center" alignItems="center" spacing={3}>
lfr20's avatar
lfr20 committed
                        <Grid item md={4}>
lfr20's avatar
lfr20 committed
                            <TopicCard
lfr20's avatar
lfr20 committed
                                topic={material.topics[0]}
                                colecao_id={material.id}
lfr20's avatar
lfr20 committed
                            />
                        </Grid>
                        <Grid item md={4}>
lfr20's avatar
lfr20 committed
                            <TopicCard
lfr20's avatar
lfr20 committed
                                topic={material.topics[1]}
                                colecao_id={material.id}
lfr20's avatar
lfr20 committed
                            />
lfr20's avatar
lfr20 committed
                        </Grid>
                        <Grid item md={4}>
lfr20's avatar
lfr20 committed
                            <TopicCard
lfr20's avatar
lfr20 committed
                                topic={material.topics[2]}
                                colecao_id={material.id}
lfr20's avatar
lfr20 committed
                            />
                        </Grid>
lfr20's avatar
lfr20 committed
                    </Grid>
lfr20's avatar
lfr20 committed
        </Paper>
    );
}

const Title = styled.h3`
    color: White;
    font-weight: 500;
    padding : 0; 
    margin  : 0; 
`
lfr20's avatar
lfr20 committed
const DevelopedByDiv = styled.div`
`

const ChipsDiv = styled.div`
    margin-left : -5px;
`
lfr20's avatar
lfr20 committed
const SizedHeightBox = styled.div`    
    height : 3em;
lfr20's avatar
lfr20 committed
const SizedHeightBox2 = styled.div`    
    height : 2em;
`
const SizedHeightBox3 = styled.div`    
    height : 0.5em;
`
const SizedWidthBox = styled.div`
  width : 5px;
lfr20's avatar
lfr20 committed
const StyledLink = styled(Link)`
	text-decoration: none !important;
	color: inherit !important;
`


export default ExpandedMaterial;