Skip to content
Snippets Groups Projects
Commit a3815b7c authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

- Menu: on small device, display profile in left menu

- Currency: DU formula has changed to DUĞ - fix #210
- Currency: refactoring tabs , to have one state per tab
- Currency: refactoring content (separate currency/wot rules)
- Currency: remove space on top of tabs header
- ES Market: use card to display search result on small device
- ES Market: add a badge (in search result) if record is an offer
parent c415aa6c
No related branches found
No related tags found
No related merge requests found
Showing
with 254 additions and 147 deletions
......@@ -24,13 +24,11 @@ __Objectif :__ Dans ce niveau, l'objectif est d'afficher dans la page [`Monnaie`
### Modifier le template HTML
Ouvrez le fichier de template `/www/templates/currency/tabs/view_parameters.html`.
Ouvrez le fichier de template `/www/templates/currency/tabs/items_parameters.html`.
Ajouter un nouvel élément dans la liste des paramètres, c'est à dire un nouveau tag `<ion-item>`, sous le tag `<ion-list>` :
```html
<ion-list>
(...)
<ion-item class="item-icon-left">
......@@ -38,8 +36,6 @@ Ajouter un nouvel élément dans la liste des paramètres, c'est à dire un nouv
<span translate>CURRENCY.VIEW.STEP_MAX</span>
<span class="badge badge-stable">{{stepMax}}</span>
</ion-item>
</ion-list>
```
Si vous rafraichissez la page `Monnaie` de votre navigateur, vous devriez observer la modification :
......
......@@ -25,6 +25,7 @@ $dark: #444 !default;
$active: #b2e0ff !default;
$stable-900-bg: #e0e0e0 !default;
$positive-900-bg: #1A237E !default;
// The path for our ionicons font files, relative to the built CSS in www/css
$ionicons-font-path: "../lib/ionic/fonts" !default;
......@@ -323,7 +324,7 @@ $screen-lg: 1200px;
}
}
@media screen and (ma-width: $screen-sm) {
@media screen and (max-width: $screen-sm) {
.no-padding-xs {
padding: inherit;
}
......@@ -663,7 +664,7 @@ $screen-menu: 845px;
@media screen and (max-width: $screen-xs-max) {
#home .logo {
height: 96px;
background-image: url(../img/logo_96px.png);
background-image: url('../img/logo_96px.png');
background-size: 96px 96px;
}
#home .footer {
......@@ -673,7 +674,7 @@ $screen-menu: 845px;
@media screen and (min-width: $screen-sm) and (max-width: $screen-sm-max) {
#home .logo {
height: 144px;
background-image: url(../img/logo_144px.png);
background-image: url('../img/logo_144px.png');
background-size: 144px 144px;
}
#home .button {
......@@ -684,7 +685,7 @@ $screen-menu: 845px;
@media screen and (min-width: $screen-md) {
#home .logo {
height: 200px;
background-image: url(../../resources/logo/svg/colors/logo.large.cesium.dune.svg);
background-image: url('../../resources/logo/svg/colors/logo.large.cesium.dune.svg');
background-size: 200px 200px;
}
......@@ -699,7 +700,7 @@ $screen-menu: 845px;
@media screen and (min-width: $screen-md) {
.circle-bg-dark {
ion-content.scroll-content {
background-image: url(../../resources/logo/svg/white/logo.large.empty.transparent.svg);
background-image: url('../../resources/logo/svg/white/logo.large.empty.transparent.svg');
background-repeat: no-repeat;
background-position: -725px -145px;
background-size: 1024px 1024px;
......@@ -707,7 +708,7 @@ $screen-menu: 845px;
}
.menu.menu-left {
background-image: url(../../resources/logo/svg/white/logo.large.empty.transparent.svg);
background-image: url('../../resources/logo/svg/white/logo.large.empty.transparent.svg');
background-repeat: no-repeat;
background-position: -500px -100px;
background-size: 1024px 1024px;
......@@ -769,7 +770,7 @@ $screen-menu: 845px;
}
.avatar-member {
background-image: url(../img/person.png);
background-image: url('../img/person.png');
}
.avatar.disable {
......@@ -777,7 +778,7 @@ $screen-menu: 845px;
}
.avatar-wallet {
background-image: url(../img/card.png);
background-image: url('../img/card.png');
}
/* ----
......@@ -873,6 +874,7 @@ $screen-menu: 845px;
.item.item-icon-left.item-wallet-event .icon {
font-size: 15px;
}
}
.popover-wallet-actions {
......@@ -1196,7 +1198,7 @@ a.underline:hover,
*/
.item.item-icon-right .badge,
.item.item-button-right .badge,
.item.item-button-right .badge
{
right: 43px;
}
......@@ -1281,6 +1283,9 @@ $ionicon-var-badge-editable: $ionicon-var-edit + "\00a0";
font-size: 50px !important;
line-height: 80px;
padding: 0 15px;
background-position: center;
background-size: cover;
display: inline-block;
}
......@@ -1391,6 +1396,26 @@ $ionicon-var-badge-editable: $ionicon-var-edit + "\00a0";
}
}
@media screen and (max-width: $screen-sm-max) {
#menu .bar-header {
background-color: $positive-900-bg;
color: #fff;
height: 175px;
.hero {
height: 175px;
.content {
bottom: 5px;
}
}
}
#menu .has-header {
top: 175px;
}
}
/**********
Screen - identity Certifications
......
......@@ -13930,7 +13930,7 @@ a {
display: none;
visibility: hidden; } }
 
@media screen and (ma-width: 768px) {
@media screen and (max-width: 768px) {
.no-padding-xs {
padding: inherit; } }
 
......@@ -14476,8 +14476,7 @@ a.underline:hover,
max-height: 150px; }
 
.gallery .card-gallery-new {
max-height: 199px;
/*img=150px + tabs=49px*/ }
max-height: 199px; }
 
