Skip to content
Snippets Groups Projects
Select Git revision
  • Develop
  • master default protected
  • Develop_copy_to_implement_acessibility
  • Develop_copy_to_implement_acessibility_in_admin
  • vinicius_accessibility_from_copy
  • luis_accesibility_before_develop
  • vinicius_accessiblity
  • Fixing_bugs
  • Otimizando_Vinicius
  • Password_recovery_fix
  • fix_admin_bugs_luis
  • luis_gamefication
  • gamificacaoLucas
  • GameficationAdmin
  • fixHomeScreen
  • Fix_perfil
  • fix_remaining_bugs
  • homologa
  • centraliza-axios
  • Gamification
  • v1.2.0
  • v1.1.1
  • v1.1.0
  • V1.0.1
  • V1.0.0
  • V1.0.0-RC
26 results

TemplateColecao.js

Blame
  • TemplateColecao.js 3.96 KiB
    /*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 from 'react'
    import Grid from '@material-ui/core/Grid';
    import NoContent from './NoContent.js'
    import CollectionCardFunction from '../../CollectionCardFunction.js'
    import Title from './PanelTitle.js'
    import {WhiteContainer, StyledGrid} from '../StyledComponents.js'
    import {ButtonsAreaColecao} from './ButtonsArea'
    
    
    export default function PanelTemplateColecao (props) {
        const RenderFollowedColCard = (card, followerBoolean) => {
            if (followerBoolean) {
                return (
                    <CollectionCardFunction
                        name={card.followable.name}
                        rating={card.followable.score}
                        type={card.followable.object_type}
                        description={card.followable.description}
                        author={card.followable.owner.name}
                        avatar={card.followable.owner.avatar}
                        thumbnails={card.followable.items_thumbnails}
                        likeCount={card.followable.likes_count}
                        liked={card.followable.liked}
                        followed={card.followable.followed}
                        />
                )
            }
            else {
                return (
                    <CollectionCardFunction
                          name={card.name}
                          rating={card.score}
                          type={card.object_type}
                          description={card.description}
                          author={card.owner.name}
                          avatar={card.owner.avatar}
                          thumbnails={card.items_thumbnails}
                          likeCount={card.likes_count}
                          liked={card.liked}
                          followed={card.followed}
                          tags={card.tags}
                      />
                )
            }
        }
    
        return (
            <WhiteContainer>
                <Title
                    title={props.title}
                    length={props.length}
                />
    
                {
                    props.length === 0 ?
                    (
                        [
                            <NoContent text={props.noContentText}/>
                        ]
                    )
                    :
                    (
                        [
                            <React.Fragment>
                                <StyledGrid container spacing={1} style={{paddingLeft : "30px", paddingRight : "15px"}}>
                                {
                                    props.sliceArr.map( (card) =>
                                    <Grid item md={3} xs={12} key={card.id}>
                                        {RenderFollowedColCard(card, props.followed)}
                                    </Grid>
                                    )
                                }
                                </StyledGrid>
    
                                <ButtonsAreaColecao
                                    sliceLength={props.sliceArr.length}
                                    length={props.length}
                                    showMore={() => props.showMore()}
                                    showAll={() => props.showAll()}
                                />
                            </React.Fragment>
                        ]
                    )
                }
    
            </WhiteContainer>
        )
    }