import React from 'react';
import superagent from 'superagent';
import MenuPageWrapper from '../Wrappers/MenuPageWrapper.jsx';
import EntitlementsList from '../MoviesTV/EntitlementsList.jsx';
import AccountRooms from './components/AccountRooms.jsx';
import AccountAccessPolicies from './components/AccountAccessPolicies.jsx';
import AccountDetails from './components/AccountDetails.jsx';
import AccountDevices from './components/AccountDevices.jsx';
import AccountEntitlements from './components/AccountEntitlements.jsx';
import AccountHeader from './components/AccountHeader.jsx';
import AccountIPs from './components/AccountIPs.jsx';
import AccountLoginHistory from './components/AccountLoginHistory.jsx';
import AccountLogs from './components/AccountLogs.jsx';
import AccountNotes from './components/AccountNotes.jsx';
import AccountDangerZone from './components/AccountDangerZone.jsx';
import AccountReportsList from './components/AccountReportsList.jsx';
import AccountSocial from './components/AccountSocial.jsx';
import AccountBans from './components/AccountBans.jsx';
import AccountBigOrderList from './components/Beyond/AccountBigOrderList.jsx';
import AccountScanRequestList from './components/Beyond/AccountScanRequestList.jsx';
import AccountGDPRScanDeletion from './components/Beyond/AccountGDPRScanDeletion.jsx';
import AccountIPManager from './Components/AccountIPManager.jsx';
import AccountAccessPolicyManager from './Components/AccountAccessPolicyManager.jsx';
import {
Tab,
Divider
} from 'semantic-ui-react'
export default class AccountEditor extends React.Component {
constructor(props) {
super(props);
this.state = {
account: null,
accountNotFound: undefined,
connections: []
};
}
async componentDidMount() {
await this.getAccountInfo();
}
async getAccountInfo() {
this.setState({ account: null, reports: null, accountNotFound: undefined });
try {
const accountId = this.props.match.params.accountId;
const res = await superagent.get(`/api/admin/account/${accountId}`).accept('json');
this.setState({ account: res.body });
} catch (e) {
console.log(e);
}
try {
const accountId = this.props.match.params.accountId;
const res = await superagent.get(`/cloud/admin/account/${accountId}/connections`).accept('json');
this.setState({ connections: res.body });
} catch (e) {
console.log(e);
}
}
render() {
if (this.state.account) {
const panes = [
{
menuItem: 'Details', render: () =>
},
{
menuItem: 'Access', render: () =>
},
{ menuItem: 'Social', render: () => },
{ menuItem: 'Rooms', render: () => },
{ menuItem: 'Big Orders', render: () => },
{ menuItem: 'Scan Requests', render: () => },
{ menuItem: 'GDPR Scan Deletion', render: () => },
{ menuItem: 'Devices & IPs', render: () => },
{ menuItem: 'Entitlements', render: () => },
{ menuItem: 'Login History', render: () => },
{ menuItem: 'Logs', render: () => },
{ menuItem: 'Notes', render: () => },
{ menuItem: 'Reports', render: () => },
{ menuItem: `Bans and Restrictions (${this.state.account.banHistory.length})`, render: () => },
];
const tabs = (
);
return (
{tabs}
);
} else {
if (this.state.accountNotFound) {
return (
);
} else {
return (
);
}
}
}
}