diff --git a/assets/img/icon-delegate.svg b/assets/img/icon-delegate.svg new file mode 100644 index 00000000..a797958f --- /dev/null +++ b/assets/img/icon-delegate.svg @@ -0,0 +1,6 @@ + diff --git a/assets/img/icon-feature-mining.svg b/assets/img/icon-feature-mining.svg index fb0a037d..2ca2f747 100644 --- a/assets/img/icon-feature-mining.svg +++ b/assets/img/icon-feature-mining.svg @@ -1,4 +1,3 @@ diff --git a/assets/img/icon-unbond.svg b/assets/img/icon-unbond.svg new file mode 100644 index 00000000..0b1e3f6e --- /dev/null +++ b/assets/img/icon-unbond.svg @@ -0,0 +1,7 @@ + diff --git a/assets/less/include/general.less b/assets/less/include/general.less index a313d127..ecb2aa1d 100644 --- a/assets/less/include/general.less +++ b/assets/less/include/general.less @@ -256,7 +256,7 @@ dd {overflow-wrap: break-word; margin: 0;} .form-field__help { font-size: 12px; line-height: 16px; margin-top: 6px; display: block; color: @c-black-light; .form-field__error + & {margin-top: 0;} - &.u-cell {margin-top: 0;} + &.u-cell {margin-top: 0; line-height: 18px;} } .error-text() {font-size: 12px; color: @c-red; line-height: 16px;} .form-field__error {.error-text(); margin-top: 6px; overflow-wrap: break-word; display: block;} diff --git a/assets/less/style.less b/assets/less/style.less index 542ef623..21559c56 100644 --- a/assets/less/style.less +++ b/assets/less/style.less @@ -64,7 +64,7 @@ .main-wrap {display: flex; flex-direction: column; min-height: 100vh; position: relative;} .main-content {width: 100%; flex-grow: 2;} .main-content--grid {} -.main-content__aside {position: absolute; z-index: 1; top: @header-height; min-height: calc(100% - @header-height); overflow: auto; background: #fff;} +.main-content__aside {position: absolute; z-index: 2; /* higher than input buttons */ top: @header-height; min-height: calc(100% - @header-height); overflow: auto; background: #fff;} .main-content__aside-section {padding-top: 24px; padding-bottom: 24px;} .main-content__main {} @media (min-width: @breakpoint-medium-up) { @@ -186,11 +186,11 @@ // footer -.footer {background: #3c3c3c; color: #fff; padding: 38px 0; width: 100%;} +.footer {background: #3c3c3c; color: #fff; padding: 34px 0; width: 100%;} .footer__container {display: flex; justify-content: center; flex-wrap: wrap;} .footer__logo-link {} -.footer__logo {width: 76px; display: block;} -.footer__menu {width: 100%; margin-top: 20px; text-align: center;} +.footer__logo {display: block; margin: -4px 0 20px;} +.footer__menu {width: 100%; text-align: center;} .footer__menu-item { font-size: 14px; font-weight: 700; display: inline-block; &::after {content: ' | '; /* mid spaces U+2005, bc. last regular space not preserved */ margin: 0 3px;} @@ -198,8 +198,8 @@ } @media (min-width: @breakpoint-large-up) { .footer__container {align-items: center; justify-content: space-between;} - .footer__logo {margin-top: -8px;} - .footer__menu {width: auto; margin-top: 0;} + .footer__logo {margin: 0 0 8px;} + .footer__menu {width: auto;} } diff --git a/assets/utils.js b/assets/utils.js index 17180f27..24e4da9f 100644 --- a/assets/utils.js +++ b/assets/utils.js @@ -1,7 +1,7 @@ import parseISO from "date-fns/esm/parseISO"; import format from "date-fns/esm/format"; import decode from 'entity-decode'; -import prettyNum, {PRECISION_SETTING} from 'pretty-num'; +import prettyNum, {PRECISION_SETTING, ROUNDING_MODE} from 'pretty-num'; import stripZeros from 'pretty-num/src/strip-zeros'; import fromExponential from 'from-exponential'; import {txTypeList} from 'minterjs-tx/src/tx-types'; @@ -75,14 +75,15 @@ export function getExplorerValidatorUrl(pubKey) { /** * @param {string|number} value + * @param {ROUNDING_MODE} [roundingMode] * @return {string} */ -export function pretty(value) { +export function pretty(value, roundingMode) { const PRECISION = 2; if (value >= 1 || value <= -1 || Number(value) === 0) { - return decode(prettyNum(value, {precision: PRECISION, precisionSetting: PRECISION_SETTING.FIXED, thousandsSeparator: ' '})); + return decode(prettyNum(value, {precision: PRECISION, precisionSetting: PRECISION_SETTING.FIXED, roundingMode, thousandsSeparator: ' '})); } else { - value = decode(prettyNum(value, {precision: PRECISION, precisionSetting: PRECISION_SETTING.REDUCE_SIGNIFICANT, thousandsSeparator: ' '})); + value = decode(prettyNum(value, {precision: PRECISION, precisionSetting: PRECISION_SETTING.REDUCE_SIGNIFICANT, roundingMode, thousandsSeparator: ' '})); value = value.substr(0, 10); if (value === '0.00000000') { return '0.00'; @@ -91,22 +92,40 @@ export function pretty(value) { } } +/** + * @param {string|number} value + * @return {string} + */ +export function prettyCeil(value) { + return decode(prettyNum(value, {precision: 2, precisionSetting: PRECISION_SETTING.FIXED, roundingMode: ROUNDING_MODE.CEIL, thousandsSeparator: ' '})); +} + /** * Ensure value to have from 2 to 8 decimal digits * @param {string|number} value + * @param {ROUNDING_MODE} [roundingMode] * @return {string} */ -export function prettyPrecise(value) { +export function prettyPrecise(value, roundingMode) { const parts = stripZeros(fromExponential(value)).split('.'); const isReduced = parts[1] && parts[1].length > 2; if (isReduced) { - return decode(prettyNum(value, {precision: 8, precisionSetting: PRECISION_SETTING.REDUCE, thousandsSeparator: ' '})); + return decode(prettyNum(value, {precision: 8, precisionSetting: PRECISION_SETTING.REDUCE, roundingMode, thousandsSeparator: ' '})); } else { // ensure at least 2 decimal digits - return decode(prettyNum(value, {precision: 2, precisionSetting: PRECISION_SETTING.FIXED, thousandsSeparator: ' '})); + return decode(prettyNum(value, {precision: 2, precisionSetting: PRECISION_SETTING.FIXED, roundingMode, thousandsSeparator: ' '})); } } +/** + * Ensure value to have from 2 to 8 decimal digits + * @param {string|number} value + * @return {string} + */ +export function prettyPreciseFloor(value) { + return prettyPrecise(value, ROUNDING_MODE.FLOOR); +} + /** * Ensure value to have minimum 2 decimal digits * @param {string|number} value diff --git a/components/AuthAdvancedForm.vue b/components/AuthAdvancedForm.vue index 20b36689..67b7be4a 100644 --- a/components/AuthAdvancedForm.vue +++ b/components/AuthAdvancedForm.vue @@ -52,7 +52,7 @@
- {{ $td('Nonce for new Tx:', 'form.broadcast-nonce-got') }} {{ serverSuccess }} + {{ $td('Nonce for a new transaction:', 'form.broadcast-nonce-got') }} {{ serverSuccess }}