Skip to content
Snippets Groups Projects
Commit 7a04c95b authored by Lucas Eduardo Schoenfelder's avatar Lucas Eduardo Schoenfelder
Browse files

wip; missing button functionalities

parent 1a1ea9d1
No related branches found
No related tags found
3 merge requests!57Merge of develop into master,!56Fixed buttons reportar, seguir, compartilhar, guardar and entrar (in comments...,!24Tela recurso
/*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, {useContext, useRef} from 'react';
import { Button } from '@material-ui/core';
import Modal from '@material-ui/core/Modal';
import Backdrop from '@material-ui/core/Backdrop';
import Fade from '@material-ui/core/Fade';
import styled from 'styled-components'
import SignUpContainer from './SignUpContainerFunction.js'
import {Store} from '../Store.js'
import axios from 'axios'
import {apiDomain} from '../env';
import CloseIcon from '@material-ui/icons/Close';
import Grid from '@material-ui/core/Grid';
import Facebook from '../img/facebook.svg'
import Twitter from '../img/twitter.svg'
import LinkIcon from '../img/link_icon.svg'
function CloseModalButton (props) {
return (
<StyledCloseModalButton onClick={props.handleClose}>
<CloseIcon/>
</StyledCloseModalButton>
)
}
export default function ReportModal (props) {
const pRef = useRef(props.link);
function copyToClipboard(e) {
console.log(pRef.current)
pRef.current.select();
document.execCommand('copy');
// This is just personal preference.
// I prefer to not show the the whole text area selected.
e.target.focus();
};
return (
<StyledModal
aria-labelledby="transition-modal-title"
aria-describedby="transition-modal-description"
open={props.open}
animation={true}
centered={true}
onClose={props.handleClose}
closeAfterTransition
BackdropComponent={Backdrop}
BackdropProps={{
timeout: 500,
}}
>
<Fade in={props.open}>
<Container>
<Header>
<span style={{width:"32px"}}/>
<h2>Compartilhar este recurso</h2>
<CloseModalButton handleClose={props.handleClose}/>
</Header>
<Content style={{paddingTop : "0"}}>
<ResourceInfo>
<img src={apiDomain + props.thumb} alt="thumbnail recurso"/>
<div className="text">
<strong>{props.title}</strong>
<span>{props.link}</span>
</div>
</ResourceInfo>
<ShareInfo>
<Grid container style={{paddingRight : "15px", paddingLeft : "15px"}}>
<Grid item xs={4}>
<Button>
<img src={Facebook} alt="facebook-logo"/>
<p>FACEBOOK</p>
</Button>
</Grid>
<Grid item xs={4}>
<Button>
<img src={Twitter} alt="twitter-logo"/>
<p>TWITTER</p>
</Button>
</Grid>
<Grid item xs={4}>
<Button onClick={copyToClipboard}>
<img src={LinkIcon} alt="link-icon"/>
<p ref={pRef} value={props.link}>COPIAR LINK</p>
</Button>
</Grid>
</Grid>
</ShareInfo>
</Content>
</Container>
</Fade>
</StyledModal>
)
}
const ShareButton = styled(Button)`
text-align :center;
margin : 0 !important;
min-height : 121px !important;
img {
height : 75px;
width : 75px;
padding-top : 10px;
vertical-align : middle;
}
p {
margin : 0 0 10px;
}
`
const ShareInfo = styled.div`
padding-top : 20px;
color : #000;
`
const ResourceInfo = styled.div`
margin-top : 0;
background-color : #f4f4f4;
overflow : hidden;
border-radius : 5px;
display : flex;
flex-direction : row;
align-items : center;
align-content : center;
max-wdith : 100%;
justify-content : space-between;
.text {
max-height : 100%;
max-width : 66.66%;
display : flex;
flex-direction : column;
text-align : left;
}
img {
object-fit : cover;
height : 115px;
max-width : 165px;
background-color : #e5e5e5;
float : left;
padding : 0;
@media screen and (min-width : 600px) {
margin-right : 20px;
margin-bottom : 0;
}
@media screen and (max-width : 768px) {
width : 100%;
}
}
`
const Content = styled.div`
padding : 20px 30px;
overflow : visible;
`
const Header = styled.div`
display : flex;
flex-direction : row;
padding : 10px 26px 0 26px;
align-items : center;
justify-content : space-between;
height : 64px;
h2 {
font-size : 26px;
font-weight : lighter;
color : #666
}
`
const StyledCloseModalButton = styled(Button)`
display : inline-block;
position : relative;
float : right !important;
margin-right : -8px !important;
background : transparent !important;
min-width: 0 !important;
width : 40px;
`
const StyledModal = styled(Modal)`
.djXaxP{
margin : 0 !important;
}
display : flex;
align-items: center;
justify-content : center;
text-align : center;
padding : 10px !important;
max-width : none;
max-height : none;
`
const Container = styled.div`
box-sizing : border-box;
box-shadow : 0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);
background-color : white;
align : center;
display : flex;
flex-direction : column;
min-width : 240px;
max-height : none;
position : relative;
padding : 10px;
border-radius : 4px;
@media screen and (min-width : 700px) {
max-width : 600px;
}
@media screen and (max-width : 699px) {
width : 100%;
height : 100%;
}
`
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment