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 ( ); } } } }