import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; import { Redirect } from 'react-router-dom' import { Table, TableBody, TableCell, TableHead, TableRow } from '@material-ui/core'; import * as actions from './redux/actions'; export class List extends Component { static propTypes = { roomAdmin: PropTypes.object.isRequired, actions: PropTypes.object.isRequired, }; componentDidMount() { const { fetchPublicRooms } = this.props.actions; fetchPublicRooms(); } render() { const { mtx } = this.props; const { roomList, fetchRoomsPending } = this.props.roomAdmin; return (
{(!mtx || !mtx.clientRunning) && } {fetchRoomsPending && logging in} Alias Name Topic Room-ID Members {roomList.map(item => ( {item.canonical_alias} {item.name} {item.topic} {item.room_id} {item.num_joined_members} ))}
); } } /* istanbul ignore next */ function mapStateToProps(state) { return { mtx: state.common.mtx, roomAdmin: state.roomAdmin, }; } /* istanbul ignore next */ function mapDispatchToProps(dispatch) { return { actions: bindActionCreators({ ...actions }, dispatch) }; } export default connect( mapStateToProps, mapDispatchToProps )(List);