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((