v1.6.4/release
-admin sources update
This commit is contained in:
+144
-212
@@ -1,7 +1,7 @@
|
|||||||
import React, { Component } from "react";
|
import React, { Component } from 'react';
|
||||||
import firebase from "firebase/app";
|
import firebase from 'firebase/app';
|
||||||
import "firebase/auth";
|
import 'firebase/auth';
|
||||||
import "firebase/firestore";
|
import 'firebase/firestore';
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
Card,
|
Card,
|
||||||
@@ -21,7 +21,7 @@ import {
|
|||||||
Collapse,
|
Collapse,
|
||||||
Modal,
|
Modal,
|
||||||
Select,
|
Select,
|
||||||
} from "antd";
|
} from 'antd';
|
||||||
import {
|
import {
|
||||||
getPartyDashboardData,
|
getPartyDashboardData,
|
||||||
getServerDashboardData,
|
getServerDashboardData,
|
||||||
@@ -29,7 +29,7 @@ import {
|
|||||||
postUpdateVideoSelectors,
|
postUpdateVideoSelectors,
|
||||||
postUpdateVideoNameSelectors,
|
postUpdateVideoNameSelectors,
|
||||||
postSendMessage,
|
postSendMessage,
|
||||||
} from "./Api";
|
} from './Api';
|
||||||
import {
|
import {
|
||||||
CheckCircleTwoTone,
|
CheckCircleTwoTone,
|
||||||
CloseCircleTwoTone,
|
CloseCircleTwoTone,
|
||||||
@@ -43,42 +43,45 @@ import {
|
|||||||
LogoutOutlined,
|
LogoutOutlined,
|
||||||
SendOutlined,
|
SendOutlined,
|
||||||
PlusCircleOutlined,
|
PlusCircleOutlined,
|
||||||
} from "@ant-design/icons";
|
} from '@ant-design/icons';
|
||||||
|
|
||||||
const PLAYER_SOURCES = [
|
const PLAYER_SOURCES = [
|
||||||
{ text: "Netflix", value: "netflix." },
|
{ text: 'Netflix', value: 'netflix.' },
|
||||||
{ text: "Amazon", value: "amazon." },
|
{ text: 'Amazon', value: 'amazon.' },
|
||||||
{ text: "Hulu", value: "hulu." },
|
{ text: 'Hulu', value: 'hulu.' },
|
||||||
{ text: "Disney+", value: "disneyplus." },
|
{ text: 'Disney+', value: 'disneyplus.' },
|
||||||
{ text: "YouTube", value: "youtube." },
|
{ text: 'YouTube', value: 'youtube.' },
|
||||||
{ text: "HBO Now", value: "hbonow." },
|
{ text: 'HBO Now', value: 'hbonow.' },
|
||||||
{ text: "HBO Max", value: "hbomax." },
|
{ text: 'HBO Max', value: 'hbomax.' },
|
||||||
{ text: "Peacock", value: "peacocktv." },
|
{ text: 'Peacock', value: 'peacocktv.' },
|
||||||
{ text: "Google Play", value: "play.google." },
|
{ text: 'Google Play', value: 'play.google.' },
|
||||||
{ text: "Crunchyroll", value: "crunchyroll." },
|
{ text: 'Crunchyroll', value: 'crunchyroll.' },
|
||||||
|
{ text: 'Apple TV+', value: 'tv.apple.' },
|
||||||
|
{ text: 'Viki', value: 'viki.' },
|
||||||
|
{ text: 'Funimation', value: 'funimation.' },
|
||||||
];
|
];
|
||||||
|
|
||||||
const MESSAGE_TYPES = [
|
const MESSAGE_TYPES = [
|
||||||
{
|
{
|
||||||
text: "REPLY",
|
text: 'REPLY',
|
||||||
value: "interactive/text",
|
value: 'interactive/text',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "LINK",
|
text: 'LINK',
|
||||||
value: "interactive/link",
|
value: 'interactive/link',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "MESSAGE",
|
text: 'MESSAGE',
|
||||||
value: "",
|
value: '',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const emptyMessage = {
|
const emptyMessage = {
|
||||||
type: "",
|
type: '',
|
||||||
text: "",
|
text: '',
|
||||||
uid: "<system>",
|
uid: '<system>',
|
||||||
name: "",
|
name: '',
|
||||||
endpoint: "",
|
endpoint: '',
|
||||||
// time set on send,
|
// time set on send,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -87,7 +90,7 @@ export default class Dashboard extends Component {
|
|||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
partiesOverview: null,
|
partiesOverview: null,
|
||||||
activeTab: "1",
|
activeTab: '1',
|
||||||
refreshing: true,
|
refreshing: true,
|
||||||
selectedParties: [],
|
selectedParties: [],
|
||||||
nameSelectors: {},
|
nameSelectors: {},
|
||||||
@@ -120,12 +123,12 @@ export default class Dashboard extends Component {
|
|||||||
this.setState({ refreshing: true });
|
this.setState({ refreshing: true });
|
||||||
const { activeTab } = this.state;
|
const { activeTab } = this.state;
|
||||||
switch (activeTab) {
|
switch (activeTab) {
|
||||||
case "1":
|
case '1':
|
||||||
this.getPartiesOverview();
|
this.getPartiesOverview();
|
||||||
break;
|
break;
|
||||||
case "2":
|
case '2':
|
||||||
case "3":
|
case '3':
|
||||||
case "4":
|
case '4':
|
||||||
this.getVersionsOverview();
|
this.getVersionsOverview();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -138,18 +141,14 @@ export default class Dashboard extends Component {
|
|||||||
updateVersionMessage = (message, version) => {
|
updateVersionMessage = (message, version) => {
|
||||||
this.setState({ refreshing: true });
|
this.setState({ refreshing: true });
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
const versionData = versions.filter(
|
const versionData = versions.filter((v) => v.version.split('.').join('') === version)[0];
|
||||||
(v) => v.version.split(".").join("") === version
|
|
||||||
)[0];
|
|
||||||
versionData.message = message;
|
versionData.message = message;
|
||||||
this.updateVersion(version, versionData);
|
this.updateVersion(version, versionData);
|
||||||
};
|
};
|
||||||
updateVersionActive = (active, version) => {
|
updateVersionActive = (active, version) => {
|
||||||
this.setState({ refreshing: true });
|
this.setState({ refreshing: true });
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
const versionData = versions.filter(
|
const versionData = versions.filter((v) => v.version.split('.').join('') === version)[0];
|
||||||
(v) => v.version.split(".").join("") === version
|
|
||||||
)[0];
|
|
||||||
versionData.active = active;
|
versionData.active = active;
|
||||||
this.updateVersion(version, versionData);
|
this.updateVersion(version, versionData);
|
||||||
};
|
};
|
||||||
@@ -159,7 +158,7 @@ export default class Dashboard extends Component {
|
|||||||
.catch((err) =>
|
.catch((err) =>
|
||||||
notification.error({
|
notification.error({
|
||||||
description: err.message,
|
description: err.message,
|
||||||
message: "Unable To Update",
|
message: 'Unable To Update',
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -179,7 +178,7 @@ export default class Dashboard extends Component {
|
|||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
notification.error({
|
notification.error({
|
||||||
description: err.message,
|
description: err.message,
|
||||||
message: "Unable To Update",
|
message: 'Unable To Update',
|
||||||
});
|
});
|
||||||
|
|
||||||
this.setState({ refreshing: false });
|
this.setState({ refreshing: false });
|
||||||
@@ -192,43 +191,32 @@ export default class Dashboard extends Component {
|
|||||||
};
|
};
|
||||||
handleAlertTitleChange = (value, version, index) => {
|
handleAlertTitleChange = (value, version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts[
|
versions.filter((vs) => vs.version === version)[0].alerts[index].title = value;
|
||||||
index
|
|
||||||
].title = value;
|
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
handleAlertDescriptionChange = (value, version, index) => {
|
handleAlertDescriptionChange = (value, version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts[
|
versions.filter((vs) => vs.version === version)[0].alerts[index].description = value;
|
||||||
index
|
|
||||||
].description = value;
|
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
handleAlertLinkChange = (value, version, index) => {
|
handleAlertLinkChange = (value, version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts[
|
versions.filter((vs) => vs.version === version)[0].alerts[index].link = value;
|
||||||
index
|
|
||||||
].link = value;
|
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
handleAlertLinkTextChange = (value, version, index) => {
|
handleAlertLinkTextChange = (value, version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts[
|
versions.filter((vs) => vs.version === version)[0].alerts[index].linkText = value;
|
||||||
index
|
|
||||||
].linkText = value;
|
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
deleteAlert = (version, index) => {
|
deleteAlert = (version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts.splice(index, 1);
|
versions.filter((vs) => vs.version === version)[0].alerts.splice(index, 1);
|
||||||
if (
|
if (
|
||||||
versions.filter((vs) => vs.version === version)[0].importantAlert ===
|
versions.filter((vs) => vs.version === version)[0].importantAlert === index ||
|
||||||
index ||
|
|
||||||
versions.filter((vs) => vs.version === version)[0].alerts.length < index
|
versions.filter((vs) => vs.version === version)[0].alerts.length < index
|
||||||
) {
|
) {
|
||||||
versions.filter(
|
versions.filter((vs) => vs.version === version)[0].importantAlert = undefined;
|
||||||
(vs) => vs.version === version
|
|
||||||
)[0].importantAlert = undefined;
|
|
||||||
}
|
}
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
@@ -237,10 +225,10 @@ export default class Dashboard extends Component {
|
|||||||
versions
|
versions
|
||||||
.filter((vs) => vs.version === version)[0]
|
.filter((vs) => vs.version === version)[0]
|
||||||
.alerts.push({
|
.alerts.push({
|
||||||
title: "",
|
title: '',
|
||||||
description: "",
|
description: '',
|
||||||
link: "",
|
link: '',
|
||||||
linkText: "",
|
linkText: '',
|
||||||
});
|
});
|
||||||
this.setState({ versions });
|
this.setState({ versions });
|
||||||
};
|
};
|
||||||
@@ -248,12 +236,11 @@ export default class Dashboard extends Component {
|
|||||||
this.setState({ refreshing: true });
|
this.setState({ refreshing: true });
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
const versionData = versions.filter((v) => v.version === version)[0];
|
const versionData = versions.filter((v) => v.version === version)[0];
|
||||||
if (versionData.alerts.length > 0)
|
if (versionData.alerts.length > 0) this.updateVersion(version.split('.').join(''), versionData);
|
||||||
this.updateVersion(version.split(".").join(""), versionData);
|
|
||||||
else {
|
else {
|
||||||
notification.error({
|
notification.error({
|
||||||
message: "Missing Alerts",
|
message: 'Missing Alerts',
|
||||||
description: "Must have atleast one alert",
|
description: 'Must have atleast one alert',
|
||||||
});
|
});
|
||||||
|
|
||||||
this.setState({ refreshing: false });
|
this.setState({ refreshing: false });
|
||||||
@@ -262,9 +249,7 @@ export default class Dashboard extends Component {
|
|||||||
changeImportantAlert = (active, version, index) => {
|
changeImportantAlert = (active, version, index) => {
|
||||||
const { versions } = this.state;
|
const { versions } = this.state;
|
||||||
if (active === false) {
|
if (active === false) {
|
||||||
versions.filter(
|
versions.filter((vs) => vs.version === version)[0].importantAlert = undefined;
|
||||||
(vs) => vs.version === version
|
|
||||||
)[0].importantAlert = undefined;
|
|
||||||
} else {
|
} else {
|
||||||
versions.filter((vs) => vs.version === version)[0].importantAlert = index;
|
versions.filter((vs) => vs.version === version)[0].importantAlert = index;
|
||||||
}
|
}
|
||||||
@@ -273,16 +258,16 @@ export default class Dashboard extends Component {
|
|||||||
getAddMessageText = () => {
|
getAddMessageText = () => {
|
||||||
const { activeTab } = this.state;
|
const { activeTab } = this.state;
|
||||||
switch (activeTab) {
|
switch (activeTab) {
|
||||||
case "1":
|
case '1':
|
||||||
return "Send Message";
|
return 'Send Message';
|
||||||
case "2":
|
case '2':
|
||||||
return "Add Version";
|
return 'Add Version';
|
||||||
case "3":
|
case '3':
|
||||||
return "Add Video Selector";
|
return 'Add Video Selector';
|
||||||
case "4":
|
case '4':
|
||||||
return "Add Name Selector";
|
return 'Add Name Selector';
|
||||||
default:
|
default:
|
||||||
return "";
|
return '';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
getPrettyTime = (t) => {
|
getPrettyTime = (t) => {
|
||||||
@@ -303,7 +288,7 @@ export default class Dashboard extends Component {
|
|||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
notification.error({
|
notification.error({
|
||||||
description: err.message,
|
description: err.message,
|
||||||
message: "Unable To Update",
|
message: 'Unable To Update',
|
||||||
});
|
});
|
||||||
|
|
||||||
this.setState({ refreshing: false });
|
this.setState({ refreshing: false });
|
||||||
@@ -312,7 +297,7 @@ export default class Dashboard extends Component {
|
|||||||
sendOrAdd = () => {
|
sendOrAdd = () => {
|
||||||
const { activeTab } = this.state;
|
const { activeTab } = this.state;
|
||||||
switch (activeTab) {
|
switch (activeTab) {
|
||||||
case "1":
|
case '1':
|
||||||
this.setState({ messageModel: true });
|
this.setState({ messageModel: true });
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -331,17 +316,17 @@ export default class Dashboard extends Component {
|
|||||||
await postSendMessage({ selectedParties, newMessage }).catch((err) => {
|
await postSendMessage({ selectedParties, newMessage }).catch((err) => {
|
||||||
notification.error({
|
notification.error({
|
||||||
description: err.message,
|
description: err.message,
|
||||||
message: "Unable To Send Message",
|
message: 'Unable To Send Message',
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.setState({
|
this.setState({
|
||||||
refreshing: false,
|
refreshing: false,
|
||||||
newMessage: {
|
newMessage: {
|
||||||
type: "",
|
type: '',
|
||||||
text: "",
|
text: '',
|
||||||
uid: "<system>",
|
uid: '<system>',
|
||||||
name: "",
|
name: '',
|
||||||
endpoint: "",
|
endpoint: '',
|
||||||
},
|
},
|
||||||
messageModel: false,
|
messageModel: false,
|
||||||
});
|
});
|
||||||
@@ -363,62 +348,57 @@ export default class Dashboard extends Component {
|
|||||||
|
|
||||||
const partiesColumns = [
|
const partiesColumns = [
|
||||||
{
|
{
|
||||||
title: "Party Name",
|
title: 'Party Name',
|
||||||
dataIndex: "id",
|
dataIndex: 'id',
|
||||||
sorter: (a, b) => (a.id.toLowerCase() < b.id.toLowerCase() ? -1 : 1),
|
sorter: (a, b) => (a.id.toLowerCase() < b.id.toLowerCase() ? -1 : 1),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Source",
|
title: 'Source',
|
||||||
dataIndex: "source",
|
dataIndex: 'source',
|
||||||
sorter: (a, b) =>
|
sorter: (a, b) => (a.source.toLowerCase() < b.source.toLowerCase() ? -1 : 1),
|
||||||
a.source.toLowerCase() < b.source.toLowerCase() ? -1 : 1,
|
|
||||||
filters: [
|
filters: [
|
||||||
...PLAYER_SOURCES,
|
...PLAYER_SOURCES,
|
||||||
{
|
{
|
||||||
text: "Is Playing",
|
text: 'Is Playing',
|
||||||
value: "PLAYING",
|
value: 'PLAYING',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "Is Paused",
|
text: 'Is Paused',
|
||||||
value: "PAUSED",
|
value: 'PAUSED',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
onFilter: (v, r) => r.source === v || r.status === v,
|
onFilter: (v, r) => r.source === v || r.status === v,
|
||||||
render: (a, r) => (
|
render: (a, r) => (
|
||||||
<Badge
|
<Badge
|
||||||
status={
|
status={
|
||||||
r.status === "PLAYING"
|
r.status === 'PLAYING' ? 'success' : r.status === 'PAUSED' ? 'warning' : 'error'
|
||||||
? "success"
|
|
||||||
: r.status === "PAUSED"
|
|
||||||
? "warning"
|
|
||||||
: "error"
|
|
||||||
}
|
}
|
||||||
text={this.getSourceName(a)}
|
text={this.getSourceName(a)}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Created At",
|
title: 'Created At',
|
||||||
dataIndex: "createTime",
|
dataIndex: 'createTime',
|
||||||
defaultSortOrder: "descend",
|
defaultSortOrder: 'descend',
|
||||||
sorter: (a, b) => Date.parse(a.createTime) - Date.parse(b.createTime),
|
sorter: (a, b) => Date.parse(a.createTime) - Date.parse(b.createTime),
|
||||||
render: (a) => new Date(Date.parse(a)).toLocaleString(),
|
render: (a) => new Date(Date.parse(a)).toLocaleString(),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Updated At",
|
title: 'Updated At',
|
||||||
dataIndex: "updateTime",
|
dataIndex: 'updateTime',
|
||||||
filters: [
|
filters: [
|
||||||
{
|
{
|
||||||
text: "Active",
|
text: 'Active',
|
||||||
value: "a",
|
value: 'a',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "Inactive",
|
text: 'Inactive',
|
||||||
value: "i",
|
value: 'i',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
onFilter: (v, r) =>
|
onFilter: (v, r) =>
|
||||||
v === "a"
|
v === 'a'
|
||||||
? (Date.now() - Date.parse(r.updateTime)) / 60000 < afkLimit
|
? (Date.now() - Date.parse(r.updateTime)) / 60000 < afkLimit
|
||||||
: (Date.now() - Date.parse(r.updateTime)) / 60000 > afkLimit,
|
: (Date.now() - Date.parse(r.updateTime)) / 60000 > afkLimit,
|
||||||
sorter: (a, b) => Date.parse(a.updateTime) - Date.parse(b.updateTime),
|
sorter: (a, b) => Date.parse(a.updateTime) - Date.parse(b.updateTime),
|
||||||
@@ -428,11 +408,7 @@ export default class Dashboard extends Component {
|
|||||||
return (
|
return (
|
||||||
<Tag
|
<Tag
|
||||||
color={
|
color={
|
||||||
minutes <= activeLimit
|
minutes <= activeLimit ? 'success' : minutes <= afkLimit ? 'processing' : 'default'
|
||||||
? "success"
|
|
||||||
: minutes <= afkLimit
|
|
||||||
? "processing"
|
|
||||||
: "default"
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{dS}
|
{dS}
|
||||||
@@ -441,15 +417,15 @@ export default class Dashboard extends Component {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "On Call",
|
title: 'On Call',
|
||||||
dataIndex: "onCall",
|
dataIndex: 'onCall',
|
||||||
filters: [
|
filters: [
|
||||||
{
|
{
|
||||||
text: "On Call",
|
text: 'On Call',
|
||||||
value: true,
|
value: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "Not On Call",
|
text: 'Not On Call',
|
||||||
value: false,
|
value: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -465,23 +441,22 @@ export default class Dashboard extends Component {
|
|||||||
|
|
||||||
const versionsColumns = [
|
const versionsColumns = [
|
||||||
{
|
{
|
||||||
title: "Version",
|
title: 'Version',
|
||||||
dataIndex: "version",
|
dataIndex: 'version',
|
||||||
defaultSortOrder: "descend",
|
defaultSortOrder: 'descend',
|
||||||
sorter: (a, b) =>
|
sorter: (a, b) =>
|
||||||
parseInt(a.version.split(".").join("")) -
|
parseInt(a.version.split('.').join('')) - parseInt(b.version.split('.').join('')),
|
||||||
parseInt(b.version.split(".").join("")),
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Active",
|
title: 'Active',
|
||||||
dataIndex: "active",
|
dataIndex: 'active',
|
||||||
filters: [
|
filters: [
|
||||||
{
|
{
|
||||||
text: "Active",
|
text: 'Active',
|
||||||
value: true,
|
value: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: "Inactive",
|
text: 'Inactive',
|
||||||
value: false,
|
value: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -489,22 +464,18 @@ export default class Dashboard extends Component {
|
|||||||
render: (a, r) => (
|
render: (a, r) => (
|
||||||
<Switch
|
<Switch
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
onChange={(c) =>
|
onChange={(c) => this.updateVersionActive(c, r.version.split('.').join(''))}
|
||||||
this.updateVersionActive(c, r.version.split(".").join(""))
|
|
||||||
}
|
|
||||||
checked={a}
|
checked={a}
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Inactive Message",
|
title: 'Inactive Message',
|
||||||
dataIndex: "message",
|
dataIndex: 'message',
|
||||||
render: (a, r) => (
|
render: (a, r) => (
|
||||||
<Input.Search
|
<Input.Search
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
onSearch={(v) =>
|
onSearch={(v) => this.updateVersionMessage(v, r.version.split('.').join(''))}
|
||||||
this.updateVersionMessage(v, r.version.split(".").join(""))
|
|
||||||
}
|
|
||||||
value={a}
|
value={a}
|
||||||
onChange={(e) => this.handleVersionMessageChange(e, r.version)}
|
onChange={(e) => this.handleVersionMessageChange(e, r.version)}
|
||||||
enterButton={<EnterOutlined />}
|
enterButton={<EnterOutlined />}
|
||||||
@@ -547,7 +518,7 @@ export default class Dashboard extends Component {
|
|||||||
okText="Send Message"
|
okText="Send Message"
|
||||||
>
|
>
|
||||||
<Select
|
<Select
|
||||||
onChange={(e) => this.editMessage(e, "type")}
|
onChange={(e) => this.editMessage(e, 'type')}
|
||||||
value={newMessage.type}
|
value={newMessage.type}
|
||||||
placeholder="Message Type"
|
placeholder="Message Type"
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
@@ -561,25 +532,22 @@ export default class Dashboard extends Component {
|
|||||||
<Input.TextArea
|
<Input.TextArea
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
value={newMessage.text}
|
value={newMessage.text}
|
||||||
onChange={(e) => this.editMessage(e.target.value, "text")}
|
onChange={(e) => this.editMessage(e.target.value, 'text')}
|
||||||
placeholder="Message"
|
placeholder="Message"
|
||||||
/>
|
/>
|
||||||
{(newMessage.type === "interactive/link" ||
|
{(newMessage.type === 'interactive/link' || newMessage.type === 'interactive/text') && (
|
||||||
newMessage.type === "interactive/text") && (
|
|
||||||
<Input
|
<Input
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
value={newMessage.endpoint}
|
value={newMessage.endpoint}
|
||||||
onChange={(e) => this.editMessage(e.target.value, "endpoint")}
|
onChange={(e) => this.editMessage(e.target.value, 'endpoint')}
|
||||||
placeholder={
|
placeholder={newMessage.type === 'interactive/link' ? 'Link' : 'Endpoint'}
|
||||||
newMessage.type === "interactive/link" ? "Link" : "Endpoint"
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{newMessage.type === "interactive/link" && (
|
{newMessage.type === 'interactive/link' && (
|
||||||
<Input
|
<Input
|
||||||
disabled={refreshing}
|
disabled={refreshing}
|
||||||
value={newMessage.name}
|
value={newMessage.name}
|
||||||
onChange={(e) => this.editMessage(e.target.value, "name")}
|
onChange={(e) => this.editMessage(e.target.value, 'name')}
|
||||||
placeholder="Link Text"
|
placeholder="Link Text"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
@@ -587,7 +555,7 @@ export default class Dashboard extends Component {
|
|||||||
<Card>
|
<Card>
|
||||||
<PageHeader
|
<PageHeader
|
||||||
extra={[
|
extra={[
|
||||||
activeTab === "1" && (
|
activeTab === '1' && (
|
||||||
<Badge key="5" count="ACTIVE" className="active">
|
<Badge key="5" count="ACTIVE" className="active">
|
||||||
<InputNumber
|
<InputNumber
|
||||||
prefix="Active"
|
prefix="Active"
|
||||||
@@ -596,7 +564,7 @@ export default class Dashboard extends Component {
|
|||||||
/>
|
/>
|
||||||
</Badge>
|
</Badge>
|
||||||
),
|
),
|
||||||
activeTab === "1" && (
|
activeTab === '1' && (
|
||||||
<Badge key="4" count="AFK" className="afk">
|
<Badge key="4" count="AFK" className="afk">
|
||||||
<InputNumber
|
<InputNumber
|
||||||
prefix="AFK"
|
prefix="AFK"
|
||||||
@@ -617,14 +585,12 @@ export default class Dashboard extends Component {
|
|||||||
<Button
|
<Button
|
||||||
key="2"
|
key="2"
|
||||||
onClick={this.sendOrAdd}
|
onClick={this.sendOrAdd}
|
||||||
icon={
|
icon={activeTab === '1' ? <SendOutlined /> : <PlusCircleOutlined />}
|
||||||
activeTab === "1" ? <SendOutlined /> : <PlusCircleOutlined />
|
disabled={activeTab === '1' && selectedParties.length === 0}
|
||||||
}
|
|
||||||
disabled={activeTab === "1" && selectedParties.length === 0}
|
|
||||||
>
|
>
|
||||||
{this.getAddMessageText()}
|
{this.getAddMessageText()}
|
||||||
</Button>,
|
</Button>,
|
||||||
activeTab === "3" && (
|
activeTab === '3' && (
|
||||||
<Button
|
<Button
|
||||||
type="primary"
|
type="primary"
|
||||||
onClick={this.updateVideoSelector}
|
onClick={this.updateVideoSelector}
|
||||||
@@ -635,7 +601,7 @@ export default class Dashboard extends Component {
|
|||||||
Save Video Selectors
|
Save Video Selectors
|
||||||
</Button>
|
</Button>
|
||||||
),
|
),
|
||||||
activeTab === "4" && (
|
activeTab === '4' && (
|
||||||
<Button
|
<Button
|
||||||
type="primary"
|
type="primary"
|
||||||
onClick={this.updateVideoNameSelector}
|
onClick={this.updateVideoNameSelector}
|
||||||
@@ -653,12 +619,11 @@ export default class Dashboard extends Component {
|
|||||||
<Table
|
<Table
|
||||||
rowSelection={{
|
rowSelection={{
|
||||||
selectedRowKeys: selectedParties,
|
selectedRowKeys: selectedParties,
|
||||||
onChange: (selectedParties) =>
|
onChange: (selectedParties) => this.setState({ selectedParties }),
|
||||||
this.setState({ selectedParties }),
|
|
||||||
}}
|
}}
|
||||||
loading={partiesOverview === null || refreshing}
|
loading={partiesOverview === null || refreshing}
|
||||||
pagination={{
|
pagination={{
|
||||||
position: ["bottomCenter"],
|
position: ['bottomCenter'],
|
||||||
total: partiesOverview ? partiesOverview.length : 0,
|
total: partiesOverview ? partiesOverview.length : 0,
|
||||||
showTotal: (t, r) => `${r[0]} to ${r[1]} of ${t}`,
|
showTotal: (t, r) => `${r[0]} to ${r[1]} of ${t}`,
|
||||||
defaultPageSize: 10,
|
defaultPageSize: 10,
|
||||||
@@ -670,7 +635,7 @@ export default class Dashboard extends Component {
|
|||||||
columns={partiesColumns}
|
columns={partiesColumns}
|
||||||
expandable={{
|
expandable={{
|
||||||
rowExpandable: (r) => true,
|
rowExpandable: (r) => true,
|
||||||
expandedRowClassName: () => "party-details-wrapper",
|
expandedRowClassName: () => 'party-details-wrapper',
|
||||||
expandedRowRender: (r) => (
|
expandedRowRender: (r) => (
|
||||||
<Descriptions bordered column={5}>
|
<Descriptions bordered column={5}>
|
||||||
<Descriptions.Item span={2} label="# Of Users">
|
<Descriptions.Item span={2} label="# Of Users">
|
||||||
@@ -688,11 +653,11 @@ export default class Dashboard extends Component {
|
|||||||
<Descriptions.Item span={3} label="Show Status">
|
<Descriptions.Item span={3} label="Show Status">
|
||||||
<Badge
|
<Badge
|
||||||
status={
|
status={
|
||||||
r.status === "PLAYING"
|
r.status === 'PLAYING'
|
||||||
? "success"
|
? 'success'
|
||||||
: r.status === "PAUSED"
|
: r.status === 'PAUSED'
|
||||||
? "warning"
|
? 'warning'
|
||||||
: "error"
|
: 'error'
|
||||||
}
|
}
|
||||||
text={r.status}
|
text={r.status}
|
||||||
/>
|
/>
|
||||||
@@ -705,13 +670,13 @@ export default class Dashboard extends Component {
|
|||||||
<Tabs.TabPane tab="Versions" key="2">
|
<Tabs.TabPane tab="Versions" key="2">
|
||||||
<Table
|
<Table
|
||||||
loading={refreshing}
|
loading={refreshing}
|
||||||
pagination={{ position: ["bottomCenter"] }}
|
pagination={{ position: ['bottomCenter'] }}
|
||||||
rowKey={(p) => p.version}
|
rowKey={(p) => p.version}
|
||||||
dataSource={versions}
|
dataSource={versions}
|
||||||
columns={versionsColumns}
|
columns={versionsColumns}
|
||||||
expandable={{
|
expandable={{
|
||||||
rowExpandable: (r) => r.alerts,
|
rowExpandable: (r) => r.alerts,
|
||||||
expandedRowClassName: () => "alerts-wrapper",
|
expandedRowClassName: () => 'alerts-wrapper',
|
||||||
expandedRowRender: (r) => (
|
expandedRowRender: (r) => (
|
||||||
<Row>
|
<Row>
|
||||||
{r.alerts.map((a, i) => (
|
{r.alerts.map((a, i) => (
|
||||||
@@ -727,15 +692,9 @@ export default class Dashboard extends Component {
|
|||||||
/>,
|
/>,
|
||||||
<Switch
|
<Switch
|
||||||
onClick={(active) =>
|
onClick={(active) =>
|
||||||
this.changeImportantAlert(
|
this.changeImportantAlert(active, r.version, i)
|
||||||
active,
|
|
||||||
r.version,
|
|
||||||
i
|
|
||||||
)
|
|
||||||
}
|
|
||||||
checked={
|
|
||||||
r.importantAlert && r.importantAlert === i
|
|
||||||
}
|
}
|
||||||
|
checked={r.importantAlert && r.importantAlert === i}
|
||||||
/>,
|
/>,
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
@@ -743,11 +702,7 @@ export default class Dashboard extends Component {
|
|||||||
placeholder="title"
|
placeholder="title"
|
||||||
value={a.title}
|
value={a.title}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
this.handleAlertTitleChange(
|
this.handleAlertTitleChange(e.target.value, r.version, i)
|
||||||
e.target.value,
|
|
||||||
r.version,
|
|
||||||
i
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Input.TextArea
|
<Input.TextArea
|
||||||
@@ -755,11 +710,7 @@ export default class Dashboard extends Component {
|
|||||||
autoSize={{ minRows: 2, maxRows: 2 }}
|
autoSize={{ minRows: 2, maxRows: 2 }}
|
||||||
value={a.description}
|
value={a.description}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
this.handleAlertDescriptionChange(
|
this.handleAlertDescriptionChange(e.target.value, r.version, i)
|
||||||
e.target.value,
|
|
||||||
r.version,
|
|
||||||
i
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Divider orientation="left">Link</Divider>
|
<Divider orientation="left">Link</Divider>
|
||||||
@@ -768,22 +719,14 @@ export default class Dashboard extends Component {
|
|||||||
value={a.linkText}
|
value={a.linkText}
|
||||||
placeholder="Link Text"
|
placeholder="Link Text"
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
this.handleAlertLinkTextChange(
|
this.handleAlertLinkTextChange(e.target.value, r.version, i)
|
||||||
e.target.value,
|
|
||||||
r.version,
|
|
||||||
i
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
<Input
|
<Input
|
||||||
value={a.link}
|
value={a.link}
|
||||||
placeholder="Link"
|
placeholder="Link"
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
this.handleAlertLinkChange(
|
this.handleAlertLinkChange(e.target.value, r.version, i)
|
||||||
e.target.value,
|
|
||||||
r.version,
|
|
||||||
i
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</Input.Group>
|
</Input.Group>
|
||||||
@@ -799,10 +742,7 @@ export default class Dashboard extends Component {
|
|||||||
</Card>
|
</Card>
|
||||||
</Col>
|
</Col>
|
||||||
<Col>
|
<Col>
|
||||||
<Card
|
<Card onClick={() => this.saveAlerts(r.version)} className="add-alert-card">
|
||||||
onClick={() => this.saveAlerts(r.version)}
|
|
||||||
className="add-alert-card"
|
|
||||||
>
|
|
||||||
<SaveFilled />
|
<SaveFilled />
|
||||||
</Card>
|
</Card>
|
||||||
</Col>
|
</Col>
|
||||||
@@ -836,24 +776,16 @@ export default class Dashboard extends Component {
|
|||||||
<Input
|
<Input
|
||||||
key={`video-selector-${source}-show`}
|
key={`video-selector-${source}-show`}
|
||||||
className="video-selector-input"
|
className="video-selector-input"
|
||||||
addonBefore={"Show"}
|
addonBefore={'Show'}
|
||||||
value={nameSelectors[source]["show"]}
|
value={nameSelectors[source]['show']}
|
||||||
onChange={(e) =>
|
onChange={(e) => this.handleVideoNameSelectorChange(e, source, 'show')}
|
||||||
this.handleVideoNameSelectorChange(e, source, "show")
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
<Input
|
<Input
|
||||||
key={`video-selector-${source}-episode`}
|
key={`video-selector-${source}-episode`}
|
||||||
className="video-selector-input"
|
className="video-selector-input"
|
||||||
addonBefore={"Episode"}
|
addonBefore={'Episode'}
|
||||||
value={nameSelectors[source]["episode"]}
|
value={nameSelectors[source]['episode']}
|
||||||
onChange={(e) =>
|
onChange={(e) => this.handleVideoNameSelectorChange(e, source, 'episode')}
|
||||||
this.handleVideoNameSelectorChange(
|
|
||||||
e,
|
|
||||||
source,
|
|
||||||
"episode"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
</Collapse.Panel>
|
</Collapse.Panel>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Reference in New Issue
Block a user