import React, { Component } from "react"; import Button from "react-bootstrap/esm/Button"; import Card from 'react-bootstrap/Card'; import Table from "react-bootstrap/esm/Table"; import { connect } from "react-redux"; const mapStateToProps = state => { return { isAdmin: state.AuthenticationReducer.isAdmin }; } class DegreeCourseItem extends Component { render() { let degreeCourse = this.props.degreeCourse let editButtonID = "DegreeCourseItemEditButton" + degreeCourse.id let deleteButtonID = "DegreeCourseItemDeleteButton" + degreeCourse.id let itemID = "DegreeCourseItem" + degreeCourse.id let applicationID = "CreateDegreeCourseApplicationForDegreeCourse" + degreeCourse.id let dialogData = { dialogID: "DeleteDialogDegreeCourse" + degreeCourse.id, name: degreeCourse.name, degreeCourseID: degreeCourse.id } let cardHeader if (degreeCourse.shortName) { cardHeader = <Card.Header><b>{degreeCourse.shortName}: {degreeCourse.name}</b></Card.Header> } else { cardHeader = <Card.Header><b>{degreeCourse.name}</b></Card.Header> } let cardFooter if (this.props.isAdmin) { cardFooter = <> <Button variant="primary" onClick={(e) => this.props.handleShowEditPage(e, degreeCourse)} id={editButtonID} > Edit </Button> <Button variant="primary" type="submit" onClick={(e) => this.props.handleShowDeleteModal(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}> Delete </Button> <Button variant="primary" onClick={(e) => this.props.handleShowCreateApplication(e, degreeCourse)} id={applicationID} style={{ background: '#05b361', border: 'none' }}> Create Application </Button> </> } else { cardFooter = <Button variant="primary" onClick={(e) => this.props.handleShowCreateApplication(e, degreeCourse)} id={applicationID} style={{ background: '#05b361', border: 'none' }}> Create Application </Button> } return ( <div> <div> <Card style={{ width: "25rem", background: '#ebebeb', margin: '0.5rem' }} id={itemID}> {cardHeader} <Table responsive="sm"> <tbody> <tr id="UniversityName"> <td><b>Universität:</b></td> <td style={{ textAlign: 'left' }}>{degreeCourse.universityName}</td> </tr> <tr id="DepartmentName"> <td><b>Fachbereich:</b></td> <td style={{ textAlign: 'left' }}>{degreeCourse.departmentName}</td> </tr> <tr id="Name"> <td><b>Studiengang:</b></td> <td style={{ textAlign: 'left' }}>{degreeCourse.name}</td> </tr> </tbody> </Table> <Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}> {cardFooter} </Card.Footer> </Card> </div> </div> ) } } const ConnectedDegreeCourseItem = connect(mapStateToProps)(DegreeCourseItem) export default ConnectedDegreeCourseItem