lbry-desktop/ui/js/modal/modalRemoveFile/view.jsx

74 lines
1.8 KiB
JavaScript

import React from "react";
import { Modal } from "modal/modal";
import FormField from "component/formField/index";
class ModalRemoveFile extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
deleteChecked: false,
abandonClaimChecked: false,
};
}
handleDeleteCheckboxClicked(event) {
this.setState({
deleteChecked: event.target.checked,
});
}
handleAbandonClaimCheckboxClicked(event) {
this.setState({
abandonClaimChecked: event.target.checked,
});
}
render() {
const {
claimIsMine,
closeModal,
deleteFile,
fileInfo: { outpoint },
title,
} = this.props;
const { deleteChecked, abandonClaimChecked } = this.state;
return (
<Modal
isOpen={true}
contentLabel={__("Confirm File Remove")}
type="confirm"
confirmButtonLabel={__("Remove")}
onConfirmed={() =>
deleteFile(outpoint, deleteChecked, abandonClaimChecked)}
onAborted={closeModal}
>
<p>
{__("Are you sure you'd like to remove")} <cite>{title}</cite>{" "}
{__("from LBRY?")}
</p>
<section>
<FormField
type="checkbox"
checked={deleteChecked}
onClick={this.handleDeleteCheckboxClicked.bind(this)}
label={__("Delete this file from my computer")}
/>
</section>
{claimIsMine &&
<section>
<FormField
type="checkbox"
checked={abandonClaimChecked}
onClick={this.handleAbandonClaimCheckboxClicked.bind(this)}
label={__("Abandon the claim for this URI")}
/>
</section>}
</Modal>
);
}
}
export default ModalRemoveFile;