not really known
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB

  1. import React, {Component} from 'react';
  2. export default class RoomListItem extends Component {
  3. constructor(props){
  4. super(props);
  5. this.state={
  6. term:''
  7. }
  8. this.onInputChange = this.onInputChange.bind(this);
  9. this.buttonClickHandler = this.buttonClickHandler.bind(this);
  10. }
  11. onInputChange(event) {
  12. this.setState( { term: event.target.value });
  13. }
  14. buttonClickHandler(event){
  15. this.props.socket.emit('joinRoom', {roomName: this.props.roomName, password: this.state.term});
  16. }
  17. render(){
  18. if (this.props.private === false){
  19. console.log("The public listItem was called")
  20. return(
  21. <li className = 'lobby__room'>
  22. <span className="lobby__room-name">{this.props.roomName}'s Room</span>
  23. <span className="lobby__room-occupancy">{this.props.occupancy}/{this.props.capacity}</span>
  24. <span className="lobby__room-name">Public</span>
  25. <span className="lobby__room-status"><button type="submit" onClick={this.buttonClickHandler}>Join Room</button></span>
  26. </li>
  27. )
  28. } else {
  29. console.log("the private listItem was called")
  30. return(
  31. <li className = 'lobby__room'>
  32. <span className="lobby__room-name">{this.props.roomName}'s Room</span>
  33. <span className="lobby__room-occupancy">{this.props.occupancy}/{this.props.capacity}</span>
  34. <span className="lobby__room-occupancy">Private</span>
  35. <span className="field--nickname"><input onChange={this.onInputChange} /></span>
  36. <span className="lobby__room-status"><button type="submit" onClick={this.buttonClickHandler}>Join Room</button></span>
  37. </li>
  38. )
  39. }
  40. }
  41. }