commit
6665ff0210
20 changed files with 320 additions and 382 deletions
34
Gruntfile.js
34
Gruntfile.js
|
|
@ -65,7 +65,7 @@ module.exports = function(grunt) {
|
|||
},
|
||||
css: {
|
||||
files: ['css/src/*.css'],
|
||||
tasks: ['cssmin:copay']
|
||||
tasks: ['cssmin:desktop']
|
||||
},
|
||||
main: {
|
||||
files: [
|
||||
|
|
@ -157,11 +157,16 @@ module.exports = function(grunt) {
|
|||
}
|
||||
},
|
||||
cssmin: {
|
||||
copay: {
|
||||
desktop: {
|
||||
files: {
|
||||
'css/copay.min.css': ['css/src/*.css'],
|
||||
}
|
||||
},
|
||||
mobile: {
|
||||
files: {
|
||||
'css/copay.min.css': ['css/src/*.css', '!css/src/desktop.css', '!css/src/animation.css'],
|
||||
}
|
||||
},
|
||||
vendors: {
|
||||
files: {
|
||||
'css/vendors.min.css': ['css/foundation.min.css', 'css/foundation-icons.css', 'lib/angular/angular-csp.css']
|
||||
|
|
@ -236,10 +241,27 @@ module.exports = function(grunt) {
|
|||
});
|
||||
|
||||
|
||||
grunt.registerTask('default', ['shell:dev', 'nggettext_compile', 'concat', 'cssmin']);
|
||||
grunt.registerTask('dist', ['shell:prod', 'nggettext_compile', 'concat', 'cssmin', 'uglify', 'copy:dist']);
|
||||
grunt.registerTask('dist-dbg', ['shell:dev', 'nggettext_compile', 'concat', 'cssmin', 'copy:dist']);
|
||||
grunt.registerTask('prod', ['shell:prod', 'nggettext_compile', 'concat', 'cssmin', 'uglify']);
|
||||
grunt.registerTask('default', [
|
||||
'shell:dev', 'nggettext_compile', 'concat', 'cssmin:desktop', 'cssmin:vendors'
|
||||
]);
|
||||
grunt.registerTask('mobile', [
|
||||
'shell:dev', 'nggettext_compile', 'concat', 'cssmin:mobile', 'cssmin:vendors'
|
||||
]);
|
||||
grunt.registerTask('dist', [
|
||||
'shell:prod', 'nggettext_compile', 'concat', 'cssmin:desktop', 'cssmin:vendors', 'uglify', 'copy:dist'
|
||||
]);
|
||||
grunt.registerTask('dist-dbg', [
|
||||
'shell:prod', 'nggettext_compile', 'concat', 'cssmin:desktop', 'cssmin:vendors', 'copy:dist'
|
||||
]);
|
||||
grunt.registerTask('dist-mobile', [
|
||||
'shell:prod', 'nggettext_compile', 'concat', 'cssmin:mobile', 'cssmin:vendors', 'uglify', 'copy:dist'
|
||||
]);
|
||||
grunt.registerTask('dist-mobile-dbg', [
|
||||
'shell:dev', 'nggettext_compile', 'concat', 'cssmin:mobile', 'cssmin:vendors', 'copy:dist'
|
||||
]);
|
||||
grunt.registerTask('prod', [
|
||||
'shell:prod', 'nggettext_compile', 'concat', 'cssmin:desktop', 'cssmin:vendors', 'uglify'
|
||||
]);
|
||||
grunt.registerTask('translate', ['nggettext_extract']);
|
||||
grunt.registerTask('docs', ['jsdoc']);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -98,12 +98,12 @@ if $DBGJS
|
|||
then
|
||||
echo "${OpenColor}${Green}* Generating copay bundle (debug js)...${CloseColor}"
|
||||
cd $BUILDDIR/..
|
||||
grunt dist-dbg
|
||||
grunt dist-mobile-dbg
|
||||
checkOK
|
||||
else
|
||||
echo "${OpenColor}${Green}* Generating copay bundle...${CloseColor}"
|
||||
cd $BUILDDIR/..
|
||||
grunt dist
|
||||
grunt dist-mobile
|
||||
checkOK
|
||||
fi
|
||||
|
||||
|
|
|
|||
174
css/src/desktop.css
Normal file
174
css/src/desktop.css
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
.head .menu a.dropdown:hover,
|
||||
.head .menu a.dropdown.hover {
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
.head .menu ul.hover {
|
||||
background: #FFFFFF;
|
||||
}
|
||||
|
||||
.head .menu ul li a:hover {
|
||||
background-color: #F8F8FB;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
.col3 a.selected:hover {
|
||||
background-color: #213140;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col3 a:hover {
|
||||
background-color: #16A085;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.last-transactions-content:hover {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
a.button-setup.add-wallet:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
a.button-setup:hover {
|
||||
color: #666;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.createProfile .button-setup a:hover, .home .button-setup a:hover, .settings .button-setup a:hover, .import-profile .button-setup a:hover {
|
||||
background: #3C4E60;
|
||||
}
|
||||
|
||||
.name-wallet i:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
ul.pagination li.current a:hover, ul.pagination li.current a:focus {
|
||||
background: #16A085;
|
||||
}
|
||||
|
||||
table tr:hover {
|
||||
background-color: #eee;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button.secondary:hover,
|
||||
button.secondary:focus,
|
||||
.button.secondary:hover,
|
||||
.button.secondary:focus {
|
||||
background-color: #2980B9;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.primary:hover,
|
||||
button.primary:focus,
|
||||
.button.primary:hover,
|
||||
.button.primary:focus {
|
||||
background-color: #16A085;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.warning:hover,
|
||||
button.warning:focus,
|
||||
.button.warning:hover,
|
||||
.button.warning:focus {
|
||||
background-color: #82251A;
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
button.white:hover,
|
||||
button.white:focus,
|
||||
.button.white:hover,
|
||||
.button.white:focus {
|
||||
background-color: #E0E0E0;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
button.black:hover,
|
||||
button.black:focus,
|
||||
.button.black:hover,
|
||||
.button.black:focus {
|
||||
background-color: #213140;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.gray:hover,
|
||||
button.gray:focus,
|
||||
.button.gray:hover,
|
||||
.button.gray:focus {
|
||||
background-color: #E0E5E5;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
.wallet-selection.wallets li:hover {
|
||||
background-color: #3C4E60;
|
||||
}
|
||||
|
||||
.wallet-selection.wallets a.wallet-item:hover,
|
||||
.side-nav.wallets a.wallet-item:hover {
|
||||
color: #7A8C9E;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.side-nav li.nav-item:hover {
|
||||
background-color: #3C4E60;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fi-trash.text-gray:hover {
|
||||
color: #CA5649;
|
||||
}
|
||||
|
||||
a:hover .photo-container {
|
||||
background: #34495E;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.side-nav li.active:hover a {
|
||||
background-color: #F8F8FB;
|
||||
}
|
||||
|
||||
.side-nav li:hover a {
|
||||
background-color: #3C4E60;
|
||||
}
|
||||
|
||||
a.text-gray:hover {color: #2C3E50;}
|
||||
a.text-black:hover {color: #213140;}
|
||||
a.text-primary:hover {color: #50E3C2;}
|
||||
a.text-secondary:hover {color: #4A90E2;}
|
||||
a.text-white:hover {color: #ccc;}
|
||||
a.text-warning:hover {color: #FD7262;}
|
||||
|
||||
.w-popup-menu li:hover{
|
||||
background-color: #34B191;
|
||||
}
|
||||
.w-popup-menu li:hover .w-popup-icon {
|
||||
color: transparent;
|
||||
}
|
||||
.w-popup-menu li:hover .w-popup-main, .w-popup-menu li:hover .w-popup-sub {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.createProfile a.text-gray:hover,
|
||||
.home a.text-gray:hover,
|
||||
.import-profile a.text-gray:hover,
|
||||
.settings a.text-gray:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.tabs dd>a:hover {
|
||||
background: #1C2B39;
|
||||
}
|
||||
|
||||
.tabs dd.active a:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.reveal-modal .close-reveal-modal:hover, dialog .close-reveal-modal:hover {
|
||||
background: #ddd;
|
||||
}
|
||||
|
||||
251
css/src/main.css
251
css/src/main.css
|
|
@ -163,12 +163,6 @@ header .alt-currency {
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.head .menu a.dropdown:hover,
|
||||
.head .menu a.dropdown.hover {
|
||||
border-bottom: 1px solid #fff;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.head .menu ul {
|
||||
border-bottom-right-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
|
|
@ -184,23 +178,12 @@ header .alt-currency {
|
|||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.head .menu ul.hover {
|
||||
background: #FFFFFF;
|
||||
-moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.25);
|
||||
box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.25);
|
||||
}
|
||||
|
||||
.head .menu ul li a {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
color: #8597A7;
|
||||
}
|
||||
|
||||
.head .menu ul li a:hover {
|
||||
background-color: #F8F8FB;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
.col1 {
|
||||
width: 56px;
|
||||
float: left;
|
||||
|
|
@ -232,16 +215,6 @@ header .alt-currency {
|
|||
color: #3C4E60;
|
||||
}
|
||||
|
||||
.col3 a.selected:hover {
|
||||
background-color: #213140;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.col3 a:hover {
|
||||
background-color: #16A085;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.off-canvas-wrap, .inner-wrap{
|
||||
height:100%;
|
||||
}
|
||||
|
|
@ -325,10 +298,6 @@ input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill, inpu
|
|||
color: #7A8C9E !important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #2980b9;
|
||||
}
|
||||
|
||||
.page, .main {
|
||||
height:100%;
|
||||
overflow-y: auto;
|
||||
|
|
@ -463,10 +432,6 @@ ul.tx-copayers {
|
|||
cursor:pointer;
|
||||
}
|
||||
|
||||
.last-transactions-content:hover {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.sign-action {
|
||||
background: #E4E8EC;
|
||||
width: 100%;
|
||||
|
|
@ -523,10 +488,6 @@ a.button-setup.add-wallet {
|
|||
color: #fff;
|
||||
}
|
||||
|
||||
a.button-setup.add-wallet:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
a.button-setup {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #E4E8EC;
|
||||
|
|
@ -536,12 +497,6 @@ a.button-setup {
|
|||
color: #A0A3A6;
|
||||
}
|
||||
|
||||
|
||||
a.button-setup:hover {
|
||||
color: #666;
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.createProfile a.button-setup, .home a.button-setup, .settings a.button-setup, .import-profile a.button-setup {
|
||||
border-radius: 3px;
|
||||
border: 1px solid #3E5366;
|
||||
|
|
@ -550,10 +505,6 @@ a.button-setup:hover {
|
|||
background: transparent;
|
||||
}
|
||||
|
||||
.createProfile .button-setup a:hover, .home .button-setup a:hover, .settings .button-setup a:hover, .import-profile .button-setup a:hover {
|
||||
background: #3C4E60;
|
||||
}
|
||||
|
||||
.dn {display: none;}
|
||||
.dni {display: none !important;}
|
||||
.pr {position: relative;}
|
||||
|
|
@ -672,10 +623,6 @@ a.button-setup:hover {
|
|||
color: #B6E9DF;
|
||||
}
|
||||
|
||||
.name-wallet i:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.box-livenet {
|
||||
background: #213140;
|
||||
padding: 0rem 0.5rem 0.2rem;
|
||||
|
|
@ -876,10 +823,6 @@ ul.pagination li.current a {
|
|||
background: #1ABC9C;
|
||||
}
|
||||
|
||||
ul.pagination li.current a:hover, ul.pagination li.current a:focus {
|
||||
background: #16A085;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
background-color: #1ABC9C;
|
||||
color: #fff;
|
||||
|
|
@ -972,11 +915,6 @@ table tbody tr:last-child td {
|
|||
border-bottom: none;
|
||||
}
|
||||
|
||||
table tr:hover {
|
||||
background-color: #eee;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], textarea {
|
||||
color: #343c43;
|
||||
margin-bottom: 1.3rem;
|
||||
|
|
@ -988,30 +926,18 @@ input[type=date], input[type=datetime-local], input[type=datetime], input[type=e
|
|||
padding-left: 45px;
|
||||
}
|
||||
|
||||
/* SECONDARY */
|
||||
button.secondary,
|
||||
.button.secondary {
|
||||
background-color: #008CC1;
|
||||
color: #fff;
|
||||
background: #008CC1;
|
||||
}
|
||||
button.secondary:hover,
|
||||
button.secondary:focus,
|
||||
.button.secondary:hover,
|
||||
.button.secondary:focus {
|
||||
background-color: #2980B9;
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
button.disabled.secondary,
|
||||
button[disabled].secondary,
|
||||
.button.disabled.secondary,
|
||||
.button[disabled].secondary,
|
||||
button.disabled.secondary:hover,
|
||||
button.disabled.secondary:focus,
|
||||
button[disabled].secondary:hover,
|
||||
button[disabled].secondary:focus,
|
||||
.button.disabled.secondary:hover,
|
||||
.button.disabled.secondary:focus,
|
||||
.button[disabled].secondary:hover,
|
||||
.button[disabled].secondary:focus {
|
||||
.button[disabled].secondary {
|
||||
background-color: #E4E8EC;
|
||||
color: #A5B2BF;
|
||||
}
|
||||
|
|
@ -1022,27 +948,12 @@ button.primary,
|
|||
background-color: #1ABC9C;
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
button.primary:hover,
|
||||
button.primary:focus,
|
||||
.button.primary:hover,
|
||||
.button.primary:focus {
|
||||
background-color: #16A085;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.disabled.primary,
|
||||
button[disabled].primary,
|
||||
.button.disabled.primary,
|
||||
.button[disabled].primary,
|
||||
button.disabled.primary:hover,
|
||||
button.disabled.primary:focus,
|
||||
button[disabled].primary:hover,
|
||||
button[disabled].primary:focus,
|
||||
.button.disabled.primary:hover,
|
||||
.button.disabled.primary:focus,
|
||||
.button[disabled].primary:hover,
|
||||
.button[disabled].primary:focus {
|
||||
.button[disabled].primary {
|
||||
background-color: #95a5a6;
|
||||
color: #E6E6E6;
|
||||
}
|
||||
|
|
@ -1054,30 +965,13 @@ button.warning,
|
|||
color: #fff;
|
||||
border-radius: 3px;
|
||||
}
|
||||
button.warning:hover,
|
||||
button.warning:focus,
|
||||
.button.warning:hover,
|
||||
.button.warning:focus {
|
||||
background-color: #82251A;
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
button.disabled.warning,
|
||||
button[disabled].warning,
|
||||
.button.disabled.warning,
|
||||
.button[disabled].warning,
|
||||
button.disabled.warning:hover,
|
||||
button.disabled.warning:focus,
|
||||
button[disabled].warning:hover,
|
||||
button[disabled].warning:focus,
|
||||
.button.disabled.warning:hover,
|
||||
.button.disabled.warning:focus,
|
||||
.button[disabled].warning:hover,
|
||||
.button[disabled].warning:focus {
|
||||
.button[disabled].warning {
|
||||
background-color: #95a5a6;
|
||||
color: #E6E6E6;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* WHITE */
|
||||
|
|
@ -1086,26 +980,11 @@ button.white,
|
|||
background-color: #fff;
|
||||
color: #2C3E50;
|
||||
}
|
||||
button.white:hover,
|
||||
button.white:focus,
|
||||
.button.white:hover,
|
||||
.button.white:focus {
|
||||
background-color: #E0E0E0;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
button.disabled.white,
|
||||
button[disabled].white,
|
||||
.button.disabled.white,
|
||||
.button[disabled].white,
|
||||
button.disabled.white:hover,
|
||||
button.disabled.white:focus,
|
||||
button[disabled].white:hover,
|
||||
button[disabled].white:focus,
|
||||
.button.disabled.white:hover,
|
||||
.button.disabled.white:focus,
|
||||
.button[disabled].white:hover,
|
||||
.button[disabled].white:focus {
|
||||
.button[disabled].white {
|
||||
background-color: #95a5a6;
|
||||
color: #E6E6E6;
|
||||
}
|
||||
|
|
@ -1116,26 +995,11 @@ button.black,
|
|||
background-color: #2C3E50;
|
||||
color: #fff;
|
||||
}
|
||||
button.black:hover,
|
||||
button.black:focus,
|
||||
.button.black:hover,
|
||||
.button.black:focus {
|
||||
background-color: #213140;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
button.disabled.black,
|
||||
button[disabled].black,
|
||||
.button.disabled.black,
|
||||
.button[disabled].black,
|
||||
button.disabled.black:hover,
|
||||
button.disabled.black:focus,
|
||||
button[disabled].black:hover,
|
||||
button[disabled].black:focus,
|
||||
.button.disabled.black:hover,
|
||||
.button.disabled.black:focus,
|
||||
.button[disabled].black:hover,
|
||||
.button[disabled].black:focus {
|
||||
.button[disabled].black {
|
||||
background-color: #95a5a6;
|
||||
color: #E6E6E6;
|
||||
}
|
||||
|
|
@ -1146,13 +1010,6 @@ button.gray,
|
|||
background-color: #A9B2B8;
|
||||
color: #2C3E50;
|
||||
}
|
||||
button.gray:hover,
|
||||
button.gray:focus,
|
||||
.button.gray:hover,
|
||||
.button.gray:focus {
|
||||
background-color: #E0E5E5;
|
||||
color: #2C3E50;
|
||||
}
|
||||
|
||||
.button, button {
|
||||
text-transform: uppercase;
|
||||
|
|
@ -1176,10 +1033,6 @@ ul.wallet-selection.wallets {
|
|||
display: block;
|
||||
}
|
||||
|
||||
.wallet-selection.wallets li:hover {
|
||||
background-color: #3C4E60;
|
||||
}
|
||||
|
||||
.side-nav.wallets li {
|
||||
margin: 1.2rem 0;
|
||||
padding: 0.3rem 0.1rem;
|
||||
|
|
@ -1201,9 +1054,7 @@ ul.wallet-selection.wallets {
|
|||
}
|
||||
|
||||
.wallet-selection.wallets a.wallet-item,
|
||||
.wallet-selection.wallets a.wallet-item:hover,
|
||||
.side-nav.wallets a.wallet-item,
|
||||
.side-nav.wallets a.wallet-item:hover {
|
||||
.side-nav.wallets a.wallet-item {
|
||||
color: #7A8C9E;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
|
@ -1216,19 +1067,11 @@ ul.wallet-selection.wallets {
|
|||
.side-nav .wallet-item {
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.side-nav li.nav-item {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.side-nav li.nav-item:hover {
|
||||
background-color: #3C4E60;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fi-trash.text-gray:hover {
|
||||
color: #CA5649;
|
||||
}
|
||||
|
||||
.postfix.button, .prefix.button {
|
||||
position: absolute;
|
||||
width: 38px;
|
||||
|
|
@ -1293,11 +1136,6 @@ label.postfix, span.postfix {
|
|||
color: #fff;
|
||||
}
|
||||
|
||||
a:hover .photo-container {
|
||||
background: #34495E;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.side-nav li {
|
||||
font-size: 16px;
|
||||
line-height: 40px;
|
||||
|
|
@ -1326,14 +1164,6 @@ a:hover .photo-container {
|
|||
opacity: 1;
|
||||
}
|
||||
|
||||
.side-nav li.active:hover a {
|
||||
background-color: #F8F8FB;
|
||||
}
|
||||
|
||||
.side-nav li:hover a {
|
||||
background-color: #3C4E60;
|
||||
}
|
||||
|
||||
.sidebar-footer {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
|
|
@ -1427,13 +1257,6 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
|
|||
.text-warning {color: #CA5649;}
|
||||
.text-success {color: #1ABC9C;}
|
||||
|
||||
a.text-gray:hover {color: #2C3E50;}
|
||||
a.text-black:hover {color: #213140;}
|
||||
a.text-primary:hover {color: #50E3C2;}
|
||||
a.text-secondary:hover {color: #4A90E2;}
|
||||
a.text-white:hover {color: #ccc;}
|
||||
a.text-warning:hover {color: #FD7262;}
|
||||
|
||||
.box-setup-copayers {
|
||||
background: #F8F8FB;
|
||||
margin-bottom: 15px;
|
||||
|
|
@ -1475,23 +1298,19 @@ a.text-warning:hover {color: #FD7262;}
|
|||
}
|
||||
|
||||
@media only screen and (min-width: 40.063em) {
|
||||
dialog.tiny, .reveal-modal.tiny {
|
||||
width: 50%;
|
||||
margin-left: -25%;
|
||||
}
|
||||
dialog.tiny, .reveal-modal.tiny,
|
||||
dialog.small, .reveal-modal.small,
|
||||
dialog.medium, .reveal-modal.medium,
|
||||
dialog.large, .reveal-modal.large {
|
||||
max-height: 70%;
|
||||
overflow-y: auto;
|
||||
width: 80%;
|
||||
margin-left: -40%;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 40em) {
|
||||
dialog.tiny, .reveal-modal.tiny {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
dialog.tiny, .reveal-modal.tiny,
|
||||
dialog.small, .reveal-modal.small,
|
||||
dialog.medium, .reveal-modal.medium,
|
||||
dialog.large, .reveal-modal.large {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
|
|
@ -1577,17 +1396,6 @@ a.text-warning:hover {color: #FD7262;}
|
|||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.w-popup-menu li:hover{
|
||||
background-color: #34B191;
|
||||
}
|
||||
.w-popup-menu li:hover .w-popup-icon {
|
||||
text-shadow: 0px 0px 20px #c5e4f4;
|
||||
color: transparent;
|
||||
}
|
||||
.w-popup-menu li:hover .w-popup-main, .w-popup-menu li:hover .w-popup-sub {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/*///////////////////////// LOADING /////////////////////////*/
|
||||
.contener_mixte {
|
||||
width:44px; height:44px; position:absolute;
|
||||
|
|
@ -1631,16 +1439,16 @@ a.text-warning:hover {color: #FD7262;}
|
|||
.fond{position:absolute;padding-top:85px;top:0;left:0; right:0;bottom:0;}
|
||||
|
||||
.loading-screen {
|
||||
background-color: #F2F5F8;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
z-index: 999;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: #F2F5F8;
|
||||
}
|
||||
|
||||
.loading-screen .spinner {
|
||||
.loading-screen-content {
|
||||
margin-top: 20%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
|
|
@ -1686,13 +1494,6 @@ a.text-warning:hover {color: #FD7262;}
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.createProfile a.text-gray:hover,
|
||||
.home a.text-gray:hover,
|
||||
.import-profile a.text-gray:hover,
|
||||
.settings a.text-gray:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.home, .settings, .createProfile, .import-profile {
|
||||
overflow: hidden;
|
||||
padding: 2rem 0;
|
||||
|
|
@ -1720,14 +1521,6 @@ a.text-warning:hover {color: #FD7262;}
|
|||
line-height: 15px;
|
||||
}
|
||||
|
||||
.tabs dd>a:hover {
|
||||
background: #1C2B39;
|
||||
}
|
||||
|
||||
.tabs dd.active a:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.tabs-content {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
|
@ -1807,7 +1600,3 @@ a.text-warning:hover {color: #FD7262;}
|
|||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.reveal-modal .close-reveal-modal:hover, dialog .close-reveal-modal:hover {
|
||||
background:#ddd;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@
|
|||
|
||||
@media (max-width: 1024px) {
|
||||
|
||||
.loading-screen {
|
||||
background-color: #2C3E50;
|
||||
}
|
||||
|
||||
.logo-setup {
|
||||
margin: 0 0 1rem 0;
|
||||
}
|
||||
|
|
@ -205,10 +209,6 @@
|
|||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
ul.off-canvas-list li a:hover {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 80%;
|
||||
padding: 0.15rem 0.2rem;
|
||||
|
|
@ -234,6 +234,17 @@
|
|||
.move-left .exit-off-canvas {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Remove all vendors hover */
|
||||
|
||||
ul.off-canvas-list li a:hover {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.side-nav li a:not(.button) {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
|
|
|
|||
13
index.html
13
index.html
|
|
@ -30,15 +30,8 @@
|
|||
</div>
|
||||
<div ng-cloak class="page ng-cloak">
|
||||
|
||||
<div class="loading-screen" ng-show="signingOut">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="signingOut">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Signing out'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="sessionExpired" class="session-expired">
|
||||
|
|
@ -61,7 +54,7 @@
|
|||
</span>
|
||||
|
||||
<div ng-controller="SidebarController" ng-show="$root.iden && !$root.hideNavigation">
|
||||
<nav class="tab-bar" >
|
||||
<nav class="tab-bar">
|
||||
<section class="left-small">
|
||||
<a class="left-off-canvas-toggle menu-icon" ><span></span></a>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -43,20 +43,18 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
preconditions.checkArgument(pin);
|
||||
preconditions.checkState($rootScope.iden);
|
||||
preconditions.checkState(_credentials && _credentials.email);
|
||||
$scope.loading = true;
|
||||
$rootScope.starting = true;
|
||||
|
||||
$timeout(function() {
|
||||
$rootScope.$digest();
|
||||
|
||||
pinService.save(pin, _credentials.email, _credentials.password, function(err) {
|
||||
_credentials.password = '';
|
||||
_credentials = null;
|
||||
$scope.askForPin = 0;
|
||||
$rootScope.hasPin = true;
|
||||
$scope.loading = null;
|
||||
$rootScope.starting = null;
|
||||
$scope.createDefaultWallet();
|
||||
});
|
||||
}, 1);
|
||||
}, 100);
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -91,13 +89,10 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
}, 1);
|
||||
};
|
||||
|
||||
|
||||
|
||||
$scope.createDefaultWallet = function() {
|
||||
$rootScope.hideNavigation = false;
|
||||
identityService.createDefaultWallet(function(err) {
|
||||
$scope.askForPin = 0;
|
||||
$scope.loading = false;
|
||||
|
||||
if (err) {
|
||||
var msg = err.toString();
|
||||
|
|
@ -106,16 +101,15 @@ angular.module('copayApp.controllers').controller('CreateProfileController', fun
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
$scope._doCreateProfile = function(emailOrUsername, password, cb) {
|
||||
preconditions.checkArgument(_.isString(emailOrUsername));
|
||||
preconditions.checkArgument(_.isString(password));
|
||||
|
||||
$rootScope.hideNavigation = false;
|
||||
$scope.loading = true;
|
||||
$rootScope.starting = true;
|
||||
|
||||
identityService.create(emailOrUsername, password, function(err) {
|
||||
$scope.loading = null;
|
||||
$rootScope.starting = null;
|
||||
$scope.error = null;
|
||||
if (err) {
|
||||
var msg = err.toString();
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ angular.module('copayApp.controllers').controller('HistoryController',
|
|||
|
||||
$modal.open({
|
||||
templateUrl: 'views/modals/tx-details.html',
|
||||
windowClass: 'tiny',
|
||||
windowClass: 'medium',
|
||||
controller: ModalInstanceCtrl,
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -62,22 +62,19 @@ angular.module('copayApp.controllers').controller('HomeController', function($sc
|
|||
return;
|
||||
}
|
||||
$rootScope.starting = true;
|
||||
|
||||
|
||||
$timeout(function() {
|
||||
$rootScope.$digest();
|
||||
var credentials = pinService.get(pin, function(err, credentials) {
|
||||
if (err || !credentials) {
|
||||
$rootScope.starting = false;
|
||||
$scope.loading = null;
|
||||
$rootScope.starting = null;
|
||||
$scope.error = 'Wrong PIN';
|
||||
return;
|
||||
}
|
||||
$scope.open(credentials.email, credentials.password);
|
||||
});
|
||||
},1);
|
||||
},100);
|
||||
};
|
||||
|
||||
|
||||
$scope.openWallets = function() {
|
||||
preconditions.checkState($rootScope.iden);
|
||||
var iden = $rootScope.iden;
|
||||
|
|
@ -90,16 +87,18 @@ angular.module('copayApp.controllers').controller('HomeController', function($sc
|
|||
preconditions.checkArgument(pin);
|
||||
preconditions.checkState($rootScope.iden);
|
||||
preconditions.checkState(_credentials && _credentials.email);
|
||||
$scope.loading = true;
|
||||
$rootScope.starting = true;
|
||||
|
||||
pinService.save(pin, _credentials.email, _credentials.password, function(err) {
|
||||
_credentials.password = '';
|
||||
_credentials = null;
|
||||
$scope.askForPin = 0;
|
||||
$rootScope.hasPin = true;
|
||||
$scope.loading = null;
|
||||
$scope.openWallets();
|
||||
});
|
||||
$timeout(function() {
|
||||
pinService.save(pin, _credentials.email, _credentials.password, function(err) {
|
||||
_credentials.password = '';
|
||||
_credentials = null;
|
||||
$scope.askForPin = 0;
|
||||
$rootScope.hasPin = true;
|
||||
$rootScope.starting = null;
|
||||
$scope.openWallets();
|
||||
});
|
||||
},100);
|
||||
};
|
||||
|
||||
$scope.openWithCredentials = function(form) {
|
||||
|
|
@ -144,7 +143,6 @@ angular.module('copayApp.controllers').controller('HomeController', function($sc
|
|||
$scope.error = 'Unknown error';
|
||||
}
|
||||
$rootScope.starting = false;
|
||||
$scope.loading = null;
|
||||
$timeout(function(){
|
||||
$rootScope.$digest();
|
||||
},1)
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ angular.module('copayApp.controllers').controller('HomeWalletController', functi
|
|||
|
||||
$modal.open({
|
||||
templateUrl: 'views/modals/txp-details.html',
|
||||
windowClass: 'tiny',
|
||||
windowClass: 'medium',
|
||||
controller: ModalInstanceCtrl,
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('IndexController', function($scope, go) {
|
||||
angular.module('copayApp.controllers').controller('IndexController', function($scope, go, isCordova) {
|
||||
$scope.init = function() {
|
||||
|
||||
};
|
||||
|
||||
$scope.swipe = function(invert) {
|
||||
go.swipe(invert);
|
||||
if (isCordova) {
|
||||
go.swipe(invert);
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -27,7 +27,9 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
|
|||
hideSidebars();
|
||||
}
|
||||
else {
|
||||
elem.addClass('move-right');
|
||||
if ($rootScope.iden && !$rootScope.hideNavigation) {
|
||||
elem.addClass('move-right');
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
@ -35,7 +37,9 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
|
|||
hideSidebars();
|
||||
}
|
||||
else {
|
||||
elem.addClass('move-left');
|
||||
if ($rootScope.iden && $rootScope.iden.listWallets().length >1) {
|
||||
elem.addClass('move-left');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
<div ng-controller="CreateController">
|
||||
<div data-alert class="loading-screen" ng-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
<span class="text-gray size-12" translate>Creating Wallet...</span>
|
||||
</div>
|
||||
<div data-alert ng-show="loading">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Creating wallet'"></div>
|
||||
</div>
|
||||
<div class="setup" ng-show="!loading && !$root.starting">
|
||||
<div class="row hide-for-large-up">
|
||||
|
|
|
|||
|
|
@ -1,26 +1,9 @@
|
|||
<div class="createProfile" ng-controller="CreateProfileController" ng-init="init()">
|
||||
|
||||
<div data-alert class="loading-screen" ng-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_1"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_2"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_3"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_4"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-gray size-12" translate>Creating profile...</span>
|
||||
</div>
|
||||
<div ng-show="$root.starting">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Creating profile'"></div>
|
||||
</div>
|
||||
|
||||
<div class="large-4 large-centered medium-7 medium-centered columns m20b" ng-show="!loading && !askForPin">
|
||||
<div class="large-4 large-centered medium-7 medium-centered columns m20b" ng-show="!$root.starting && !askForPin">
|
||||
<div class="logo-setup hide-for-small-only">
|
||||
<img src="img/logo-negative-beta.svg" alt="Copay" width="100">
|
||||
</div>
|
||||
|
|
@ -184,7 +167,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="passForm.$invalid || loading">
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="passForm.$invalid">
|
||||
Create Profile
|
||||
</button>
|
||||
|
||||
|
|
@ -201,7 +184,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="large-4 large-centered medium-6 medium-centered columns m20b" ng-show="!loading && askForPin">
|
||||
<div class="large-4 large-centered medium-6 medium-centered columns m20b" ng-show="!$root.starting && askForPin">
|
||||
<div class="clipo">
|
||||
<img src="img/clipo-pin.png" alt="clipo" width="380">
|
||||
</div>
|
||||
|
|
@ -215,7 +198,7 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<form name="setPinForm" ng-submit="createPin(setPinForm)" novalidate>
|
||||
<form name="setPinForm" novalidate>
|
||||
<div class="input" ng-show="askForPin == 1">
|
||||
<input id="newpin" type="tel" ng-model="newpin" class="form-control" ng-maxlength="4" ng-minlength="4" maxlength="4" ng-pattern="/^[0-9]{1,4}$/" placeholder="PIN" name="newpin" required show-focus="askForPin == 1">
|
||||
<i class="icon-locked"></i>
|
||||
|
|
@ -232,9 +215,8 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns text-right">
|
||||
<button translate type="submit" class="button primary radius expand m0"
|
||||
ng-disabled="setPinForm.$invalid || error || loading">
|
||||
<i class="fi-bitcoin-circle icon-rotate spinner" ng-show="loading"></i>
|
||||
<button translate ng-click="createPin(setPinForm.repeatpin.$modelValue)" class="button primary radius expand m0"
|
||||
ng-disabled="setPinForm.$invalid || error">
|
||||
OK
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,7 @@
|
|||
<div class="home" ng-controller="HomeController" ng-init="init()">
|
||||
|
||||
<div class="loading-screen" ng-show="$root.starting">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_1"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_2"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_3"> </div>
|
||||
</div>
|
||||
<div class="contener_mixte">
|
||||
<div class="ballcolor ball_4"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-gray size-12" translate>Accessing your profile...</span>
|
||||
</div>
|
||||
<div ng-show="$root.starting">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Accessing your profile'"></div>
|
||||
</div>
|
||||
|
||||
<div class="large-4 large-centered medium-6 medium-centered columns" ng-show="!$root.starting">
|
||||
|
|
@ -52,7 +36,7 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<form name="setPinForm" ng-model="setPinForm" ng-submit="createPin(setPinForm)" novalidate>
|
||||
<form name="setPinForm" ng-model="setPinForm" novalidate>
|
||||
<div class="input" ng-show="askForPin == 1">
|
||||
<input id="newpin" type="tel" ng-model="newpin" class="form-control" ng-maxlength="4" ng-minlength="4" maxlength="4" ng-pattern="/^[0-9]{1,4}$/" placeholder="PIN" name="newpin" required show-focus="askForPin == 1">
|
||||
<i class="icon-locked"></i>
|
||||
|
|
@ -69,9 +53,8 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns text-right">
|
||||
<button translate type="submit" class="button primary radius expand m0"
|
||||
ng-disabled="setPinForm.$invalid || error || loading">
|
||||
<i class="fi-bitcoin-circle icon-rotate spinner" ng-show="loading"></i>
|
||||
<button translate ng-click="createPin(setPinForm.repeatpin.$modelValue)" class="button primary radius expand m0"
|
||||
ng-disabled="setPinForm.$invalid || error">
|
||||
OK
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -108,7 +91,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="large-6 medium-6 small-6 columns text-right">
|
||||
<button translate type="submit" class="button primary radius expand m0"
|
||||
<button translate ng-click="openWithPin(pinForm.pin.$modelValue)" class="button primary radius expand m0"
|
||||
ng-disabled="pinForm.$invalid || error">
|
||||
Sign in
|
||||
</button>
|
||||
|
|
@ -161,7 +144,7 @@
|
|||
<i class="icon-locked"></i>
|
||||
</div>
|
||||
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="loginForm.$invalid || loading">
|
||||
<button translate type="submit" class="button primary radius expand m0" ng-disabled="loginForm.$invalid">
|
||||
Sign in
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
<div class="import" ng-controller="ImportController">
|
||||
<div class="loading-screen" ng-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
<span class="text-gray size-12" translate> {{ importStatus|translate }} </span>
|
||||
</div>
|
||||
<div ng-show="loading">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = importStatus"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="!loading">
|
||||
|
|
|
|||
|
|
@ -1,15 +1,7 @@
|
|||
|
||||
<div class="import-profile" ng-controller="ImportProfileController">
|
||||
<div class="loading-screen" ng-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
<span class="text-gray size-12">{{ importStatus|translate }}</span>
|
||||
</div>
|
||||
<div ng-show="loading">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = importStatus"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="!loading">
|
||||
|
|
|
|||
16
views/includes/loading.html
Normal file
16
views/includes/loading.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<div class="loading-screen">
|
||||
<div class="loading-screen-content">
|
||||
<div class="hide-for-large-up loading-screen-small">
|
||||
<img src="img/ajax-loader.gif" alt="Loading...">
|
||||
</div>
|
||||
<div class="show-for-large-up loading-screen-large">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-gray size-12" ng-show="title">{{title}}...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,15 +1,7 @@
|
|||
<div class="join" ng-controller="JoinController">
|
||||
<div class="loading-screen" ng-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="contener_general">
|
||||
<div class="contener_mixte"><div class="ballcolor ball_1"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_2"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_3"> </div></div>
|
||||
<div class="contener_mixte"><div class="ballcolor ball_4"> </div></div>
|
||||
</div>
|
||||
<span class="text-gray size-12" translate>Connecting to Insight Wallet Server...</span>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="loading">
|
||||
<div ng-include="'views/includes/loading.html'" ng-init="title = 'Connecting to Insight Wallet Server'"></div>
|
||||
</div>
|
||||
|
||||
<div ng-show="!loading">
|
||||
<div class="row hide-for-large-up">
|
||||
|
|
|
|||
|
|
@ -30,11 +30,13 @@
|
|||
<div ng-repeat="addr in addresses" ng-click="openAddressModal(addr)" class="pointer">
|
||||
<div class="panel">
|
||||
<div class="row">
|
||||
<div class="large-8 medium-9 columns">
|
||||
<contact address="{{::addr.address}}" tooltip-popup-delay="500" tooltip tooltip-placement="right">
|
||||
<small translate class="label" ng-if="::addr.isChange">change</small>
|
||||
<div class="large-7 medium-7 small-9 columns">
|
||||
<contact class="ellipsis" address="{{::addr.address}}">
|
||||
</div>
|
||||
<div class="large-4 medium-3 columns text-right">
|
||||
<div class="large-1 medium-2 small-3 columns text-right">
|
||||
<small translate class="label" ng-show="::addr.isChange">change</small>
|
||||
</div>
|
||||
<div class="large-4 medium-3 small-12 columns text-right">
|
||||
<span ng-show="$root.updatingBalance">
|
||||
<i class="fi-bitcoin-circle icon-rotate spinner"></i>
|
||||
</span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue