@@ -497,6 +524,31 @@ export default class Chat extends Component {
}
labelPlacement="end"
/>
+ {
+ admin ?
+
+ }
+ label={
+
+ Admin Only Mode (can be changed later)
+
+
+ {adminOnly ? 'Only admin can update player right now' : 'All party members can update player right now'}
+
+
+ }
+ labelPlacement="end"
+ /> : null
+ }
PARTY MEMBERS
diff --git a/app/src/Create.js b/app/src/Create.js
index 489da53..0358268 100644
--- a/app/src/Create.js
+++ b/app/src/Create.js
@@ -18,7 +18,7 @@ HBO Now and HBO Max logos are trademark and intellectual property of WarnerMedia
************************************************************************/
/*global chrome */
import React, { Component } from 'react';
-import { Button, TextField, Typography, Paper, ButtonGroup } from '@material-ui/core';
+import { Button, FormControlLabel, Switch, TextField, Typography, Paper, ButtonGroup } from '@material-ui/core';
import {
JoinRoomApi,
CreateRoomApi,
@@ -52,7 +52,8 @@ export default class Create extends Component {
name: '',
pin: '',
mode: defaultMode,
- parties: []
+ parties: [],
+ adminOnly: false,
};
this.createCall = this.createCall.bind(this);
this.joinCall = this.joinCall.bind(this);
@@ -72,7 +73,7 @@ export default class Create extends Component {
type: 'GET_PARTIES'
},
(response) => {
- this.setState({parties: response});
+ this.setState({ parties: response });
}
);
}
@@ -133,6 +134,7 @@ export default class Create extends Component {
time: 0,
url: window.location.href,
},
+ adminOnly: this.state.adminOnly,
};
CreateRoomApi(apidata)
.then((res) => res.json())
@@ -179,21 +181,21 @@ export default class Create extends Component {
this.props.updateLoading(false);
goTo(Chat, this.props);
}
- partyNameAutocompleteProcessor (v) {
- if (v !== null && v !== undefined && typeof(v) === 'object') {
+ partyNameAutocompleteProcessor(v) {
+ if (v !== null && v !== undefined && typeof (v) === 'object') {
if (v.name) this.partyNameChange(v.name);
else this.partyNameChange('');
if (v.pin) this.partyPinChange(v.pin);
else this.partyPinChange('');
- } else if (typeof(v) === 'object' && (v === null || v === undefined)) {
+ } else if (typeof (v) === 'object' && (v === null || v === undefined)) {
this.partyNameChange('');
this.partyPinChange('');
- } else if (v !== undefined && v !== null && typeof(v) === 'string') {
+ } else if (v !== undefined && v !== null && typeof (v) === 'string') {
this.partyNameChange(v);
}
- }
+ }
render() {
- const { mode, name, pin, userName, parties } = this.state;
+ const { mode, name, pin, userName, parties, adminOnly } = this.state;
return (
this.partyNameAutocompleteProcessor(v)}
+ onInputChange={(e, v, r) => this.partyNameAutocompleteProcessor(v)}
onChange={(e, v) => this.partyNameAutocompleteProcessor(v)}
- renderInput={(params) =>
+ renderInput={(params) =>
}
+ />}
/>
this.partyPinChange(e.target.value)}
helperText={pin ? `${pin.length}/${CONSTANTS.PIN_LENGTH} Digits` : null}
/>
+ {
+ mode === 'create' ?
+ this.setState({ adminOnly: !adminOnly })}
+ name="adminOnly"
+ color={adminOnly ? 'secondary' : 'primary'}
+ />
+ }
+ label={
+
+ Admin Only Mode (can be changed later)
+
+
+ {adminOnly ? 'Only admin will update currently playing' : 'All members will update currently playing'}
+
+
+ }
+ labelPlacement="end"
+ /> : null
+ }