forked from lthn/blockchain
Minor fix (#124)
* test details & close btn * compiled * confirm modal * delete "cancel" btn from aliases * fix copy btn * text alias fix * confirm pop up * lock & unlock transaction * confirm pop up comment fix * compiled * rebuild html * contact service * rebuild html * fix add contact + rebuild html * allow symbols at name field diffrent from latin * fix export import * alias fix * fix master pass (immigration 41 > 43) * rebuild html * commit * fix * rebuild * fix modal width * add type '.csv',validation empty contact list/file * merge * fix data.foreach & rebuild html * fix countdown + counter of blocks * fix logout without master pass * fix sync block view * fix modal * fix lock transaction * icons functional * animated icons * rebuild html * tooltips * fix logo, sidebar tooltip delay, multi languages * confirm modal * allowed symbols * rebuild html * fix conf. pop up, tooltip delay, rebuild html * Portuguese fix(on/off) * cutted letter "g" * scale settings * change view confirm pop up * fix icons * fix tooltips * new contacts display after open import file * change syncing text * rebuild html
This commit is contained in:
parent
a9e1810b4d
commit
7f407b82a2
28 changed files with 566 additions and 496 deletions
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "Online",
|
||||
"ERROR": "Systemfehler",
|
||||
"COMPLETE": "Abschluss",
|
||||
"SYNCING": "Synchronisiere Blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Lade Blockchain-Daten"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
|
|
@ -150,8 +150,14 @@
|
|||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"SCALE": {
|
||||
"75": "75% scale",
|
||||
"100": "100% scale",
|
||||
"125": "125% scale",
|
||||
"150": "150% scale"
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Languages",
|
||||
"TITLE": "Language",
|
||||
"EN": "English",
|
||||
"FR": "French",
|
||||
"DE": "Deutsch",
|
||||
|
|
@ -180,7 +186,10 @@
|
|||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"CLOSE_MESSAGE": "<span class=\"message\">Remove wallet from the list</span> <br> <span>(To access it you’ll have to add it again)</span>",
|
||||
"CONFIRM": {
|
||||
"TITLE": "Remove wallet from the list?",
|
||||
"MESSAGE": "To access it you’ll have to add it again"
|
||||
},
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "En ligne",
|
||||
"ERROR": "Erreur de système",
|
||||
"COMPLETE": "Fermeture",
|
||||
"SYNCING": "Synchronisation de la blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Chargement des données de la blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "Online",
|
||||
"ERROR": "Errore di sistema",
|
||||
"COMPLETE": "Completata",
|
||||
"SYNCING": "Sincronizzazione blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Caricamento dati blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -789,6 +789,16 @@ input[type='checkbox'].style-checkbox {
|
|||
&.custom-select {
|
||||
width: 100%;
|
||||
|
||||
&.ng-select-single {
|
||||
.ng-select-container {
|
||||
.ng-value-container {
|
||||
.ng-value {
|
||||
line-height: 1.8rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ng-select-container {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -2,12 +2,15 @@
|
|||
<div class="content">
|
||||
<i class="icon info"></i>
|
||||
<div class="message-container">
|
||||
<span [innerHTML]="message"></span>
|
||||
<span class="title">{{title}}</span>
|
||||
<span class="message">{{message}}</span>
|
||||
|
||||
<div class="wrap-btn">
|
||||
<button type="button" class="action-button" (click)="onSubmit()" #btn>{{ 'MODALS.OK' | translate }}</button>
|
||||
<button type="button" class="action-button" (click)="onClose()">{{ 'MODALS.CANCEL' | translate }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap-btn">
|
||||
<button type="button" class="action-button" (click)="onSubmit()" #btn>{{ 'MODALS.OK' | translate }}</button>
|
||||
<button type="button" class="action-button" (click)="onClose()">{{ 'MODALS.CANCEL' | translate }}</button>
|
||||
</div>
|
||||
|
||||
<button type="button" class="close-button" (click)="onClose()"><i class="icon close"></i></button>
|
||||
</div>
|
||||
|
|
@ -15,13 +15,12 @@
|
|||
flex-direction: column;
|
||||
background-position: center;
|
||||
background-size: 200%;
|
||||
padding: 2rem;
|
||||
padding: 3rem;
|
||||
min-width: 34rem;
|
||||
max-width: 60rem;
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
margin: 1.2rem 0;
|
||||
|
||||
.icon {
|
||||
flex: 0 0 auto;
|
||||
|
|
@ -40,6 +39,12 @@
|
|||
justify-content: center;
|
||||
margin-left: 2rem;
|
||||
|
||||
.title {
|
||||
font-size: 1.8rem;
|
||||
font-weight: 600;
|
||||
line-height: 2.2rem;
|
||||
}
|
||||
|
||||
.message {
|
||||
font-size: 1.3rem;
|
||||
line-height: 1.8rem;
|
||||
|
|
@ -50,10 +55,12 @@
|
|||
|
||||
.wrap-btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
margin-top: 3.5rem;
|
||||
}
|
||||
|
||||
.action-button {
|
||||
margin: 1.2rem auto 0.6rem;
|
||||
width: 10rem;
|
||||
height: 2.4rem;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef }
|
|||
})
|
||||
export class ConfirmModalComponent implements OnInit {
|
||||
|
||||
@Input() title: string;
|
||||
@Input() message: string;
|
||||
@Output() confirmed: EventEmitter<boolean> = new EventEmitter<boolean>();
|
||||
@ViewChild('btn') button: ElementRef;
|
||||
|
|
|
|||
|
|
@ -232,6 +232,7 @@ export class TooltipDirective implements OnDestroy {
|
|||
ngOnDestroy() {
|
||||
clearTimeout(this.removeTooltipTimeout);
|
||||
clearTimeout(this.removeTooltipTimeoutInner);
|
||||
clearTimeout(this.removeTooltipTimeDelay);
|
||||
if (this.tooltip) {
|
||||
this.renderer.removeChild(document.body, this.tooltip);
|
||||
this.tooltip = null;
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ export class AppComponent implements OnInit, OnDestroy {
|
|||
this.variablesService.last_build_displaymode = data.last_build_displaymode;
|
||||
this.variablesService.setHeightApp(data.height);
|
||||
this.variablesService.setHeightMax(data.max_net_seen_height);
|
||||
|
||||
this.backend.getContactAlias();
|
||||
this.ngZone.run(() => {
|
||||
this.variablesService.daemon_state = data['daemon_network_state'];
|
||||
if (data['daemon_network_state'] === 1) {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnInit, NgZone } from '@angular/core';
|
||||
import { Location } from '@angular/common';
|
||||
import { BackendService } from '../_helpers/services/backend.service';
|
||||
import { VariablesService } from '../_helpers/services/variables.service';
|
||||
|
|
@ -6,6 +6,7 @@ import { Contact } from '../_helpers/models/contact.model';
|
|||
import { ModalService } from '../_helpers/services/modal.service';
|
||||
import { Papa } from 'ngx-papaparse';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'app-export-import',
|
||||
|
|
@ -21,7 +22,9 @@ export class ExportImportComponent implements OnInit {
|
|||
private backend: BackendService,
|
||||
private modalService: ModalService,
|
||||
private papa: Papa,
|
||||
private translate: TranslateService
|
||||
private translate: TranslateService,
|
||||
private router: Router,
|
||||
private ngZone: NgZone
|
||||
) {}
|
||||
|
||||
ngOnInit() {}
|
||||
|
|
@ -78,10 +81,9 @@ export class ExportImportComponent implements OnInit {
|
|||
});
|
||||
}
|
||||
this.backend.getContactAlias();
|
||||
this.modalService.prepareModal(
|
||||
'success',
|
||||
'CONTACTS.SUCCESS_IMPORT'
|
||||
);
|
||||
this.ngZone.run(() => {
|
||||
this.router.navigate(['/contacts']);
|
||||
});
|
||||
}
|
||||
if (elements.errors.length) {
|
||||
this.modalService.prepareModal(
|
||||
|
|
@ -106,7 +108,7 @@ export class ExportImportComponent implements OnInit {
|
|||
delete contact.alias;
|
||||
contacts.push(contact);
|
||||
});
|
||||
|
||||
|
||||
this.backend.saveFileDialog(
|
||||
'',
|
||||
'*',
|
||||
|
|
@ -118,10 +120,6 @@ export class ExportImportComponent implements OnInit {
|
|||
const path = this.isValid(file_data.path) ? file_data.path : `${file_data.path}.csv`;
|
||||
if (file_status && this.isValid(path) && this.variablesService.contacts.length) {
|
||||
this.backend.storeFile(path, this.papa.unparse(contacts));
|
||||
this.modalService.prepareModal(
|
||||
'success',
|
||||
'CONTACTS.SUCCESS_EXPORT'
|
||||
);
|
||||
}
|
||||
if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {
|
||||
this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@
|
|||
display: flex;
|
||||
cursor: pointer;
|
||||
font-size: 1.3rem;
|
||||
line-height: 1.4rem;
|
||||
line-height: 1.5rem;
|
||||
|
||||
.icon {
|
||||
mask: url(../../assets/icons/howto.svg) no-repeat center;
|
||||
margin-right: 0.8rem;
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
<div class="scale-selection">
|
||||
<button type="button" class="button-block" [class.active]="item.id === variablesService.settings.scale" *ngFor="let item of appScaleOptions" (click)="setScale(item.id)">
|
||||
<span class="label">{{item.name}}</span>
|
||||
<span class="label">{{item.name | translate}}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -58,19 +58,19 @@ export class SettingsComponent implements OnInit {
|
|||
appScaleOptions = [
|
||||
{
|
||||
id: 7.5,
|
||||
name: '75% scale'
|
||||
name: 'SETTINGS.SCALE.75'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
name: '100% scale'
|
||||
name: 'SETTINGS.SCALE.100'
|
||||
},
|
||||
{
|
||||
id: 12.5,
|
||||
name: '125% scale'
|
||||
name: 'SETTINGS.SCALE.125'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
name: '150% scale'
|
||||
name: 'SETTINGS.SCALE.150'
|
||||
}
|
||||
];
|
||||
appLogOptions = [
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="sidebar-settings">
|
||||
<div class="wrap-button" routerLinkActive="active" *ngIf="variablesService.appPass === ''; else contactsShow" tooltip="{{ 'SIDEBAR.CONTACTS_TOOLTIP' | translate }}" placement="top" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
|
||||
<div class="wrap-button" routerLinkActive="active" *ngIf="variablesService.appPass === ''; else contactsShow" tooltip="{{ 'SIDEBAR.CONTACTS_TOOLTIP' | translate }}" placement="top" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
|
||||
<button (click)="contactsRoute()" [class.disabled]="variablesService.daemon_state !== 2 || variablesService.appPass === ''"
|
||||
[disabled]="variablesService.daemon_state !== 2 || variablesService.appPass === ''">
|
||||
<i class="icon contacts"></i>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
<ng-template #contactsShow>
|
||||
<div class="wrap-button" routerLinkActive="active">
|
||||
<button (click)="contactsRoute()"
|
||||
<button (click)="contactsRoute()" [class.disabled]="variablesService.daemon_state !== 2" [disabled]="variablesService.daemon_state !== 2"
|
||||
(mouseover)="menuItem = true"
|
||||
(mouseleave)="menuItem = false"
|
||||
>
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
<span>{{ 'SIDEBAR.SETTINGS' | translate }}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="wrap-button" *ngIf="variablesService.appPass === ''; else masterPass" tooltip="{{ 'SIDEBAR.LOG_OUT_TOOLTIP' | translate }}" placement="bottom" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
|
||||
<div class="wrap-button" *ngIf="variablesService.appPass === ''; else masterPass" tooltip="{{ 'SIDEBAR.LOG_OUT_TOOLTIP' | translate }}" placement="bottom" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
|
||||
<button (click)="logOut()" [class.disabled]="variablesService.appPass === ''" [disabled]="variablesService.appPass === ''">
|
||||
<i class="icon logout"></i>
|
||||
<span>{{ 'SIDEBAR.LOG_OUT' | translate }}</span>
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@
|
|||
<div class="alias" *ngIf="variablesService.currentWallet.alias.hasOwnProperty('name') && variablesService.currentWallet.loaded && variablesService.daemon_state === 2">
|
||||
<span>{{variablesService.currentWallet.alias['name']}}</span>
|
||||
<ng-container *ngIf="variablesService.currentWallet.alias_available">
|
||||
<i class="icon edit" [routerLink]="['/edit-alias']" tooltip="{{ 'WALLET.TOOLTIPS.EDIT_ALIAS' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500"></i>
|
||||
<i class="icon transfer" [routerLink]="['/transfer-alias']" tooltip="{{ 'WALLET.TOOLTIPS.TRANSFER_ALIAS' | translate }}" placement="right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500"></i>
|
||||
<i class="icon edit" [routerLink]="['/edit-alias']" tooltip="{{ 'WALLET.TOOLTIPS.EDIT_ALIAS' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500"></i>
|
||||
<i class="icon transfer" [routerLink]="['/transfer-alias']" tooltip="{{ 'WALLET.TOOLTIPS.TRANSFER_ALIAS' | translate }}" placement="right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500"></i>
|
||||
</ng-container>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button [routerLink]="['/details']" routerLinkActive="active" tooltip="{{ 'WALLET.TOOLTIPS.SETTINGS' | translate }}" placement="left" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
|
||||
<button [routerLink]="['/details']" routerLinkActive="active" tooltip="{{ 'WALLET.TOOLTIPS.SETTINGS' | translate }}" placement="left" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
|
||||
<i class="icon details"></i>
|
||||
</button>
|
||||
<button type="button" (click)="showDialog()" tooltip="{{ 'WALLET.TOOLTIPS.CLOSE' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="1500">
|
||||
<button type="button" (click)="showDialog()" tooltip="{{ 'WALLET.TOOLTIPS.CLOSE' | translate }}" placement="bottom-right" tooltipClass="table-tooltip account-tooltip" [delay]="500" [timeDelay]="500">
|
||||
<i class="icon close-wallet"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -48,4 +48,4 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<app-confirm-modal *ngIf="isModalDialogVisible" [message]=" 'WALLET.CLOSE_MESSAGE' | translate " (confirmed)="confirmed($event)"></app-confirm-modal>
|
||||
<app-confirm-modal *ngIf="isModalDialogVisible" [title]=" 'WALLET.CONFIRM.TITLE' | translate " [message]=" 'WALLET.CONFIRM.MESSAGE' | translate " (confirmed)="confirmed($event)"></app-confirm-modal>
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
height: 1.7rem;
|
||||
|
||||
&.account {
|
||||
height: 1.6rem;
|
||||
mask: url(../../assets/icons/account.svg) no-repeat center;
|
||||
}
|
||||
|
||||
|
|
@ -60,6 +61,7 @@
|
|||
&.details {
|
||||
mask: url(../../assets/icons/details-settings.svg) no-repeat center;
|
||||
margin-right: 0;
|
||||
height: 1.8rem;
|
||||
}
|
||||
|
||||
&.close-wallet {
|
||||
|
|
@ -105,6 +107,7 @@
|
|||
height: 1.7rem;
|
||||
|
||||
&.copy {
|
||||
width: 1.8rem;
|
||||
mask: url(../../assets/icons/copy.svg) no-repeat center;
|
||||
|
||||
&:hover {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "Online",
|
||||
"ERROR": "Systemfehler",
|
||||
"COMPLETE": "Abschluss",
|
||||
"SYNCING": "Synchronisiere Blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Lade Blockchain-Daten"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
|
|
@ -150,8 +150,14 @@
|
|||
"TIME3": "1 hour",
|
||||
"TIME4": "Never"
|
||||
},
|
||||
"SCALE": {
|
||||
"75": "75% scale",
|
||||
"100": "100% scale",
|
||||
"125": "125% scale",
|
||||
"150": "150% scale"
|
||||
},
|
||||
"LANGUAGE": {
|
||||
"TITLE": "Languages",
|
||||
"TITLE": "Language",
|
||||
"EN": "English",
|
||||
"FR": "French",
|
||||
"DE": "Deutsch",
|
||||
|
|
@ -180,7 +186,10 @@
|
|||
"AVAILABLE_BALANCE": "Available <b>{{available}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE": "Locked <b>{{locked}} {{currency}}<b/>",
|
||||
"LOCKED_BALANCE_LINK": "What does that mean?",
|
||||
"CLOSE_MESSAGE": "<span class=\"message\">Remove wallet from the list</span> <br> <span>(To access it you’ll have to add it again)</span>",
|
||||
"CONFIRM": {
|
||||
"TITLE": "Remove wallet from the list?",
|
||||
"MESSAGE": "To access it you’ll have to add it again"
|
||||
},
|
||||
"TABS": {
|
||||
"SEND": "Send",
|
||||
"RECEIVE": "Receive",
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "En ligne",
|
||||
"ERROR": "Erreur de système",
|
||||
"COMPLETE": "Fermeture",
|
||||
"SYNCING": "Synchronisation de la blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Chargement des données de la blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "Online",
|
||||
"ERROR": "Errore di sistema",
|
||||
"COMPLETE": "Completata",
|
||||
"SYNCING": "Sincronizzazione blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "Caricamento dati blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
"ONLINE": "Online",
|
||||
"ERROR": "Erro de sistema",
|
||||
"COMPLETE": "Conclusão",
|
||||
"SYNCING": "A sincronizar blockchain",
|
||||
"SYNCING": "Syncing block",
|
||||
"LOADING": "A carregar informação da blockchain"
|
||||
},
|
||||
"UPDATE": {
|
||||
|
|
@ -484,8 +484,8 @@
|
|||
"MONTH": "mês"
|
||||
},
|
||||
"SWITCH": {
|
||||
"ON": "LIGADO",
|
||||
"OFF": "DESLIGADO"
|
||||
"ON": "ON",
|
||||
"OFF": "OFF"
|
||||
}
|
||||
},
|
||||
"CONTACTS": {
|
||||
|
|
|
|||
|
|
@ -789,6 +789,16 @@ input[type='checkbox'].style-checkbox {
|
|||
&.custom-select {
|
||||
width: 100%;
|
||||
|
||||
&.ng-select-single {
|
||||
.ng-select-container {
|
||||
.ng-value-container {
|
||||
.ng-value {
|
||||
line-height: 1.8rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ng-select-container {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue