Skip to content

Commit

Permalink
Merge pull request #180 from blocktrail/develop
Browse files Browse the repository at this point in the history
update.
  • Loading branch information
jiangjinyuan committed Feb 18, 2022
2 parents c46fd18 + 4004cbe commit 2255b5a
Show file tree
Hide file tree
Showing 17 changed files with 765 additions and 535 deletions.
7 changes: 3 additions & 4 deletions src/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,10 @@ angular.module("blocktrail.wallet").config(function() {
});

angular.module("blocktrail.wallet").run(
function($rootScope, $state, $log, $interval, $timeout, $locale, $translate, CONFIG, amMoment, blocktrailLocalisation, sdkService) {
function($rootScope, $state, $log, $interval, $timeout, $locale, $translate, CONFIG, amMoment, blocktrailLocalisation, sdkService,NotificationsService) {
var bodyStateClasses = [];
var networkClassType = "";

$rootScope.sdkReadOnlySdkData = sdkService.getReadOnlySdkData();

$rootScope.CONFIG = CONFIG || {};
$rootScope.$state = $state;
$rootScope.appVersion = CONFIG.VERSION || CONFIG.VERSION_REV;
Expand All @@ -65,8 +63,9 @@ angular.module("blocktrail.wallet").run(
amMoment.changeLocale(momentLocale);

$translate.use(language);
NotificationsService.announcementPromit()
};

$rootScope.$watch("sdkReadOnlySdkData.networkType", function(newValue) {
var network = CONFIG.NETWORKS[newValue].NETWORK;
if (network.substr(0, 1) === "t" || network.substr(0, 1) === "r") {
Expand Down
127 changes: 67 additions & 60 deletions src/js/modules/core/directives/navbar/navbar.tpl.html
Original file line number Diff line number Diff line change
@@ -1,68 +1,75 @@
<nav class="navbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#blocktrail-webwallet-nav">
<i class="bticon bticon-arrow-down-circle-o"></i>
</button>
<a class="navbar-brand" ng-href="{{ CONFIG.HOMEPAGE_URL }}" target="_self"><img src="{{ CONFIG.STATICSURL }}/img/logo-btc-reverse.png"/></a>
</div>
<div class="container">
<div class="navbar-header">
<button
type="button"
class="navbar-toggle"
data-toggle="collapse"
data-target="#blocktrail-webwallet-nav"
>
<i class="bticon bticon-arrow-down-circle-o"></i>
</button>
<a class="navbar-brand" ng-href="{{ CONFIG.HOMEPAGE_URL }}" target="_self"
><img src="{{ CONFIG.STATICSURL }}/img/logo-btc-reverse.png"
/></a>
</div>

<div class="collapse navbar-collapse" id="blocktrail-webwallet-nav">
<ul class="nav navbar-nav pull-right" ng-if="mode == 'loggedout'">
<li ng-class="{'active':$state.is('app.setup.register')}">
<a ui-sref="app.setup.register">{{ 'NAVBAR_SIGNUP' | translate }}</a>
</li>
<li ng-class="{'active':$state.is('app.setup.login')}">
<a ui-sref="app.setup.login">{{ 'NAVBAR_LOGIN' | translate }}</a>
</li>
</ul>
<div class="collapse navbar-collapse" id="blocktrail-webwallet-nav">
<ul class="nav navbar-nav pull-right" ng-if="mode == 'loggedout'">
<li ng-class="{'active':$state.is('app.setup.login')}">
<a ui-sref="app.setup.login">{{ 'NAVBAR_LOGIN' | translate }}</a>
</li>
</ul>

<ul class="nav navbar-nav" ng-if="mode == 'explorer'">
<li>
<a href="/">{{ 'NAVBAR_HOME' | translate }}</a>
</li>
<li>
<a href="/blocks">{{ 'NAVBAR_BLOCKS' | translate }}</a>
</li>
<li>
<a href="/stats">{{ 'NAVBAR_STATS' | translate }}</a>
</li>
<li>
<a href="/tools">{{ 'NAVBAR_TOOLS' | translate }}</a>
</li>
<li>
<a href="/applications">{{ 'NAVBAR_APPLICATIONS' | translate }}</a>
</li>
</ul>
<ul class="nav navbar-nav" ng-if="mode == 'explorer'">
<li>
<a href="/">{{ 'NAVBAR_HOME' | translate }}</a>
</li>
<li>
<a href="/blocks">{{ 'NAVBAR_BLOCKS' | translate }}</a>
</li>
<li>
<a href="/stats">{{ 'NAVBAR_STATS' | translate }}</a>
</li>
<li>
<a href="/tools">{{ 'NAVBAR_TOOLS' | translate }}</a>
</li>
<li>
<a href="/applications">{{ 'NAVBAR_APPLICATIONS' | translate }}</a>
</li>
</ul>

<div class="searchbar" ng-if="mode == 'explorer'">
<div class="searchbar-inner">
<form action="https://www.btc.com/search/" method="GET" class="searchbar-form clearfix" onsubmit="this.q.value = this.q.value.trim()">
<button class="searchbar-submit" type="submit">
<span class="glyphicon glyphicon-search"></span>
</button>
<div class="searchbar-input-container">
<input type="search" class="searchbar-input" name="q"
placeholder="{{ 'NAVBAR_SEARCH_PLACEHOLDER' | translate }}"
autocomplete="off"
onfocus="$(this).addClass('active')"
onblur="this.value.length > 1 || $(this).removeClass('active')" />
</div>
</form>
</div>
<div class="searchbar" ng-if="mode == 'explorer'">
<div class="searchbar-inner">
<form
action="https://www.btc.com/search/"
method="GET"
class="searchbar-form clearfix"
onsubmit="this.q.value = this.q.value.trim()"
>
<button class="searchbar-submit" type="submit">
<span class="glyphicon glyphicon-search"></span>
</button>
<div class="searchbar-input-container">
<input
type="search"
class="searchbar-input"
name="q"
placeholder="{{ 'NAVBAR_SEARCH_PLACEHOLDER' | translate }}"
autocomplete="off"
onfocus="$(this).addClass('active')"
onblur="this.value.length > 1 || $(this).removeClass('active')"
/>
</div>


<ul class="nav navbar-nav navbar-right" ng-if="mode == 'loggedin'">
<li>
<a ui-sref="app.logout">{{ 'LOGOUT' | translate }}</a>
</li>
</ul>


</form>
</div>
</div>

<ul class="nav navbar-nav navbar-right" ng-if="mode == 'loggedin'">
<li>
<a ui-sref="app.logout">{{ 'LOGOUT' | translate }}</a>
</li>
</ul>
</div>
</div>
</nav>


133 changes: 78 additions & 55 deletions src/js/modules/core/directives/top-header/top-header.tpl.html
Original file line number Diff line number Diff line change
@@ -1,63 +1,86 @@
<header class="top-header">
<div class="container">
<div class="logo pull-left">
<a ng-href="{{ CONFIG.HOMEPAGE_URL }}" target="_self"><img src="{{ CONFIG.STATICSURL }}/img/logo-btc-reverse.png"/></a>
</div>
<div class="container" style="padding-left:0;">
<div class="logo pull-left">
<a ng-href="{{ CONFIG.HOMEPAGE_URL }}" target="_self"
><img src="{{ CONFIG.STATICSURL }}/img/logo-btc-reverse.png"
/></a>
</div>

<div class="pull-right">
<ul class="nav navbar-nav" ng-if="mode == 'loggedout'">
<li ng-class="{'active':$state.is('app.setup.register')}">
<a ui-sref="app.setup.register">{{ 'NAVBAR_SIGNUP' | translate }}</a>
</li>
<li ng-class="{'active':$state.is('app.setup.login')}">
<a ui-sref="app.setup.login">{{ 'NAVBAR_LOGIN' | translate }}</a>
</li>
</ul>
<div class="pull-right">
<ul class="nav navbar-nav" ng-if="mode == 'loggedout'">
<li ng-class="{'active':$state.is('app.setup.login')}">
<a ui-sref="app.setup.login">{{ 'NAVBAR_LOGIN' | translate }}</a>
</li>
</ul>

<ul class="nav navbar-nav" ng-if="mode == 'loggedin'">
<li>
<a ui-sref="app.logout">{{ 'LOGOUT' | translate }}</a>
</li>
</ul>
<ul class="nav navbar-nav" ng-if="mode == 'loggedin'">
<li>
<a ui-sref="app.logout">{{ 'LOGOUT' | translate }}</a>
</li>
</ul>

<div ng-if="mode == 'explorer'">
<ul class="nav navbar-nav">
<li>
<a href="/">{{ 'NAVBAR_HOME' | translate }}</a>
</li>
<li>
<a href="/blocks">{{ 'NAVBAR_BLOCKS' | translate }}</a>
</li>
<li>
<a href="/stats">{{ 'NAVBAR_STATS' | translate }}</a>
</li>
<li>
<a href="/tools">{{ 'NAVBAR_TOOLS' | translate }}</a>
</li>
<li>
<a href="/applications">{{ 'NAVBAR_APPLICATIONS' | translate }}</a>
</li>
</ul>
<div ng-if="mode == 'explorer'">
<ul class="nav navbar-nav">
<li>
<a href="/">{{ 'NAVBAR_HOME' | translate }}</a>
</li>
<li>
<a href="/blocks">{{ 'NAVBAR_BLOCKS' | translate }}</a>
</li>
<li>
<a href="/stats">{{ 'NAVBAR_STATS' | translate }}</a>
</li>
<li>
<a href="/tools">{{ 'NAVBAR_TOOLS' | translate }}</a>
</li>
<li>
<a href="/applications">{{ 'NAVBAR_APPLICATIONS' | translate }}</a>
</li>
</ul>

<div class="searchbar" ng-if="mode == 'explorer'">
<div class="searchbar-inner">
<form action="https://www.btc.com/search/" method="GET" class="searchbar-form clearfix" onsubmit="this.q.value = this.q.value.trim()">
<button class="searchbar-submit" type="submit">
<span class="glyphicon glyphicon-search"></span>
</button>
<div class="searchbar-input-container">
<input type="search" class="searchbar-input" name="q"
placeholder="{{ 'NAVBAR_SEARCH_PLACEHOLDER' | translate }}"
autocomplete="off"
onfocus="$(this).addClass('active')"
onblur="this.value.length > 1 || $(this).removeClass('active')" />
</div>
</form>
</div>
</div>
</div>
<div class="searchbar" ng-if="mode == 'explorer'">
<div class="searchbar-inner">
<form
action="https://www.btc.com/search/"
method="GET"
class="searchbar-form clearfix"
onsubmit="this.q.value = this.q.value.trim()"
>
<button class="searchbar-submit" type="submit">
<span class="glyphicon glyphicon-search"></span>
</button>
<div class="searchbar-input-container">
<input
type="search"
class="searchbar-input"
name="q"
placeholder="{{ 'NAVBAR_SEARCH_PLACEHOLDER' | translate }}"
autocomplete="off"
onfocus="$(this).addClass('active')"
onblur="this.value.length > 1 || $(this).removeClass('active')"
/>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 announcement" ng-if="mode !== 'announcement'">

<div class="container" style="padding-left:0;font-size:16px;">
<svg width="16px" height="16px" style="position: relative;top:1px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="提示bar" transform="translate(-120.000000, -82.000000)" fill="#503308" fill-rule="nonzero">
<g id="形状-2" transform="translate(120.000000, 82.000000)">
<path d="M8.00035401,0 C5.14214498,0 2.5009968,1.52463724 1.07185577,3.9998978 C-0.357285257,6.47515835 -0.357285257,9.52484163 1.07185577,12.0001022 C2.5009968,14.4753627 5.14214498,16 8.00035401,16 C12.4184938,15.9998045 16,12.4181397 16,8 C16,3.58186024 12.4184938,0.000195507566 8.00035401,0 Z M8.00035401,4.82383272 C7.66754745,4.8240374 7.3599123,4.64667634 7.19333176,4.35855975 C7.02675122,4.07044315 7.02653283,3.71534277 7.19275886,3.4270215 C7.35898489,3.13870022 7.66640164,2.9609609 7.9992082,2.96075587 C8.51399897,2.96043982 8.93157585,3.3775037 8.93189261,3.89229447 C8.93220866,4.40708524 8.51514478,4.82466212 8.00035401,4.82497852 L8.00035401,4.82383272 Z M8.93418385,11.7800057 C8.93418385,12.2954293 8.51635047,12.7132626 8.0009269,12.7132626 C7.48550334,12.7132626 7.06766996,12.2954293 7.06766996,11.7800057 L7.06766996,7.43741048 C7.06766996,6.92294471 7.48474243,6.50701805 8.00035401,6.50701805 C8.51596559,6.50701805 8.93418385,6.92294471 8.93418385,7.43626468 L8.93418385,11.7800057 L8.93418385,11.7800057 Z" id="形状" transform="translate(8.000000, 8.000000) scale(1, -1) translate(-8.000000, -8.000000) "></path>
</g>
</g>
</g>
</svg>
<span style="color:#503308;font-size:16px;font-weight:600;">{{'WALL_ANNOUNCEMENT_INFO' | translate }}</span> <a href="/#/announcement" target="_blank"> {{'WALL_ANNOUNCEMENT_VIEW' | translate }}</a>
</div>


</div>
</header>


Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
angular.module('blocktrail.core')
.factory('NotificationsService', NotificationsService);

function NotificationsService(CONFIG, dialogService, settingsService, $translate, $log) {
function NotificationsService(CONFIG, dialogService, settingsService, $translate, $log,$sce) {

var settingsData = settingsService.getReadOnlySettingsData();

Expand Down Expand Up @@ -78,12 +78,57 @@

function isChrome() {
return navigator.userAgent.match(/Chrome\/\d+/) !== null;
}
function announcementPromit(timer){
var currentDate = Date.now()
if(!localStorage.getItem('date')){
localStorage.setItem('date',currentDate)
}

if((currentDate - localStorage.getItem('date') >= 4*1000*60*60) || currentDate===Number(localStorage.getItem('date'))){
console.log(4*1000*60*60 - currentDate + localStorage.getItem('date'),2222)
dialogService.alert(
{
title: $translate.instant('WALL_ANNOUNCEMENT_DIALOG'),
bodyHtml: $sce.trustAsHtml($translate.instant('WALL_ANNOUNCEMENT_INFO')+'<a href="/#/announcement" target="_blank">'+$translate.instant('WALL_ANNOUNCEMENT_VIEW')+'</a>'),
ok: $translate.instant('OK')
}
).result.then(function(){
localStorage.setItem('date',Date.now())
setTimeout(function(){
announcementPromit()
},4*1000*60*60)
})
}
else{
console.log(4*1000*60*60 -(Date.now() - localStorage.getItem('date')),1111)
clearTimeout(localStorage.getItem('timer'))
const timer=setTimeout(function(){

dialogService.alert(
{
title: $translate.instant('WALL_ANNOUNCEMENT_DIALOG'),
bodyHtml: $sce.trustAsHtml($translate.instant('WALL_ANNOUNCEMENT_INFO')+'<a href="/#/announcement" target="_blank">'+$translate.instant('WALL_ANNOUNCEMENT_VIEW')+'</a>'),
ok: $translate.instant('OK')
}
).result.then(function(){
localStorage.setItem('date',Date.now())
setTimeout(function(){
announcementPromit()
},4*1000*60*60)
})
}, 4*1000*60*60 -(currentDate - localStorage.getItem('date')))
localStorage.setItem('timer',timer)
}


}

return {
checkAndPromptSimplex: checkAndPromptSimplex,
checkAndPromptBitcoinURIHandler: checkAndPromptBitcoinURIHandler,
promptBitcoinURIHandler: promptBitcoinURIHandler
promptBitcoinURIHandler: promptBitcoinURIHandler,
announcementPromit:announcementPromit
};
}

Expand Down
8 changes: 8 additions & 0 deletions src/js/modules/setup/configs/setup-sate/setup-state.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@
preferredLanguage: preferredLanguage
}
})
.state("app.announcement", {
url: "/announcement",
cache: false,
templateUrl: "js/modules/setup/controllers/announcement/announcement.tpl.html",
resolve: {
preferredLanguage: preferredLanguage
}
})
.state("app.setup", {
url: "/setup",
abstract: true,
Expand Down
Loading

0 comments on commit 2255b5a

Please sign in to comment.