import * as React from "react"; import * as Strings from "~/common/strings"; import * as Constants from "~/common/constants"; import * as System from "~/components/system"; import { css } from "@emotion/react"; const STYLES_FOCUS = css` font-size: ${Constants.typescale.lvl1}; font-family: ${Constants.font.medium}; overflow-wrap: break-word; width: 100%; strong { font-family: ${Constants.font.semiBold}; font-weight: 400; } `; const STYLES_SUBTEXT = css` margin-top: 8px; font-size: 12px; `; const STYLES_ITEM = css` margin-top: 16px; `; const STYLES_IMAGE_PREVIEW = css` display: block; width: 100%; margin-top: 48px; `; export default class SidebarFileStorageDeal extends React.Component { state = { settings_cold_default_duration: this.props.viewer.settings_cold_default_duration, settings_cold_default_replication_factor: this.props.viewer .settings_cold_default_replication_factor, loading: false, }; async componentDidMount() { if (!this.props.viewer.settings_deals_auto_approve) { return null; } console.log("SETTINGS: AUTO DEAL"); await this._handleSubmit(); } _handleMakeDeal = async ({ ipfs }) => { const options = { method: "POST", credentials: "include", headers: { Accept: "application/json", "Content-Type": "application/json", }, body: JSON.stringify({ ipfs }), }; const response = await fetch("/api/data/storage-deal", options); const json = await response.json(); console.log(json); return json; }; _handleSubmit = async (e) => { if (e) { e.persist(); } await this.setState({ loading: true }); await this._handleMakeDeal({ ipfs: `/ipfs/${this.props.data.cid}` }); this.setState({ loading: false }); await this.props.onCancel(); }; _handleCancel = () => { this.props.onCancel(); }; _handleChange = (e) => { this.setState({ [e.target.name]: e.target.value }); }; render() { const file = this.props.data; return ( Make Filecoin storage deal
{file.name}
Name
{Strings.bytesToSize(file.size)}
File size
{!this.state.loading ? ( ) : null} {!this.state.loading ? ( ) : null} {!this.state.loading ? ( ) : null} Make storage deal {!this.state.loading ? ( Cancel deal ) : null}
); } }