Skip to content
Snippets Groups Projects
CollectionDescription.js 2.88 KiB
Newer Older
Raul Almeida's avatar
Raul Almeida committed
/*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre
Departamento de Informatica - Universidade Federal do Parana

This file is part of Plataforma Integrada MEC.

Plataforma Integrada MEC is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Plataforma Integrada MEC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/

import React, { useState, useEffect } from 'react';
Raul Almeida's avatar
Raul Almeida committed
import axios from 'axios';
Raul Almeida's avatar
Raul Almeida committed
import { Grid } from '@material-ui/core';
import styled from 'styled-components';
import CollectionReview from './CollectionReview.js';
import { apiUrl, apiDomain } from '../env';
Raul Almeida's avatar
Raul Almeida committed

export default function CollectionDescription(props) {
	// eslint-disable-next-line
Raul Almeida's avatar
Raul Almeida committed
	const [download_url, setDownloadUrl] = useState('');
Raul Almeida's avatar
Raul Almeida committed

Raul Almeida's avatar
Raul Almeida committed
	useEffect(() => {
		const body = {
			"package": {
lfr20's avatar
lfr20 committed
				"object": [{ "type": "Collection", "id": props.collection_id }]
			}
		};
Raul Almeida's avatar
Raul Almeida committed
		axios
lfr20's avatar
lfr20 committed
			.post(apiUrl + '/package', body)
Raul Almeida's avatar
Raul Almeida committed
			.catch(err => {
				if (err.response && err.response.status === 302) {
lfr20's avatar
lfr20 committed
					setDownloadUrl(apiDomain + '/' + err.response.data.url);
lfr20's avatar
lfr20 committed
			});
	}, [props.collection_id]);
Raul Almeida's avatar
Raul Almeida committed

Raul Almeida's avatar
Raul Almeida committed
	return (
		<Grid container direction="column" justify="center" alignItems="center" spacing={5}
            style={props.contrast === "" ? {color: "#666"} : {color: "white"}}
        >
lfr20's avatar
lfr20 committed
			<Grid
				item
				justify="center"
				alignItems="center"
			>
Raul Almeida's avatar
Raul Almeida committed
				<Title>{props.title}</Title>
			</Grid>
lfr20's avatar
lfr20 committed
			<Grid
lfr20's avatar
lfr20 committed
				direction="row"
				justify="center"
Raul Almeida's avatar
Raul Almeida committed
			>
lfr20's avatar
lfr20 committed
					<CollectionReview
                        contrast={props.contrast}
lfr20's avatar
lfr20 committed
						stars={props.stars}
						liked={props.liked}
						likes={props.likes}
Raul Almeida's avatar
Raul Almeida committed
						scrollToComment={props.scrollToComments}
lfr20's avatar
lfr20 committed
						id={props.collection_id} />
Raul Almeida's avatar
Raul Almeida committed
				</Grid>
				{/* <Grid item container sm={8}
Raul Almeida's avatar
Raul Almeida committed
					direction="column" justify="center" alignItems="flex-end"
				>
					<Grid item style={{marginBottom: 10}}>
						<DownloadAnchor href={download_url} >
Raul Almeida's avatar
Raul Almeida committed
							<DownloadButton
								variant="outlined"
								color="primary"
								startIcon={<GetAppIcon fontSize="large"/>}
								size="large"
							>
								<ButtonText>Baixar Coleção</ButtonText>
							</DownloadButton>
						</DownloadAnchor>
Raul Almeida's avatar
Raul Almeida committed
					</Grid>
					<Grid item>
Raul Almeida's avatar
Raul Almeida committed
						<FollowCollectionButton user_id={state.currentUser.id} collection_id={props.collection_id}/>
Raul Almeida's avatar
Raul Almeida committed
					</Grid>
Raul Almeida's avatar
Raul Almeida committed
			</Grid>

		</Grid>
	);
}

lfr20's avatar
lfr20 committed
const Title = styled.h1`
	font-size: 2.5em;
	text-align: center