.list .item.text-left {
text-align: left !important; }
......@@ -14680,7 +14679,10 @@ a.underline:hover,
overflow: hidden !important;
font-size: 50px !important;
line-height: 80px;
padding: 0 15px; }
padding: 0 15px;
background-position: center;
background-size: cover;
display: inline-block; }
 
@media screen and (max-width: 400px) {
.card > .item.item-thumbnail-left,
......@@ -14757,6 +14759,18 @@ a.underline:hover,
font-size: 14px !important;
color: grey !important; } }
 
@media screen and (max-width: 991px) {
#menu .bar-header {
background-color: #1A237E;
color: #fff;
height: 175px; }
#menu .bar-header .hero {
height: 175px; }
#menu .bar-header .hero .content {
bottom: 5px; }
#menu .has-header {
top: 175px; } }
/**********
Screen - identity Certifications
**********/
......
This diff is collapsed.
......@@ -135,17 +135,16 @@
"TAB_WOT": "Community",
"TAB_NETWORK": "Network",
"CURRENCY_NAME": "Currency name",
"MEMBERS": "Members",
"INCOMING_MEMBERS": "Incoming members",
"MEMBERS": "Members count",
"MEMBERS_VARIATION": "Variation (depuis {{dt | formatDuration}})",
"MONEY_DIVIDER": "Money",
"MASS": "Monetary mass",
"SHARE": "Money share",
"UD": "Universal Dividend",
"C_ACTUAL": "c<sub>actual</sub>",
"BLOCKCHAIN_DIVIDER": "Blockchain",
"TIME": "Current time",
"POW_MIN": "Common difficulty",
"RULES_DIVIDER": "Rules",
"MONEY_RULES_DIVIDER": "Rules of currency",
"C_RULE": "c",
"UD_RULE": "Universal dividend (formula)",
"SIG_QTY_RULE": "Required certifications<br/>to become a member",
......@@ -153,6 +152,7 @@
"SIG_PERIOD": "Minimum delay between 2 certifications<br/>of a same issuer.",
"SIG_WINDOW": "Maximum delay a certification can wait<br/>before being expired for non-writing.",
"STEP_MAX": "Maximum distance between<br/>each WoT member and a newcomer.",
"WOT_RULES_DIVIDER": "Rules for Membership",
"XPERCENT":"Minimum percent of sentries<br />to reach to match the distance rule"
}
},
......@@ -371,7 +371,7 @@
"COPY_TO_CLIPBOARD_DONE": "Copy succeed",
"MEMBERSHIP_OUT_SENT": "Membership revocation sent",
"NOT_NEED_MEMBERSHIP": "Already a member.",
"IDENTITY_WILL_MISSING_CERTIFICATIONS": "This identity will soon lack certification (at least {{willNeedCertificationCount}}).",
"IDENTITY_WILL_MISSING_CERTIFICATIONS": "This identity will soon lack certification (at least {{willNeedCertificationCount}})."
},
"CONFIRM": {
"POPUP_TITLE": "<b>Confirmation</b>",
......@@ -395,7 +395,7 @@
"TITLE": "Online help",
"JOIN": {
"SECTION": "Join",
"SALT": "The protection phrase is very important. It is used to hash you password, which in turn is used to calculate your <span class=\"text-italic\">public account key</span> (its number) and the private key to access it.<br/><b>Please remeber this phrase well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good protection phrase must be sufficiently long (8 characters at the very least) and as original as possible.",
"SALT": "The protection phrase is very important. It is used to hash you password, which in turn is used to calculate your <span class=\"text-italic\">public account key</span> (its number) and the private key to access it.<br/><b>Please remember this phrase well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good protection phrase must be sufficiently long (8 characters at the very least) and as original as possible.",
"PASSWORD": "The password is very important. Together with the protection phrase, it is use to calculate your account number (pblic key) and the private key to access it.<br/><b>Please remember it well</b>, because there is no way to recover it when lost.<br/>Furthermore, it cannot be changed without having to create a new account.<br/><br/>A good password is made (ideally) of at least 8 characters, with at least one capital and one number.",
"PSEUDO": "A pseudonym is used only when joining as <span class=\"text-italic\">member</span>. It is always associated with a wallet (by its <span class=\"text-italic\">public key</span>).<br/>It is published on the network so that other users may identify it, certify or send money to the account.<br/>A pseudonym must be unique among all members (current and past)."
},
......
......@@ -135,8 +135,8 @@
"TAB_WOT": "Communauté",
"TAB_NETWORK": "Réseau",
"CURRENCY_NAME": "Nom de la monnaie",
"MEMBERS": "Membres",
"INCOMING_MEMBERS": "Nouveaux membres",
"MEMBERS": "Nombre de membres",
"MEMBERS_VARIATION": "Variation (depuis {{dt | formatDuration}})",
"MONEY_DIVIDER": "Monnaie",
"MASS": "Masse monétaire",
"SHARE": "Masse par membre",
......@@ -145,14 +145,15 @@
"BLOCKCHAIN_DIVIDER": "Blockchain",
"TIME": "Heure de la blockchain",
"POW_MIN": "Niveau de difficulté",
"RULES_DIVIDER": "Règles",
"C_RULE": "Croissance",
"MONEY_RULES_DIVIDER": "Règles de la monnaie",
"C_RULE": "Croissance théorique (c)",
"UD_RULE": "Dividende universel (formule)",
"SIG_QTY_RULE": "Nombre de certifications requises<br/>pour devenir membre",
"SIG_STOCK": "Nombre maximal de certifications émises<br/>par membre",
"SIG_PERIOD": "Délai minimal d'attente entre 2 certifications<br/>successives émises par une même personne.",
"SIG_WINDOW": "Délai maximal d'attente avant<br/>prise en compte d'une certification",
"STEP_MAX": "Distance maximale dans la toile de confiance <br /> entre chaque membre et un nouvel entrant.",
"WOT_RULES_DIVIDER": "Règles pour devenir membre",
"XPERCENT":"Pourcentage minimum de sentinelle<br />à atteindre pour respecter la règle de distance."
}
},
......
......@@ -25,6 +25,7 @@
<script src="js/vendor/moment.fr.js"></script>
<script src="js/vendor/numeral.js"></script>
<script src="js/vendor/numeral.fr.js"></script>
<script src="js/vendor/numeral.en.js"></script>
<script src="js/vendor/socket-io.js"></script>
<script src="js/vendor/underscore.js"></script>
<script src="js/vendor/qrcode.min.js"></script>
......
......@@ -10,32 +10,35 @@ angular.module("cesium.config", [])
.constant("csConfig", {
"cacheTimeMs": 60000,
"fallbackLanguage": "en",
"rememberMe": false,
"fallbackLanguage": "fr-FR",
"defaultLanguage": "fr-FR",
"rememberMe": true,
"showUDHistory": false,
"timeout": 10000,
"timeout": 6000,
"timeWarningExpireMembership": 5184000,
"timeWarningExpire": 7776000,
"useLocalStorage": true,
"useRelative": true,
"initPhase": false,
"expertMode": false,
"decimalCount": 4,
"compatProtocol_0_80": true,
"expertMode": true,
"helptip": {
"enable": true,
"installDocUrl": "https://github.com/duniter/duniter/blob/master/doc/install-a-node.md"
"enable": false,
"installDocUrl": {
"fr-FR": "http://www.le-sou.org/devenir-noeud/",
"en": "https://github.com/duniter/duniter/blob/master/doc/install-a-node.md"
}
},
"node": {
"host": "cgeek.fr",
"port": "9330"
"host": "fakenet.cgeek.fr",
"port": "10900"
},
"plugins": {
"es": {
"enable": true,
"enable": false,
"askEnable": false,
"host": "data.duniter.fr",
"port": "80",
"host": "localhost",
"port": 9200,
"wsPort": 9400,
"notifications": {
"txSent": true,
"txReceived": true,
......@@ -45,7 +48,7 @@ angular.module("cesium.config", [])
}
},
"version": "0.9.7",
"build": "2017-01-17T08:27:57.915Z",
"build": "2017-01-17T08:59:03.785Z",
"newIssueUrl": "https://github.com/duniter/cesium/issues/new?labels=bug"
})
......
......@@ -16,12 +16,12 @@ angular.module('cesium.currency.controllers', ['cesium.services'])
}
})
.state('app.currency_view', {
.state('app.currency', {
url: "/currency/view/:name",
views: {
'menuContent': {
templateUrl: "templates/currency/view_currency.html",
controller: 'CurrencyViewCtrl'
controller: 'CurrencyViewCtrl',
}
},
data: {
......@@ -29,6 +29,33 @@ angular.module('cesium.currency.controllers', ['cesium.services'])
}
})
.state('app.currency.tab_parameters', {
url: "/parameters",
views: {
'tab-parameters': {
templateUrl: "templates/currency/tabs/tab_parameters.html"
}
}
})
.state('app.currency.tab_network', {
url: "/network",
views: {
'tab-network': {
templateUrl: "templates/currency/tabs/tab_network.html"
}
}
})
.state('app.currency.tab_wot', {
url: "/community",
views: {
'tab-wot': {
templateUrl: "templates/currency/tabs/tab_wot.html"
}
}
})
.state('app.currency_view_lg', {
url: "/currency/view/lg/:name",
views: {
......
......@@ -6,16 +6,6 @@ angular.module('cesium.network.controllers', ['cesium.services'])
$stateProvider
.state('app.network_view', {
url: "/network/view",
views: {
'menuContent': {
templateUrl: "templates/network/view_network.html",
controller: 'NetworkViewCtrl'
}
},
})
.state('app.view_peer', {
url: "/network/peer/:server",
nativeTransitions: {
......@@ -37,7 +27,7 @@ angular.module('cesium.network.controllers', ['cesium.services'])
;
function NetworkViewController($scope, $q, $translate, $timeout, BMA, UIUtils, csSettings, csCurrency, csNetwork) {
function NetworkViewController($scope, $timeout, BMA, UIUtils, csSettings, csCurrency, csNetwork) {
$scope.loadingPeers = true;
$scope.formData = {
useRelative: csSettings.data.useRelative
......
//! moment.js locale configuration
//! locale : english (en)
//! author : Benoit Lavenier : https://github.com/blavenie
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('./numeral')) :
typeof define === 'function' && define.amd ? define(['numeral'], factory) :
factory(global.numeral)
}(this, function (numeral) { 'use strict';
numeral.language('en', {
"delimiters": {
"thousands": ",",
"decimal": "."
},
"abbreviations": {
"thousand": "<small>x10<sup>3</sup></small>",
"million": "<small>x10<sup>6</sup></small>",
"billion": "<small>x10<sup>9</sup></small>",
"trillion": "<small>x10<sup>12</sup></small>"
},
"currency": {
"symbol": "X"
}
});
}));
//! moment.js locale configuration
//! locale : french (fr)
//! author : John Fischer : https://github.com/jfroffice
//! author : Benoit Lavenier : https://github.com/blavenie
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../numeral')) :
......@@ -8,33 +8,17 @@
factory(global.numeral)
}(this, function (numeral) { 'use strict';
var abbreviations = {
"thousand": "<small>x10<sup>3</sup></small>",
"million": "<small>x10<sup>6</sup></small>",
"billion": "<small>x10<sup>9</sup></small>",
"trillion": "<small>x10<sup>12</sup></small>"
};
numeral.language('fr', {
"delimiters": {
"thousands": " ",
"decimal": ","
},
"abbreviations": abbreviations,
"ordinal": function (number) {
return (number === 1) ? 'er' : 'ième';
},
"currency": {
"symbol": "X"
}
});
numeral.language('en', {
"delimiters": {
"thousands": ",",
"decimal": "."
"abbreviations": {
"thousand": "<small>x10<sup>3</sup></small>",
"million": "<small>x10<sup>6</sup></small>",
"billion": "<small>x10<sup>9</sup></small>",
"trillion": "<small>x10<sup>12</sup></small>"
},
"abbreviations": abbreviations,
"ordinal": function (number) {
return (number === 1) ? 'er' : 'ième';
},
......
......@@ -39,7 +39,7 @@
padding-bottom: 0px;
}
.item-record .badge-picture-count,
.card-record .badge-picture-count,
.row-record .badge-picture-count {
position: absolute !important;
left: 67px !important;
......@@ -48,16 +48,30 @@
top: inherit !important;
}
.item-record .badge-price {
.card-record .badge-price {
font-size: 12px;
position: absolute !important;
bottom: 15px !important;
bottom: 10px !important;
right: 10px;
top: inherit !important;
}
.card-record .item-thumbnail-left {
padding-left: 150px;
}
.card-record .item-thumbnail-left .item-image {
border-radius: 0;
box-shadow: none;
max-width: 130px;
max-height: 130px;
top: inherit;
background-repeat: no-repeat;
}
.row-record .badge-price {
position: absolute !important;
/*left: 80px !important;*/
bottom: 15px !important;
right: inherit !important;
top: inherit !important;
......
......@@ -9,6 +9,10 @@ angular.module('cesium.es.app.controllers', ['ngResource', 'cesium.es.services']
// Menu extension points
PluginServiceProvider.extendState('app', {
points: {
'menu-profile-user': {
templateUrl: "plugins/es/templates/menu_extend.html",
controller: "ESMenuExtendCtrl"
},
'nav-buttons-right': {
templateUrl: "plugins/es/templates/menu_extend.html",
controller: "ESMenuExtendCtrl"
......
......@@ -11,12 +11,13 @@
<small><a ng-click="showMore()" translate>COMMENTS.SHOW_MORE_COMMENTS</a></small>
</span>
<div class="padding-right">
<ng-repeat ng-repeat="comment in comments.result track by comment.id"
ng-include="'plugins/es/templates/common/item_comment.html'">
</ng-repeat>
</div>
<div class="hidden-xs hidden-sm">
<div class="hidden-xs hidden-sm padding-right">
<div class="card card-comment item item-input item-button-right">
<!-- reply to comment-->
......
......@@ -45,11 +45,13 @@
ng-if="!search.loading && search.results.length">
<a ng-repeat="rec in search.results"
class="item item-record ink padding-xs"
class="item no-padding-bottom no-padding-top"
ui-sref="app.market_view_record({id: rec.id, title: rec.urlTitle})">
<div class="item-text-wrap item-thumbnail-left">
<img ng-src="{{::rec.thumbnail.src}}" ng-if="rec.thumbnail"></img>
<div class="card card-record stable-bg ink padding-top">
<div class="card-item item-thumbnail-left item-text-wrap padding-right">
<i class="item-image" ng-if="rec.thumbnail" style="background-image: url('{{::rec.thumbnail.src}}')"></i>
<i class="item-image ion-speakerphone" ng-if="!rec.thumbnail"></i>
<h2 ng-bind-html="rec.title"></h2>
<h4 class="gray">
......@@ -62,13 +64,26 @@
{{::rec.time | formatFromNow}}
</span>
</h4>
<span ng-if="rec.picturesCount > 1"
<h3 class="gray text-wrap" ng-bind-html="rec.description | truncText:200" ng-if="rec.description"></h3>
<div ng-if="rec.picturesCount > 1"
class="badge badge-balanced badge-picture-count">{{::rec.picturesCount}}&nbsp;<i class="icon ion-camera"></i>
</span>
<h2 class="badge badge-price badge-calm"
ng-bind-html=":rebind:rec.price|formatAmount:{currency: rec.currency}">
</h2>
</div>
</div>
<div class="card-footer" style="height: 45px">
&nbsp;
<div class="badge badge-price badge-calm" ng-if="rec.type=='offer'">
<i class="cion-market-offer"></i>
<span ng-if="rec.price" ng-bind-html=":rebind:rec.price|formatAmount:{currency: rec.currency}"></span>
<span ng-if="!rec.price" translate>MARKET.TYPE.OFFER</span>
</div>
<div class="badge badge-energized badge-price" ng-if="rec.type=='need'">
<i class="cion-market-need"></i>
{{'MARKET.TYPE.NEED'|translate}}
</div>
</div>
</div>
</a>
</div>
......
......@@ -80,30 +80,7 @@
class="item item-record item-border-large ink padding-xs"
ui-sref="app.market_view_record({id: rec.id, title: rec.urlTitle})">
<div class="visible-xs visible-sm">
<div class="item-text-wrap item-thumbnail-left">
<img ng-src="{{::rec.thumbnail.src}}" ng-if="rec.thumbnail"></img>
<i class="item-image ion-speakerphone" ng-if="!rec.thumbnail"></i>
<h2 ng-bind-html="rec.title"></h2>
<h4 class="gray">
<span ng-if="rec.location">
<i class="icon ion-location"></i>
<span ng-bind-html="rec.location"></span>
</span>
<span ng-show="rec.time">
<span ng-show="rec.location">|</span>
{{::rec.time | formatFromNow}}
</span>
</h4>
<span ng-if="rec.picturesCount > 1"
class="badge badge-balanced badge-picture-count">{{::rec.picturesCount}}&nbsp;<i class="icon ion-camera"></i></span>
<h2 class="badge badge-price badge-calm" ng-if="rec.price"
ng-bind-html=":rebind:rec.price|formatAmount:{currency: rec.currency}">
</h2>
</div>
</div>
<div class="row row-record hidden-xs hidden-sm">
<div class="row row-record">
<div class="col item-text-wrap item-thumbnail-left">
<img ng-src="{{::rec.thumbnail.src}}" ng-if="rec.thumbnail">
<i class="item-image ion-speakerphone" ng-if="!rec.thumbnail"></i>
......@@ -121,11 +98,16 @@
</div>
<div class="col col-20">
<h3 class="gray" ng-if="rec.category" ng-bind-html="rec.category.name"></h3>
<h2 class="badge badge-price badge-calm" ng-if="rec.price"
ng-bind-html=":rebind:rec.price|formatAmount:{currency: rec.currency}">
</h2>
<div class="badge badge-price badge-calm" ng-if="rec.price">
<i class="cion-market-offer"></i>
<span ng-bind-html=":rebind:rec.price|formatAmount:{currency: rec.currency}"></span>
</div>
<div class="badge badge-energized badge-price" ng-if="!search.type && !rec.price && rec.type=='need'">
<i class="cion-market-need"></i>
{{'MARKET.TYPE.'+rec.type|upper|translate}}
</div>
</div>
<div class="col">
<div class="col hidden-sm hidden-xs">
<h3 class="gray text-wrap" ng-bind-html="rec.description | truncText:500" ng-if="rec.description"></h3>
</div>
</div>
......
<!-- Menu user profile -->
<ng-if ng-if="enable && extensionPoint === 'menu-profile-user'">
<h5>
<a ng-if="login" class="light"
ng-click="showUserProfile()" menu-close>
{{'MENU.USER_PROFILE' | translate}}&nbsp;<i class="ion-arrow-right-b"></i>
</a>
</h5>
</ng-if>
<!-- Main section -->
<ng-if ng-if="enable && extensionPoint === 'nav-buttons-right'">
......
<ion-item id="helptip-currency-blockchain"
class="item-icon-left">
<i class="icon ion-clock"></i>
<span translate>CURRENCY.VIEW.TIME</span>
<span class="item-note dark">{{medianTime | formatDate}}</span>
</ion-item>
<ion-item class="item-icon-left">
<i class="icon ion-lock-combination"></i>
<span translate>CURRENCY.VIEW.POW_MIN</span>
<span class="badge badge-stable">{{difficulty | formatInteger}}</span>
</ion-item>
<ng-include ng-controller="NetworkViewCtrl" src="'templates/network/tabs/view_nodes.html'" ></ng-include>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment