Differentiate settings for desktop app and browser app.

master
haad 2016-12-09 15:29:20 +01:00
parent 7bed8dd08d
commit 5ec54bed3d
3 changed files with 151 additions and 69 deletions

View File

@ -47616,7 +47616,7 @@ var MessageStore = _reflux2.default.createStore({
});
},
onLoadFile: function onLoadFile(hash, asURL, asStream, callback) {
var isElectron = !!window.ipfsInstance;
var isElectron = window.isElectron;
if (isElectron && asURL) {
console.log(window.gatewayAddress, this.orbit._ipfs.GatewayAddress);
callback(null, null, 'http://' + window.gatewayAddress + hash);
@ -115894,7 +115894,9 @@ var Orbit = function () {
}, {
key: 'getFile',
value: function getFile(hash) {
return this._ipfs.cat(hash);
if (this._ipfs.cat) return this._ipfs.cat(hash);
return this._ipfs.files.cat(hash);
}
}, {
key: 'getDirectory',
@ -118139,6 +118141,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
var logger = _logplease2.default.create('IpfsSettingsView', { color: _logplease2.default.Colors.Black });
var isElectron = window.isElectron;
var IpfsSettingsView = function (_React$Component) {
_inherits(IpfsSettingsView, _React$Component);
@ -118154,6 +118158,11 @@ var IpfsSettingsView = function (_React$Component) {
OrbitDataDir: null
}
};
if (!isElectron) {
Object.assign(_this.state, { SignalServer: null });
}
_this.updateState = _this.updateState.bind(_this);
_this.settingChange = _this.settingChange.bind(_this);
_this.onCompoundChange = _this.onCompoundChange.bind(_this);
@ -118190,7 +118199,7 @@ var IpfsSettingsView = function (_React$Component) {
var ipfsDaemonSettings = Object.assign({}, this.state.ipfsDaemonSettings);
ipfsDaemonSettings[name] = value;
if (name === 'OrbitDataDir') ipfsDaemonSettings.IpfsDataDir = value + '/ipfs';
if (isElectron && name === 'OrbitDataDir') ipfsDaemonSettings.IpfsDataDir = value + '/ipfs';
logger.info('compound change', name);
this.updateState(ipfsDaemonSettings);
@ -118222,48 +118231,89 @@ var IpfsSettingsView = function (_React$Component) {
null,
'Directories'
),
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'OrbitDataDir' },
'Orbit Data Directory'
),
_react2.default.createElement('input', { name: 'OrbitDataDir',
ref: 'orbitDataDirField',
type: 'text',
value: settings.OrbitDataDir,
onInput: this.settingChange.bind(this)
})
),
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'IpfsDataDir' },
'IPFS Repository Path'
),
_react2.default.createElement('input', { name: 'IpfsDataDir',
type: 'text',
value: settings.IpfsDataDir,
onInput: this.settingChange.bind(this)
})
),
_react2.default.createElement(
!isElectron ? _react2.default.createElement(
'div',
null,
_react2.default.createElement(_IpfsAddressSettings2.default, { Addresses: settings.Addresses,
onChange: this.onCompoundChange
})
),
_react2.default.createElement(
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'OrbitDataDir' },
'Orbit Data Directory'
),
_react2.default.createElement('input', { name: 'OrbitDataDir',
ref: 'orbitDataDirField',
type: 'text',
value: settings.OrbitDataDir,
onInput: this.settingChange.bind(this)
})
),
_react2.default.createElement(
'title',
null,
'IPFS Addresses'
),
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'SignalServer' },
'Signal Server Address'
),
_react2.default.createElement('input', { name: 'SignalServer',
type: 'text',
value: settings.SignalServer,
onInput: this.settingChange.bind(this)
})
)
) : _react2.default.createElement(
'div',
null,
_react2.default.createElement(_IpfsApiSettings2.default, { API: settings.API,
onChange: this.onCompoundChange
})
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'OrbitDataDir' },
'Orbit Data Directory'
),
_react2.default.createElement('input', { name: 'OrbitDataDir',
ref: 'orbitDataDirField',
type: 'text',
value: settings.OrbitDataDir,
onInput: this.settingChange.bind(this)
})
),
_react2.default.createElement(
'div',
{ className: 'textInput' },
_react2.default.createElement(
'label',
{ htmlFor: 'IpfsDataDir' },
'IPFS Repository Path'
),
_react2.default.createElement('input', { name: 'IpfsDataDir',
type: 'text',
value: settings.IpfsDataDir,
onInput: this.settingChange.bind(this)
})
),
_react2.default.createElement(
'div',
null,
_react2.default.createElement(_IpfsAddressSettings2.default, { Addresses: settings.Addresses,
onChange: this.onCompoundChange
})
),
_react2.default.createElement(
'div',
null,
_react2.default.createElement(_IpfsApiSettings2.default, { API: settings.API,
onChange: this.onCompoundChange
})
)
)
),
_react2.default.createElement(

View File

@ -12,6 +12,8 @@ import Logger from 'logplease'
const logger = Logger.create('IpfsSettingsView', { color: Logger.Colors.Black });
const isElectron = window.isElectron
class IpfsSettingsView extends React.Component {
constructor(props) {
super(props);
@ -22,6 +24,11 @@ class IpfsSettingsView extends React.Component {
OrbitDataDir: null,
}
};
if (!isElectron) {
Object.assign(this.state, { SignalServer: null })
}
this.updateState = this.updateState.bind(this);
this.settingChange = this.settingChange.bind(this);
this.onCompoundChange = this.onCompoundChange.bind(this);
@ -51,7 +58,7 @@ class IpfsSettingsView extends React.Component {
let ipfsDaemonSettings = Object.assign({}, this.state.ipfsDaemonSettings)
ipfsDaemonSettings[name] = value
if (name === 'OrbitDataDir')
if (isElectron && name === 'OrbitDataDir')
ipfsDaemonSettings.IpfsDataDir = value + '/ipfs'
logger.info('compound change', name)
@ -71,33 +78,58 @@ class IpfsSettingsView extends React.Component {
<form className="IpfsSettingsView" onSubmit={this.save.bind(this)}>
<h1 className="title">Orbit Configuration</h1>
<title>Directories</title>
<div className="textInput">
<label htmlFor="OrbitDataDir">Orbit Data Directory</label>
<input name="OrbitDataDir"
ref="orbitDataDirField"
type="text"
value={settings.OrbitDataDir}
onInput={this.settingChange.bind(this)}
/>
</div>
<div className="textInput">
<label htmlFor="IpfsDataDir">IPFS Repository Path</label>
<input name="IpfsDataDir"
type="text"
value={settings.IpfsDataDir}
onInput={this.settingChange.bind(this)}
/>
</div>
<div>
<IpfsAddressSettings Addresses={settings.Addresses}
{!isElectron ?
<div>
<div className="textInput">
<label htmlFor="OrbitDataDir">Orbit Data Directory</label>
<input name="OrbitDataDir"
ref="orbitDataDirField"
type="text"
value={settings.OrbitDataDir}
onInput={this.settingChange.bind(this)}
/>
</div>
<title>IPFS Addresses</title>
<div className="textInput">
<label htmlFor="SignalServer">Signal Server Address</label>
<input name="SignalServer"
type="text"
value={settings.SignalServer}
onInput={this.settingChange.bind(this)}
/>
</div>
</div>
:
<div>
<div className="textInput">
<label htmlFor="OrbitDataDir">Orbit Data Directory</label>
<input name="OrbitDataDir"
ref="orbitDataDirField"
type="text"
value={settings.OrbitDataDir}
onInput={this.settingChange.bind(this)}
/>
</div>
<div className="textInput">
<label htmlFor="IpfsDataDir">IPFS Repository Path</label>
<input name="IpfsDataDir"
type="text"
value={settings.IpfsDataDir}
onInput={this.settingChange.bind(this)}
/>
</div>
<div>
<IpfsAddressSettings Addresses={settings.Addresses}
onChange={this.onCompoundChange}
/>
</div>
<div>
<IpfsApiSettings API={settings.API}
onChange={this.onCompoundChange}
/>
</div>
<div>
<IpfsApiSettings API={settings.API}
onChange={this.onCompoundChange}
/>
</div>
/>
</div>
</div>
}
</form>
<div className="save">
<button className="submitButton"

View File

@ -249,7 +249,7 @@ const MessageStore = Reflux.createStore({
})
},
onLoadFile: function(hash: string, asURL: boolean, asStream: boolean, callback) {
const isElectron = !!window.ipfsInstance
const isElectron = window.isElectron
if(isElectron && asURL) {
console.log(window.gatewayAddress, this.orbit._ipfs.GatewayAddress)
callback(null, null, 'http://' + window.gatewayAddress + hash)