| @ -0,0 +1,19 @@ | |||
| import React, { Component } from 'react'; | |||
| import RoomListItem from 'roomListItem'; | |||
| class RoomList extends Component { | |||
| renderRooms(roomArray) { | |||
| return( | |||
| <RoomListItem key = {room.name} roomName = {room.name} private = {room.passwordBool} capacity = {room.capacity} occupancy = {room.occupants} /> | |||
| ) | |||
| } | |||
| render(){ | |||
| return( | |||
| <div> | |||
| {this.props.roomArray.map(this.renderRooms)} | |||
| </div> | |||
| ) | |||
| } | |||
| } | |||
| @ -0,0 +1,16 @@ | |||
| import React from 'react'; | |||
| export default (props) => { | |||
| if (props.private = false){ | |||
| const privateString = "Public" | |||
| } else { | |||
| const privateString = "Private" | |||
| } | |||
| return( | |||
| <div> | |||
| <h1>{props.roomName}</h1> | |||
| <h3>`${props.occupancy}/${props.capacity}`</h3> | |||
| <p>{privateString}</p> | |||
| </div> | |||
| ) | |||
| } | |||
| @ -1,16 +1,30 @@ | |||
| import React, { Component } from 'react'; | |||
| import ROOM_CAPACITY from '../App' | |||
| export default class activeButton extends Component { | |||
| render(){ | |||
| if (this.props.input != ''){ | |||
| return( | |||
| <button>Let's play!</button> | |||
| ) | |||
| } else { | |||
| return( | |||
| <button>Enter a nickname.</button> | |||
| ) | |||
| switch (this.props.type) { | |||
| case 'register': | |||
| if(this.props.input != ''){ | |||
| return( | |||
| <button>Let's play!</button> | |||
| ) | |||
| } else { | |||
| return( | |||
| <button disabled>Enter a nickname to play.</button> | |||
| ) | |||
| } | |||
| case 'createRoom': | |||
| if(this.props.passInput != '' && this.props.capacityInput != '' && this.props.capacityInput <= 25 && this.props.capacityInput>=2 && this.props.capacityInput.length <= 2){ | |||
| return( | |||
| <button>Create Room</button> | |||
| ) | |||
| } else { | |||
| return( | |||
| <button disabled>Enter password and capacity to create a room.</button> | |||
| ) | |||
| } | |||
| } | |||
| } | |||
| @ -0,0 +1,45 @@ | |||
| import React, { Component } from 'react'; | |||
| import ActiveButton from './activeButton'; | |||
| export default class CreateRoomInput extends Component { | |||
| constructor(props){ | |||
| super(props); | |||
| this.state={ | |||
| passwordFieldValue: '', | |||
| capacityFieldValue:'' | |||
| } | |||
| this.onInputChangePass = this.onInputChangePass.bind(this); | |||
| this.onInputChangeCapacity = this.onInputChangeCapacity.bind(this); | |||
| this.sendRoomData = this.sendRoomData.bind(this); | |||
| } | |||
| onInputChangePass(event) { | |||
| this.setState({ passwordFieldValue: event.target.value }); | |||
| } | |||
| onInputChangeCapacity(event) { | |||
| this.setState({ capacityFieldValue: event.target.value}); | |||
| } | |||
| sendRoomData(event){ | |||
| event.preventDefault(); | |||
| this.props.socket.emit('createRoom', {password: this.state.passwordFieldValue, capacity: this.state.capacityFieldValue}); | |||
| this.setState({ passwordFieldValue: '', capacityFieldValue: '' }); | |||
| } | |||
| render(){ | |||
| return( | |||
| <form onSubmit={this.sendRoomData}> | |||
| <input type="password" placeholder="Password" onChange = {this.onInputChangePass} value={this.state.passwordFieldValue} /> | |||
| <input type='number' placeholder="Max room members" onChange = {this.onInputChangeCapacity} value={this.state.capacityFieldValue} /> | |||
| <span> | |||
| <ActiveButton passInput={this.state.passwordFieldValue} capacityInput={this.state.capacityFieldValue} type='createRoom' /> | |||
| </span> | |||
| </form> | |||
| ) | |||
| } | |||
| } | |||