diff --git a/src/App.js b/src/App.js index 98ca29b..4b517f8 100644 --- a/src/App.js +++ b/src/App.js @@ -108,6 +108,15 @@ class App extends IPCContainer { const remoteSupported = this.props.LocationsLookup[selectedVersion] && this.props.LocationsLookup[selectedVersion].supports_remote; + const gooboxS3Supported = this.props.LocationsLookup[selectedVersion] && + this.props.LocationsLookup[selectedVersion].gooboxs3_support; + + const skynetSupported = this.props.LocationsLookup[selectedVersion] && + this.props.LocationsLookup[selectedVersion].skynet_support; + + const scPrimeSupported = this.props.LocationsLookup[selectedVersion] && + this.props.LocationsLookup[selectedVersion].siaprime_support; + const showConfig = !missingDependencies && this.props.DisplayConfiguration && !this.props.RebootRequired; @@ -184,7 +193,10 @@ class App extends IPCContainer { mainContent.push(( - + )); } else if (selectedVersion !== 'unavailable') { diff --git a/src/constants.js b/src/constants.js index e94c18d..bc98f67 100644 --- a/src/constants.js +++ b/src/constants.js @@ -50,6 +50,7 @@ exports.DATA_LOCATIONS = { exports.PROVIDER_LIST = [ 'Sia', 'Skynet', + 'GooboxS3', 'ScPrime', ]; @@ -57,6 +58,7 @@ exports.PROVIDER_ARG = { sia: '', skynet: '-sk', scprime: '-sp', + gooboxs3: '-gb', }; exports.RELEASE_TYPES = [ diff --git a/src/containers/MountItems/MountItems.js b/src/containers/MountItems/MountItems.js index bdd86b2..c972601 100644 --- a/src/containers/MountItems/MountItems.js +++ b/src/containers/MountItems/MountItems.js @@ -219,10 +219,22 @@ class MountItems extends IPCContainer { } }; - getProviderList = () => { + getProviderList = providersOnly => { + const providerList = Constants.PROVIDER_LIST.filter(i => { + return ((i === 'GooboxS3') && this.props.gooboxS3Supported) || + ((i === 'Skynet') && this.props.skynetSupported) || + ((i === 'ScPrime') && this.props.scPrimeSupported) || + ((i !== 'GooboxS3') && (i !== 'Skynet') && (i !== 'ScPrime')); + }); + + let remoteList = []; + if (this.props.remoteSupported && !providersOnly) { + remoteList = [...this.props.RemoteMounts]; + } + return [ - ...Constants.PROVIDER_LIST, - ...this.props.RemoteMounts, + ...providerList, + ...remoteList, ]; }; @@ -341,7 +353,7 @@ class MountItems extends IPCContainer { } let items = []; - for (const provider of Constants.PROVIDER_LIST) { + for (const provider of this.getProviderList(true)) { items.push((