refactor
This commit is contained in:
parent
36ffbe6322
commit
e3aae34f65
1 changed files with 32 additions and 50 deletions
|
@ -24,16 +24,8 @@ type StatusOfServer = {
|
||||||
};
|
};
|
||||||
|
|
||||||
type ServerTuple = Array<string>; // ['host', 'port']
|
type ServerTuple = Array<string>; // ['host', 'port']
|
||||||
|
|
||||||
type DisplayOfServer = {
|
|
||||||
host: string,
|
|
||||||
port: string,
|
|
||||||
availability: boolean,
|
|
||||||
};
|
|
||||||
|
|
||||||
type ServerStatus = Array<StatusOfServer>;
|
type ServerStatus = Array<StatusOfServer>;
|
||||||
type ServerConfig = Array<ServerTuple>;
|
type ServerConfig = Array<ServerTuple>;
|
||||||
type DisplayList = Array<DisplayOfServer>;
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
daemonSettings: DaemonSettings,
|
daemonSettings: DaemonSettings,
|
||||||
|
@ -66,7 +58,6 @@ function SettingWalletServer(props: Props) {
|
||||||
const currentServerConfig: ServerConfig = daemonSettings && daemonSettings.lbryum_servers;
|
const currentServerConfig: ServerConfig = daemonSettings && daemonSettings.lbryum_servers;
|
||||||
const serverConfig: ServerConfig = customWalletServers.length ? customWalletServers : currentServerConfig;
|
const serverConfig: ServerConfig = customWalletServers.length ? customWalletServers : currentServerConfig;
|
||||||
const STATUS_INTERVAL = 5000;
|
const STATUS_INTERVAL = 5000;
|
||||||
console.log(hasWalletServerPrefs)
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (hasWalletServerPrefs) {
|
if (hasWalletServerPrefs) {
|
||||||
|
@ -85,19 +76,6 @@ function SettingWalletServer(props: Props) {
|
||||||
fetchDaemonSettings();
|
fetchDaemonSettings();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function makeDisplayList(l) {
|
|
||||||
const displayList = [];
|
|
||||||
l.forEach(entry => {
|
|
||||||
displayList.push({
|
|
||||||
host: entry[0],
|
|
||||||
port: entry[1],
|
|
||||||
available:
|
|
||||||
activeWalletServers.some(s => s.host === entry[0] && String(s.port) === entry[1] && s.availability) || false,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return displayList;
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeServerParam(configList) {
|
function makeServerParam(configList) {
|
||||||
return configList.reduce((acc, cur) => {
|
return configList.reduce((acc, cur) => {
|
||||||
acc.push(`${cur[0]}:${cur[1]}`);
|
acc.push(`${cur[0]}:${cur[1]}`);
|
||||||
|
@ -131,29 +109,29 @@ function SettingWalletServer(props: Props) {
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<label>{__('Wallet servers')}</label>
|
<label>{__('Wallet servers')}</label>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<FormField
|
<FormField
|
||||||
type="radio"
|
type="radio"
|
||||||
name="default_wallet_servers"
|
name="default_wallet_servers"
|
||||||
checked={!advancedMode}
|
checked={!advancedMode}
|
||||||
label={__('lbry.tv')}
|
label={__('lbry.tv')}
|
||||||
onChange={e => {
|
onChange={e => {
|
||||||
if (e.target.checked) {
|
if (e.target.checked) {
|
||||||
doClear();
|
doClear();
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<FormField
|
<FormField
|
||||||
type="radio"
|
type="radio"
|
||||||
name="custom_wallet_servers"
|
name="custom_wallet_servers"
|
||||||
checked={advancedMode}
|
checked={advancedMode}
|
||||||
onChange={e => {
|
onChange={e => {
|
||||||
setAdvancedMode(e.target.checked);
|
setAdvancedMode(e.target.checked);
|
||||||
if (e.target.checked) {
|
if (e.target.checked) {
|
||||||
setCustomWalletServers(makeServerParam(customWalletServers));
|
setCustomWalletServers(makeServerParam(customWalletServers));
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
label={__('customize')}
|
label={__('customize')}
|
||||||
/>
|
/>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{advancedMode && (
|
{advancedMode && (
|
||||||
<div>
|
<div>
|
||||||
|
@ -168,11 +146,15 @@ function SettingWalletServer(props: Props) {
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{serverConfig &&
|
{serverConfig &&
|
||||||
makeDisplayList(serverConfig).map((t, i) => (
|
serverConfig.map((entry, i) => (
|
||||||
<tr key={`${t.host}:${t.port}`}>
|
<tr key={`${entry[0]}:${entry[1]}`}>
|
||||||
<td>{t.host}</td>
|
<td>{entry[0]}</td>
|
||||||
<td>{t.port}</td>
|
<td>{entry[1]}</td>
|
||||||
<td>{t.available && <Icon icon={ICONS.SUBSCRIBE} />}</td>
|
<td>
|
||||||
|
{activeWalletServers.some(
|
||||||
|
s => s.host === entry[0] && String(s.port) === entry[1] && s.availability
|
||||||
|
) && <Icon icon={ICONS.SUBSCRIBE} />}
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<Button button={'link'} icon={ICONS.REMOVE} onClick={() => onDelete(i)} />
|
<Button button={'link'} icon={ICONS.REMOVE} onClick={() => onDelete(i)} />
|
||||||
</td>
|
</td>
|
||||||
|
|
Loading…
Add table
Reference in a new issue