diff options
| author | 8cy <[email protected]> | 2020-07-23 23:24:17 -0700 |
|---|---|---|
| committer | 8cy <[email protected]> | 2020-07-23 23:24:17 -0700 |
| commit | bb511abc03bb66848947e37a999502b813c77269 (patch) | |
| tree | 612c010fc8317e1cdf11471a18aad0270819d33e /client/src/pages/ManageServer.js | |
| parent | fix: if clear amount equal or over 100, round down to 99 (diff) | |
| download | dep-core-bb511abc03bb66848947e37a999502b813c77269.tar.xz dep-core-bb511abc03bb66848947e37a999502b813c77269.zip | |
goodbye old uwufier :cry:
Diffstat (limited to 'client/src/pages/ManageServer.js')
| -rw-r--r-- | client/src/pages/ManageServer.js | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/client/src/pages/ManageServer.js b/client/src/pages/ManageServer.js new file mode 100644 index 0000000..990884e --- /dev/null +++ b/client/src/pages/ManageServer.js @@ -0,0 +1,69 @@ +import React, { Component } from 'react'; +import fetch from 'node-fetch'; +import PropTypes from 'prop-types'; +import { MDBBadge, MDBAlert } from 'mdbreact'; + +import ManageServerSettings from '../components/manageserver/ManageServerSettings'; + +export default class ManageServer extends Component { + constructor(props) { + super(props) + + this.state = { + loading: true, + data: null + } + + this.handleInput = this.handleInput.bind(this); + } + + componentDidMount() { + fetch(`http://localhost:8088/v1/get/guild/${this.props.match.params.id}`) + .then(res => res.json()) + .then(res => this.setState({ + loading: false, + data: res.message ? null : res + })) + .catch(() => this.setState({ loading: false })); + } + + handleInput(event) { + const eventId = event.target.id; + const value = event.target.value; + + this.setState(prevState => ({ + data: { + ...prevState.data, + [eventId]: value + } + })); + } + + render() { + if (this.state.loading) { + return( + <h1>Loading...</h1> + ); + } else if(!this.state.data) { + return( + <MDBAlert color="warning">This bot is not in this server</MDBAlert> + ); + } else { + return( + <React.Fragment> + <h1><strong>{this.state.data.name}</strong></h1> + <MDBBadge color="info">{`${this.state.data.members} Members`}</MDBBadge> + <MDBBadge color="success">{`Owner: ${this.state.data.owner}`}</MDBBadge> + + <hr /> + + <ManageServerSettings data={this.state.data} handleInput={this.handleInput} guild={this.props.match.params.id} /> + </React.Fragment> + ) + } + } +} + +ManageServer.propTypes = { + user: PropTypes.object +}
\ No newline at end of file |