@ -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> | |||
) | |||
} | |||
} |