diff --git a/src/App.js b/src/App.js index e83fbe1..d623534 100644 --- a/src/App.js +++ b/src/App.js @@ -33,6 +33,8 @@ import { } from './redux/actions/release_version_actions'; import YesNo from './components/YesNo/YesNo'; import {createModalConditionally} from './utils'; +import SkynetImport from './containers/SkynetImport/SkynetImport'; +import {displaySkynetImport} from './redux/actions/skynet_actions'; const Constants = require('./constants'); const Scheduler = require('node-schedule'); @@ -138,6 +140,17 @@ class App extends IPCContainer { !this.props.DismissNewReleasesAvailable && (this.props.NewReleasesAvailable.length > 0); + const showSkynetImport = !showConfig && + !showDependencies && + !this.props.DownloadActive && + !this.props.DisplayError && + !this.props.DisplayInfo && + !showNewReleases && + !this.props.RebootRequired && + !this.props.DisplaySelectAppPlatform && + !showUpgrade && + this.props.DisplayImport; + const configDisplay = createModalConditionally(showConfig, ); const confirmDisplay = createModalConditionally(this.props.DisplayConfirmYesNo, ); const dependencyDisplay = createModalConditionally(showDependencies, , false, this.props.InstallActive); @@ -148,6 +161,7 @@ class App extends IPCContainer { const rebootDisplay = createModalConditionally(this.props.RebootRequired, ); const selectAppPlatformDisplay = createModalConditionally(this.props.DisplaySelectAppPlatform, ); const upgradeDisplay = createModalConditionally(showUpgrade, ); + const importDisplay = createModalConditionally(showSkynetImport, ); let mainContent = []; if (this.props.DisplaySelectAppPlatform || !this.props.AppReady) { @@ -211,6 +225,7 @@ class App extends IPCContainer { {mainContent} + {importDisplay} {newReleasesDisplay} {selectAppPlatformDisplay} {dependencyDisplay} @@ -236,6 +251,7 @@ const mapStateToProps = state => { DisplayConfiguration: state.mounts.DisplayConfiguration, DisplayConfirmYesNo: state.common.DisplayConfirmYesNo, DisplayError: state.error.DisplayError, + DisplayImport: state.skynet.DisplayImport, DisplayInfo: state.error.DisplayInfo, DisplaySelectAppPlatform: state.common.DisplaySelectAppPlatform, DismissNewReleasesAvailable: state.relver.DismissNewReleasesAvailable, diff --git a/src/containers/AddRemoteMount/AddRemoteMount.js b/src/containers/AddRemoteMount/AddRemoteMount.js index 34b8a1a..5cd9252 100644 --- a/src/containers/AddRemoteMount/AddRemoteMount.js +++ b/src/containers/AddRemoteMount/AddRemoteMount.js @@ -62,7 +62,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(class extends Compon const displayAdd = createModalConditionally(this.state.Display, ( -

Add Remote Mount

+

Add Remote Mount

diff --git a/src/containers/MountItems/MountItem/MountItem.js b/src/containers/MountItems/MountItem/MountItem.js index 01821f1..51b7443 100644 --- a/src/containers/MountItems/MountItem/MountItem.js +++ b/src/containers/MountItems/MountItem/MountItem.js @@ -32,8 +32,8 @@ const mapStateToProps = (state, ownProps) => { const mapDispatchToProps = dispatch => { return { displayConfiguration: (provider, remote) => dispatch(displayConfiguration(provider, remote)), - displaySkynetExport: () => dispatch(displaySkynetExport()), - displaySkynetImport: () => dispatch(displaySkynetImport()), + displaySkynetExport: display => dispatch(displaySkynetExport(display)), + displaySkynetImport: display => dispatch(displaySkynetImport(display)), removeRemoteMount: provider => dispatch(removeRemoteMount(provider)), setProviderState: (provider, state) => dispatch(setProviderState(provider, state)), } @@ -185,7 +185,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => { {(props.provider === 'Skynet') ? ( props.displaySkynetExport() : e => {e.preventDefault();}} + onClick={props.MState.AllowMount ? () => props.displaySkynetExport(true) : e => {e.preventDefault();}} rowSpan={5} style={{...pointer, fontWeight: 'normal'}}> Export @@ -194,7 +194,7 @@ export default connect(mapStateToProps, mapDispatchToProps)(props => { {(props.provider === 'Skynet') ? ( props.displaySkynetImport() : e => {e.preventDefault();}} + onClick={props.MState.AllowMount ? () => props.displaySkynetImport(true) : e => {e.preventDefault();}} rowSpan={5} style={{...pointer, fontWeight: 'normal'}}> Import diff --git a/src/containers/SkynetImport/Format/Format.css b/src/containers/SkynetImport/Format/Format.css new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/Format/Format.js b/src/containers/SkynetImport/Format/Format.js new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/ImportList/Import/Import.css b/src/containers/SkynetImport/ImportList/Import/Import.css new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/ImportList/Import/Import.js b/src/containers/SkynetImport/ImportList/Import/Import.js new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/ImportList/ImportList.css b/src/containers/SkynetImport/ImportList/ImportList.css new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/ImportList/ImportList.js b/src/containers/SkynetImport/ImportList/ImportList.js new file mode 100644 index 0000000..e69de29 diff --git a/src/containers/SkynetImport/SkynetImport.css b/src/containers/SkynetImport/SkynetImport.css new file mode 100644 index 0000000..e6d0103 --- /dev/null +++ b/src/containers/SkynetImport/SkynetImport.css @@ -0,0 +1,27 @@ +.SkynetImportTextArea { + display: block; + width: 100%; + margin: 0; + padding: 2px; + border-radius: var(--border_radius); + background: var(--control_background); + border: none; + box-shadow: none; + outline: none; + color: var(--text_color); + box-sizing: border-box; + resize: none; + overflow-y: scroll; + overflow:-moz-scrollbars-horizontal; + white-space: nowrap; +} + +.SkynetImportButtons { + display: flex; + justify-content: space-between; +} + +.SkynetImportHeading { + text-align: center; + padding-bottom: var(--default_spacing); +} diff --git a/src/containers/SkynetImport/SkynetImport.js b/src/containers/SkynetImport/SkynetImport.js new file mode 100644 index 0000000..a2d0e23 --- /dev/null +++ b/src/containers/SkynetImport/SkynetImport.js @@ -0,0 +1,46 @@ +import React from 'react' +import {Component} from 'react'; +import {connect} from 'react-redux'; +import './SkynetImport.css' +import Box from '../../components/UI/Box/Box'; +import Button from '../../components/UI/Button/Button'; +import {displaySkynetImport} from '../../redux/actions/skynet_actions'; + +const mapDispatchToProps = dispatch => { + return { + displaySkynetImport: display => dispatch(displaySkynetImport(display)), + } +}; + +export default connect(null, mapDispatchToProps)(class extends Component { + + state = { + import_list: '', + }; + + render() { + return ( + + +

Import List

+