import React, { Component, Fragment } from "react" import PropTypes from "prop-types" import { Box, Image, Column, Row, Button, Link } from "ui" import { MessageModal, WaitModal, YesNoMessageModal } from "../Modal" import { sizeInfo, colorInfo } from "ui/style" import headerLogo from "images/logo.png" import autobind from "autobind-decorator" import { api } from "../API" export class System extends Component { static propTypes = { changeTitle: PropTypes.func.isRequired, } constructor(props) { super(props) this.state = { messageModal: null, waitModal: null, yesNoModal: null, } } @autobind handleDeleteActivities() { this.setState({ yesNoModal: { question: "Are you sure you want to delete all activities in the system?", onDismiss: this.handleDeleteActivitiesDismiss, }, }) } @autobind handleDeleteActivitiesDismiss(yes) { if (yes) { this.setState({ waitModal: { message: "Deleting All Activities..." } }) api .deleteAllActivities() .then(() => { this.setState({ waitModal: null, messageModal: { icon: "thumb", message: "All logged activities have been deleted", }, }) }) .catch((error) => { this.setState({ waitModal: null, messageModal: { icon: "hand", message: "Unable to request delete activities.", detail: error.message, }, }) }) } this.setState({ yesNoModal: null, }) } @autobind handleDeleteWorkItems() { this.setState({ yesNoModal: { question: "Are you sure you want to delete all work items & activities in the system?", onDismiss: this.handleDeleteWorkItemsDismiss, }, }) } @autobind handleDeleteWorkItemsDismiss(yes) { if (yes) { this.setState({ waitModal: { message: "Deleting All Work Items & Activities..." }, }) api .deleteAllWorkItems() .then(() => { this.setState({ waitModal: null, messageModal: { icon: "thumb", message: "All work items and logged activities have been deleted", }, }) }) .catch((error) => { this.setState({ waitModal: null, messageModal: { icon: "hand", message: "Unable to delete work items and activities.", detail: error.message, }, }) }) } this.setState({ yesNoModal: null, }) } @autobind handleMessageModalDismiss() { this.setState({ messageModal: null }) } render() { const { messageModal, yesNoModal, waitModal } = this.state return (