Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add faucet to branding (with show and editable option)
add featured markets
enable allowed logins

Signed-off-by: Stefan Schiessl <stefan.schiessl@blockchainprojectsbv.com>
  • Loading branch information
Stefan Schiessl committed Jun 29, 2018
1 parent 972cf44 commit db8075f
Show file tree
Hide file tree
Showing 4 changed files with 162 additions and 127 deletions.
4 changes: 3 additions & 1 deletion app/api/apiConfig.js
@@ -1,3 +1,5 @@
import {getFaucet} from "../branding";

export const blockTradesAPIs = {
BASE: "https://api.blocktrades.us/v2",
COINS_LIST: "/coins",
Expand Down Expand Up @@ -147,7 +149,7 @@ export const settingsAPIs = {
location: "TESTNET - APT BitShares (Dallas, USA)"
}
],
DEFAULT_FAUCET: "https://faucet.bitshares.eu/onboarding", // 2017-12-infrastructure worker proposal
DEFAULT_FAUCET: getFaucet().url,
TESTNET_FAUCET: "https://faucet.testnet.bitshares.eu",
RPC_URL: "https://openledger.info/api/"
};
100 changes: 96 additions & 4 deletions app/branding.js
Expand Up @@ -20,6 +20,19 @@ export function getWalletURL() {
return "https://wallet.bitshares.org";
}

/**
* Returns faucet information
*
* @returns {{url: string, show: boolean}}
*/
export function getFaucet() {
return {
url: "https://faucet.bitshares.eu/onboarding", // 2017-12-infrastructure worker proposal
show: true,
editable: true
};
}

/**
* Logo that is used throughout the UI
* @returns {*}
Expand Down Expand Up @@ -143,6 +156,87 @@ export function getMyMarketsQuotes() {
];
}

/**
* The featured markets displayed on the landing page of the UI
*
* @returns {list of string tuples}
*/
export function getFeaturedMarkets() {
return [
["USD", "BTS"],
["USD", "OPEN.BTC"],
["USD", "OPEN.USDT"],
["USD", "OPEN.ETH"],
["USD", "OPEN.DASH"],
["USD", "GOLD"],
["USD", "HERO"],
["USD", "GDEX.BTC"],
["USD", "GDEX.ETH"],
["USD", "GDEX.EOS"],
["USD", "GDEX.BTO"],
["CNY", "BTS"],
["CNY", "OPEN.BTC"],
["CNY", "USD"],
["CNY", "OPEN.ETH"],
["CNY", "YOYOW"],
["CNY", "OCT"],
["CNY", "GDEX.BTC"],
["CNY", "GDEX.ETH"],
["CNY", "GDEX.EOS"],
["CNY", "GDEX.BTO"],
["CNY", "GDEX.BTM"],
["OPEN.BTC", "BTS"],
["OPEN.BTC", "OPEN.ETH"],
["OPEN.BTC", "OPEN.DASH"],
["OPEN.BTC", "BLOCKPAY"],
["OPEN.BTC", "OPEN.DGD"],
["OPEN.BTC", "OPEN.STEEM"],
["BTS", "OPEN.ETH"],
["BTS", "OPEN.EOS"],
["BTS", "PPY"],
["BTS", "OPEN.STEEM"],
["BTS", "OBITS"],
["BTS", "RUBLE"],
["BTS", "HERO"],
["BTS", "OCT"],
["BTS", "SILVER"],
["BTS", "GOLD"],
["BTS", "BLOCKPAY"],
["BTS", "BTWTY"],
["BTS", "SMOKE"],
["BTS", "GDEX.BTC"],
["BTS", "GDEX.ETH"],
["BTS", "GDEX.EOS"],
["BTS", "GDEX.BTO"],
["KAPITAL", "OPEN.BTC"],
["USD", "OPEN.STEEM"],
["USD", "OPEN.MAID"],
["OPEN.USDT", "OPEN.BTC"],
["OPEN.BTC", "OPEN.MAID"],
["BTS", "OPEN.MAID"],
["BTS", "OPEN.HEAT"],
["BTS", "OPEN.INCENT"],
["HEMPSWEET", "OPEN.BTC"],
["KAPITAL", "BTS"],
["BTS", "RUDEX.STEEM"],
["USD", "RUDEX.STEEM"],
["BTS", "RUDEX.SBD"],
["BTS", "RUDEX.KRM"],
["USD", "RUDEX.KRM"],
["RUBLE", "RUDEX.GOLOS"],
["CNY", "RUDEX.GOLOS"],
["RUBLE", "RUDEX.GBG"],
["CNY", "RUDEX.GBG"],
["BTS", "RUDEX.MUSE"],
["BTS", "RUDEX.TT"],
["BTS", "RUDEX.SCR"],
["BTS", "RUDEX.ETH"],
["BTS", "RUDEX.DGB"],
["BTS", "ZEPH"],
["BTS", "HERTZ"]
];
}

