Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { Component, Fragment } from "react";
- import ConnectDB from "../ConnectDB";
- import { Segment, Header, Button, Icon, Container } from 'semantic-ui-react'
- class EventData extends Component {
- state = {
- basket: [{ product: '', count: '' }]
- }
- constructor(props) {
- super(props);
- let eventID;
- let tempAddressID;
- const tempID = JSON.parse(window.localStorage.getItem('user')).id;
- eventID = this.props.match.params.event;
- this.state = { event: [], address: [], loading: true };
- ConnectDB.getEvent(eventID).then(res => {
- this.setState({ event: res, loading: false });
- tempAddressID = this.state.event.idAddress;
- ConnectDB.getAddress(tempAddressID).then(resp => {
- this.setState({ address: resp, loading: false });
- });
- this.setState({ eventID: eventID, userID: tempID });
- });
- }
- joinToEvent() {
- ConnectDB.postUserEventsJunction(this.state.eventID, this.state.userID)
- .then(res => {
- console.log(this.state.userID);
- console.log(this.state.eventID);
- });
- }
- static showEvent(event, address) {
- return (
- <ul>
- <div class="ui grid">
- <div class="four wide column"><p><Icon name='calendar alternate outline' /><b>Data:</b> {event.date.substring(0, 10)}</p> </div>
- <div class="four wide column"><p><Icon name='clock outline' /><b>Godzina:</b> {event.time.substring(0, 5)}</p></div>
- <div class="four wide column"><p><Icon name='building outline' /><b>Miasto:</b> {address.city} </p> </div>
- <div class="four wide column"><p><Icon name='street view' /><b>Ulica:</b> {address.street} {address.apartmentNumber} </p> </div>
- </div>
- </ul>
- );
- }
- static showDescription(event) {
- return (
- <ul>
- <div class="ui grid">
- <div class="eight wide column"><p><b>{event.description}</b></p> </div>
- <div class="eight wide column">
- <div class="eight column row">
- <div class="ui right left color blue animated button" tabindex="0">
- <div class="visible content">Uczestnicy</div>
- <div class="hidden content">
- <i class="child icon"></i>
- </div>
- </div>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- </div>
- <div class="eight column row">
- {this.state.basket && this.state.basket.map(row =>
- <Fragment>
- <div class="ui left icon input">
- <input type="text" placeholder="Wpisz produkt"></input>
- <i class="birthday cake icon"></i>
- </div>
- <div class="ui right labeled input">
- <input type="text" placeholder="Wpisz ilość"></input>
- <div class="ui basic label">
- szt
- </div>
- </div>
- </Fragment>
- )}
- </div>
- <div class="eight column row">
- <div class="ui left floated vertical animated button" tabindex="0" onClick={() => handleAddNewProduct()}>
- <div class="hidden content">Dodaj</div>
- <div class="visible content">
- <i class="plus icon"></i>
- </div>
- </div>
- </div>
- </div>
- </div>
- </ul>
- );
- }
- handleAddNewProduct = () => {
- this.setState(prevState => ({ basket: [...prevState.basket, { product: '', count: '' }] }))
- }
- render() {
- let contents = this.state.loading
- ? <p><em>Loading...</em></p>
- : EventData.showEvent(this.state.event, this.state.address);
- let descriptionContents = this.state.loading
- ? <p><em>Loading...</em></p>
- : EventData.showDescription(this.state.event, this.state.address);
- return (
- <div>
- <Segment.Group>
- <Segment inverted color='blue' secondary>
- <Header as="h2" textAlign="center">Wydarzenie</Header>
- </Segment>
- <Container>
- <Header
- as='h1'
- inverted
- style={{
- width: "100%",
- height: 250,
- display: 'inline-block',
- opacity: 1,
- backgroundImage: `url(${"https://i.imgur.com/A3SxaVn.png"})`,
- backgroundSize: 'cover',
- fontWeight: 'bold',
- marginBottom: 0,
- marginLeft: 'auto',
- marginRight: 'auto',
- paddingTop: 210,
- fontSize: 'xx-large'
- }}
- >
- {this.state.event.title}
- </Header>
- </Container>
- <Segment textAlign="left">
- {contents}
- </Segment>
- <Segment textAlign="left">
- {descriptionContents}
- </Segment>
- <Segment>
- <Button color="blue" icon labelPosition='left'
- onClick={() => { window.location.href = ('#/home/events/search-event'); }}>
- Wróć
- <Icon name='reply' />
- </Button>
- <Button color="blue" icon labelPosition='right'
- onClick={() => this.joinToEvent()}>
- Dołącz do wydarzenia
- <Icon name='check circle' />
- </Button>
- </Segment>
- </Segment.Group>
- </div>
- );
- }
- }
- export default EventData;
- super(props);
- let eventID;
- let tempAddressID;
- const tempID = JSON.parse(window.localStorage.getItem('user')).id;
- eventID = this.props.match.params.event;
- this.state = { event: [], address: [], loading: true };
- ConnectDB.getEvent(eventID).then(res => {
- this.setState({ event: res, loading: false });
- tempAddressID = this.state.event.idAddress;
- ConnectDB.getAddress(tempAddressID).then(resp => {
- this.setState({ address: resp, loading: false });
- });
- this.setState({eventID:eventID, userID:tempID});
- });
- }
- joinToEvent(){
- ConnectDB.postUserEventsJunction(this.state.eventID,this.state.userID)
- .then(res => {
- console.log(this.state.userID);
- console.log(this.state.eventID);
- });
- }
- static showEvent(event, address) {
- return (
- <ul>
- <div class="ui grid">
- <div class="four wide column"><p><Icon name='calendar alternate outline' /><b>Data:</b> {event.date.substring(0,10)}</p> </div>
- <div class="four wide column"><p><Icon name='clock outline' /><b>Godzina:</b> {event.time.substring(0,5)}</p></div>
- <div class="four wide column"><p><Icon name='building outline' /><b>Miasto:</b> {address.city} </p> </div>
- <div class="four wide column"><p><Icon name='street view' /><b>Ulica:</b> {address.street} {address.apartmentNumber} </p> </div>
- </div>
- </ul>
- );
- }
- static showDescription(event) {
- return (
- <ul>
- <div class="ui grid">
- <div class="eight wide column"><p><b>{event.description}</b></p> </div>
- <div class="eight wide column">
- <div class="eight column row">
- <div class="ui right left color blue animated button" tabindex="0">
- <div class="visible content">Uczestnicy</div>
- <div class="hidden content">
- <i class="child icon"></i>
- </div>
- </div>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- <button class="circular right floated color blue ui icon button">
- <i class="icon user outline"></i>
- </button>
- </div>
- <div class="eight column row">
- <div class="ui left icon input">
- <input type="text" placeholder="Wpisz produkt"></input>
- <i class="birthday cake icon"></i>
- </div>
- <div class="ui right labeled input">
- <input type="text" placeholder="Wpisz ilość"></input>
- <div class="ui basic label">
- szt
- </div>
- </div>
- </div>
- <div class="eight column row">
- <div class="ui left floated vertical animated button" tabindex="0">
- <div class="hidden content">Dodaj</div>
- <div class="visible content">
- <i class="plus icon"></i>
- </div>
- </div>
- </div>
- </div>
- </div>
- </ul>
- );
- }
- render() {
- let contents = this.state.loading
- ? <p><em>Loading...</em></p>
- : EventData.showEvent(this.state.event, this.state.address);
- let descriptionContents = this.state.loading
- ? <p><em>Loading...</em></p>
- : EventData.showDescription(this.state.event, this.state.address);
- return (
- <div>
- <Segment.Group>
- <Segment inverted color='blue' secondary>
- <Header as="h2" textAlign="center">Wydarzenie</Header>
- </Segment>
- <Container>
- <Header
- as='h1'
- inverted
- style={{
- width: "100%",
- height: 250,
- display: 'inline-block',
- opacity: 1,
- backgroundImage: `url(${"https://i.imgur.com/A3SxaVn.png"})`,
- backgroundSize: 'cover',
- fontWeight: 'bold',
- marginBottom: 0,
- marginLeft: 'auto',
- marginRight: 'auto',
- paddingTop: 210,
- fontSize: 'xx-large'
- }}
- >
- {this.state.event.title}
- </Header>
- </Container>
- <Segment textAlign="left">
- {contents}
- </Segment>
- <Segment textAlign="left">
- {descriptionContents}
- </Segment>
- <Segment>
- <Button color="blue" icon labelPosition='left'
- onClick={() => {window.location.href = ('#/home/events/search-event');}}>
- Wróć
- <Icon name='reply' />
- </Button>
- <Button color="blue" icon labelPosition='right'
- onClick={() => this.joinToEvent()}>
- Dołącz do wydarzenia
- <Icon name='check circle' />
- </Button>
- </Segment>
- </Segment.Group>
- </div>
- );
- }
- }
- export default EventData;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement