import React from 'react';
import superagent from 'superagent';
import { fromUnixTime, formatDistanceToNow, format } from "date-fns";
import { formatInTimeZone } from 'date-fns-tz';
import { Segment, Header, Icon, Button, Table, Label, Modal, Message } from 'semantic-ui-react'
import { DEFAULT_TIMEZONE } from '../../CloudApi/Constants.js';
import _ from 'lodash';
export default class AccountDevices extends React.Component {
constructor(props) {
super(props);
this.state = {
showBanDeviceDialog: false,
pendingBanDeviceId: null,
loading: false
};
}
async componentDidMount() {
return this.reload();
}
async reload() {
try {
this.setState({deviceHistory: null, loading: true});
const deviceHistory = await superagent.get(`/api/admin/account/${this.props.account.id}/device_history`).accept('json');
console.log(deviceHistory.body);
this.setState({
loading: false,
deviceHistory: deviceHistory.body
});
} catch (e) {
console.log(e);
this.setState({
loading: false,
deviceHistory: null
});
}
}
// Ban device dialog
onBanDeviceId( pendingBanDeviceId, e) {
e.preventDefault();
this.setState({showBanDeviceDialog: true, pendingBanDeviceId });
}
async onRemoveBannedDeviceId(deviceUniqueIdentifier, e) {
e.preventDefault();
try {
const result = await superagent.put(`/api/admin/device/${deviceUniqueIdentifier}`).accept('json').send({
status: "FullAccess"
});
return this.reload();
} catch (e) {
console.log(e);
}
}
closeBanDeviceIdModal(e) {
this.setState({showBanDeviceDialog: false, pendingBanDeviceId: null });
}
async onConfirmBanDeviceId(e) {
e.preventDefault();
try {
const result = await superagent.put(`/api/admin/device/${this.state.pendingBanDeviceId}`).accept('json').send({
status: "BannedFromEverything"
});
this.setState({showBanDeviceDialog: false, pendingBanDeviceId: null });
return this.reload();
} catch (e) {
this.setState({showBanDeviceDialog: false, pendingBanDeviceId: null });
console.log(e);
}
}
render() {
if (this.state.loading) {
return (
Are you sure you want to ban the device id {this.state.pendingBanDeviceId}?
}