/**
* Recognized namespaces of assets
*
Expand Down Expand Up @@ -174,9 +268,7 @@ export function getSupportedLanguages() {
// not yet supported
}

export function allowedLogin(type) {
// not yet supported

export function getAllowedLogins() {
// possible: list containing any combination of ["password", "wallet"]
return type == "password";
return ["password", "wallet"];
}
117 changes: 26 additions & 91 deletions app/components/Dashboard/Markets.jsx
Expand Up @@ -7,6 +7,7 @@ import SettingsStore from "stores/SettingsStore";
// import SettingsActions from "actions/SettingsActions";
import MarketsStore from "stores/MarketsStore";
import MarketsTable from "./MarketsTable";
import {getFeaturedMarkets} from "../../branding";

class StarredMarkets extends React.Component {
render() {
Expand All @@ -22,95 +23,26 @@ class StarredMarkets extends React.Component {
return <MarketsTable markets={markets} forceDirection={true} />;
}
}
StarredMarkets = connect(StarredMarkets, {
listenTo() {
return [SettingsStore];
},
getProps() {
return {
starredMarkets: SettingsStore.getState().starredMarkets
};
StarredMarkets = connect(
StarredMarkets,
{
listenTo() {
return [SettingsStore];
},
getProps() {
return {
starredMarkets: SettingsStore.getState().starredMarkets
};
}
}
});
);

class FeaturedMarkets extends React.Component {
constructor() {
super();

this.marketsByChain = {
"4018d784": [
["USD", "BTS"],
["USD", "OPEN.BTC"],
["USD", "OPEN.USDT"],
["USD", "OPEN.ETH"],
["USD", "OPEN.DASH"],
["USD", "GOLD"],
["USD", "HERO"],
["USD", "GDEX.BTC"],
["USD", "GDEX.ETH"],
["USD", "GDEX.EOS"],
["USD", "GDEX.BTO"],
["CNY", "BTS"],
["CNY", "OPEN.BTC"],
["CNY", "USD"],
["CNY", "OPEN.ETH"],
["CNY", "YOYOW"],
["CNY", "OCT"],
["CNY", "GDEX.BTC"],
["CNY", "GDEX.ETH"],
["CNY", "GDEX.EOS"],
["CNY", "GDEX.BTO"],
["CNY", "GDEX.BTM"],
["OPEN.BTC", "BTS"],
["OPEN.BTC", "OPEN.ETH"],
["OPEN.BTC", "OPEN.DASH"],
["OPEN.BTC", "BLOCKPAY"],
["OPEN.BTC", "OPEN.DGD"],
["OPEN.BTC", "OPEN.STEEM"],
["BTS", "OPEN.ETH"],
["BTS", "OPEN.EOS"],
["BTS", "PPY"],
["BTS", "OPEN.STEEM"],
["BTS", "OBITS"],
["BTS", "RUBLE"],
["BTS", "HERO"],
["BTS", "OCT"],
["BTS", "SILVER"],
["BTS", "GOLD"],
["BTS", "BLOCKPAY"],
["BTS", "BTWTY"],
["BTS", "SMOKE"],
["BTS", "GDEX.BTC"],
["BTS", "GDEX.ETH"],
["BTS", "GDEX.EOS"],
["BTS", "GDEX.BTO"],
["KAPITAL", "OPEN.BTC"],
["USD", "OPEN.STEEM"],
["USD", "OPEN.MAID"],
["OPEN.USDT", "OPEN.BTC"],
["OPEN.BTC", "OPEN.MAID"],
["BTS", "OPEN.MAID"],
["BTS", "OPEN.HEAT"],
["BTS", "OPEN.INCENT"],
["HEMPSWEET", "OPEN.BTC"],
["KAPITAL", "BTS"],
["BTS", "RUDEX.STEEM"],
["USD", "RUDEX.STEEM"],
["BTS", "RUDEX.SBD"],
["BTS", "RUDEX.KRM"],
["USD", "RUDEX.KRM"],
["RUBLE", "RUDEX.GOLOS"],
["CNY", "RUDEX.GOLOS"],
["RUBLE", "RUDEX.GBG"],
["CNY", "RUDEX.GBG"],
["BTS", "RUDEX.MUSE"],
["BTS", "RUDEX.TT"],
["BTS", "RUDEX.SCR"],
["BTS", "RUDEX.ETH"],
["BTS", "RUDEX.DGB"],
["BTS", "ZEPH"],
["BTS", "HERTZ"]
],
"4018d784": getFeaturedMarkets(),
"39f5e2ed": [["TEST", "PEG.FAKEUSD"], ["TEST", "BTWTY"]]
};

Expand Down Expand Up @@ -159,16 +91,19 @@ class FeaturedMarkets extends React.Component {
}
}

FeaturedMarkets = connect(FeaturedMarkets, {
listenTo() {
return [MarketsStore];
},
getProps() {
return {
lowVolumeMarkets: MarketsStore.getState().lowVolumeMarkets
};
FeaturedMarkets = connect(
FeaturedMarkets,
{
listenTo() {
return [MarketsStore];
},
getProps() {
return {
lowVolumeMarkets: MarketsStore.getState().lowVolumeMarkets
};
}
}
});
);

class TopMarkets extends React.Component {
render() {
Expand Down
68 changes: 37 additions & 31 deletions app/components/Settings/Settings.jsx
Expand Up @@ -13,6 +13,7 @@ import ResetSettings from "./ResetSettings";
import BackupSettings from "./BackupSettings";
import AccessSettings from "./AccessSettings";
import {set} from "lodash-es";
import {getAllowedLogins, getFaucet} from "../../branding";

class Settings extends React.Component {
constructor(props) {
Expand All @@ -25,22 +26,25 @@ class Settings extends React.Component {
: props.viewSettings.get("activeSetting", 0);
if (tabIndex >= 0) activeSetting = tabIndex;

let general = [
"locale",
"unit",
"browser_notifications",
"showSettles",
"walletLockTimeout",
"themes",
"showAssetPercent"
];
// disable that the user can change login method if only one is allowed
if (getAllowedLogins().length > 1) general.push("passwordLogin");
general.push("reset");

this.state = {
apiServer: props.settings.get("apiServer"),
activeSetting,
menuEntries,
settingEntries: {
general: [
"locale",
"unit",
"browser_notifications",
"showSettles",
"walletLockTimeout",
"themes",
"showAssetPercent",
"passwordLogin",
"reset"
],
general: general,
access: ["apiServer", "faucet_address"]
}
};
Expand Down Expand Up @@ -88,23 +92,20 @@ class Settings extends React.Component {
if (props.deprecated) {
return ["wallet", "backup"];
}
let menuEntries = [
"general",
"wallet",
"accounts",
"password",
"backup",
"restore",
"access",
"faucet_address",
"reset"
];
let menuEntries = [];

menuEntries.push("general");
if (!props.settings.get("passwordLogin")) menuEntries.push("wallet");
menuEntries.push("accounts");
menuEntries.push("password");
if (!props.settings.get("passwordLogin")) menuEntries.push("backup");
if (!props.settings.get("passwordLogin")) menuEntries.push("restore");
menuEntries.push("access");

if (getFaucet().show) menuEntries.push("faucet_address");

menuEntries.push("reset");

if (props.settings.get("passwordLogin")) {
menuEntries.splice(4, 1);
menuEntries.splice(3, 1);
menuEntries.splice(1, 1);
}
return menuEntries;
}

Expand Down Expand Up @@ -289,13 +290,18 @@ class Settings extends React.Component {
case "faucet_address":
entries = (
<input
disabled={!getFaucet().editable}
type="text"
className="settings-input"
defaultValue={settings.get("faucet_address")}
onChange={this._onChangeSetting.bind(
this,
"faucet_address"
)}
onChange={
getFaucet().editable
? this._onChangeSetting.bind(
this,
"faucet_address"
)
: null
}
/>
);
break;
Expand Down

0 comments on commit db8075f

Please sign in to comment.