summaryrefslogtreecommitdiff
path: root/client/src/pages/ManageServer.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-07-23 23:24:17 -0700
committer8cy <[email protected]>2020-07-23 23:24:17 -0700
commitbb511abc03bb66848947e37a999502b813c77269 (patch)
tree612c010fc8317e1cdf11471a18aad0270819d33e /client/src/pages/ManageServer.js
parentfix: if clear amount equal or over 100, round down to 99 (diff)
downloaddep-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.js69
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>&nbsp;
+ <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