Merge pull request #2592 from cmgustavo/feat/translation-02
Bug fixes and setting language option
This commit is contained in:
commit
302c6e8949
45 changed files with 1609 additions and 1863 deletions
156
po/fr.po
156
po/fr.po
|
|
@ -9,20 +9,33 @@ msgstr ""
|
|||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Language: fr_FR\n"
|
||||
"X-Generator: Poedit 1.7.6\n"
|
||||
"Language: fr\n"
|
||||
"X-Generator: Poedit 1.6.10\n"
|
||||
|
||||
#: public/views/splash/1.html
|
||||
msgid "* In case you need to import wallets from previous Copay versions go to <b>Menu</b>"
|
||||
msgstr "* Si vous avez besoin d'importer des portefeuilles depuis les versions précédentes de Copay, allez au <b>Menu</b>"
|
||||
msgid ""
|
||||
"* In case you need to import wallets from previous Copay versions go to "
|
||||
"<b>Menu</b>"
|
||||
msgstr ""
|
||||
"* Si vous avez besoin d'importer des portefeuilles depuis les versions "
|
||||
"précédentes de Copay, allez au <b>Menu</b>"
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "* Only transactions created by yourself with no peer signatures can be removed"
|
||||
msgstr "* Seules les transactions créées par vous-même sans signatures de pairs peuvent être supprimées"
|
||||
msgid ""
|
||||
"* Only transactions created by yourself with no peer signatures can be "
|
||||
"removed"
|
||||
msgstr ""
|
||||
"* Seules les transactions créées par vous-même sans signatures de pairs "
|
||||
"peuvent être supprimées"
|
||||
|
||||
#: public/views/backup.html
|
||||
msgid "* You can safely install your backup on other device and use your wallet from many devices at the same time."
|
||||
msgstr "* Vous pouvez installer en toute sécurité votre sauvegarde sur un autre appareil et utiliser votre portefeuille depuis plusieurs appareils en même temps"
|
||||
msgid ""
|
||||
"* You can safely install your backup on other device and use your wallet "
|
||||
"from many devices at the same time."
|
||||
msgstr ""
|
||||
"* Vous pouvez installer en toute sécurité votre sauvegarde sur un autre "
|
||||
"appareil et utiliser votre portefeuille depuis plusieurs appareils en même "
|
||||
"temps"
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Add"
|
||||
|
|
@ -40,8 +53,7 @@ msgstr "Ajouter une entrée"
|
|||
msgid "Add wallet"
|
||||
msgstr "Ajouter un portefeuille"
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/paymentUri.html public/views/modals/address-book.html
|
||||
#: public/views/modals/qr-address.html
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
|
@ -54,8 +66,7 @@ msgstr "Carnet d'adresses"
|
|||
msgid "Alternative Currency"
|
||||
msgstr "Devise alternative"
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
#: public/views/send.html
|
||||
#: public/views/paymentUri.html public/views/send.html
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
|
||||
|
|
@ -67,8 +78,7 @@ msgstr "Montant en"
|
|||
msgid "Available Balance"
|
||||
msgstr "Solde disponible"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "BIP32 master extended private key"
|
||||
msgstr "Clé privée étendue maîtresse BIP32"
|
||||
|
||||
|
|
@ -89,8 +99,11 @@ msgid "Backup options"
|
|||
msgstr "Options de sauvegarde"
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "Before receiving funds, it is highly recommended you backup your wallet keys."
|
||||
msgstr "Avant de recevoir des fonds, il est fortement recommandé de sauvegarder les clés de votre portefeuille."
|
||||
msgid ""
|
||||
"Before receiving funds, it is highly recommended you backup your wallet keys."
|
||||
msgstr ""
|
||||
"Avant de recevoir des fonds, il est fortement recommandé de sauvegarder les "
|
||||
"clés de votre portefeuille."
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
msgid "Bitcoin URI is NOT valid!"
|
||||
|
|
@ -116,10 +129,8 @@ msgstr "Mais non diffusée. Essayez de l'envoyer manuellement"
|
|||
msgid "CANCEL"
|
||||
msgstr "ANNULER"
|
||||
|
||||
#: public/views/copayers.html
|
||||
#: public/views/send.html
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/modals/confirmation.html
|
||||
#: public/views/copayers.html public/views/send.html
|
||||
#: public/views/modals/address-book.html public/views/modals/confirmation.html
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
|
|
@ -131,12 +142,9 @@ msgstr "Certifié par :"
|
|||
msgid "Choose backup file from your computer"
|
||||
msgstr "Choisissez un fichier de sauvegarde depuis votre ordinateur"
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/modals/copayers.html
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/qr-address.html
|
||||
#: public/views/modals/scanner.html
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/address-book.html public/views/modals/copayers.html
|
||||
#: public/views/modals/paypro.html public/views/modals/qr-address.html
|
||||
#: public/views/modals/scanner.html public/views/modals/tx-details.html
|
||||
#: public/views/modals/txp-details.html
|
||||
#: public/views/modals/walletSelection.html
|
||||
msgid "Close"
|
||||
|
|
@ -162,8 +170,7 @@ msgstr "Copiez la sauvegarde dans un endroit sûr"
|
|||
msgid "Copy this text as it is in a safe place (notepad or email)"
|
||||
msgstr "Copiez le texte dans un endroit sûr (bloc-notes ou e-mail)"
|
||||
|
||||
#: public/views/backup.html
|
||||
#: public/views/modals/qr-address.html
|
||||
#: public/views/backup.html public/views/modals/qr-address.html
|
||||
msgid "Copy to clipboard"
|
||||
msgstr "Copier dans le presse-papier"
|
||||
|
||||
|
|
@ -179,8 +186,7 @@ msgstr "Impossible de récupérer l'historique des transactions"
|
|||
msgid "Could not update Wallet"
|
||||
msgstr "Impossible de mettre à jour le portefeuille"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/walletHome.html
|
||||
#: public/views/create.html public/views/walletHome.html
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
|
|
@ -192,8 +198,7 @@ msgstr "Créer un nouveau portefeuille"
|
|||
msgid "Create, join or import"
|
||||
msgstr "Créer, joindre ou importer"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/createProfile.html
|
||||
#: public/views/create.html public/views/createProfile.html
|
||||
msgid "Creating wallet..."
|
||||
msgstr "Création du portefeuille..."
|
||||
|
||||
|
|
@ -261,8 +266,7 @@ msgstr "Acquisition des transactions..."
|
|||
msgid "Global settings"
|
||||
msgstr "Paramètres globaux"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
|
|
@ -298,13 +302,11 @@ msgstr "Importer un portefeuille"
|
|||
msgid "Importing wallet..."
|
||||
msgstr "Importation du portefeuille..."
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/txp-details.html
|
||||
#: public/views/modals/tx-details.html public/views/modals/txp-details.html
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "John"
|
||||
msgstr "John"
|
||||
|
||||
|
|
@ -340,13 +342,11 @@ msgstr "Faire un paiement à"
|
|||
msgid "Master extended private key"
|
||||
msgstr "Clé privée étendue maîtresse"
|
||||
|
||||
#: public/views/includes/copayers.html
|
||||
#: public/views/modals/copayers.html
|
||||
#: public/views/includes/copayers.html public/views/modals/copayers.html
|
||||
msgid "Me"
|
||||
msgstr "Moi"
|
||||
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/paypro.html public/views/modals/tx-details.html
|
||||
msgid "Merchant Message:"
|
||||
msgstr "Message marchand :"
|
||||
|
||||
|
|
@ -378,8 +378,7 @@ msgstr "Aucune propositions de dépense en attente à ce moment."
|
|||
msgid "No transactions yet"
|
||||
msgstr "Aucune transaction"
|
||||
|
||||
#: public/views/send.html
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/send.html public/views/modals/address-book.html
|
||||
msgid "Not valid"
|
||||
msgstr "Non valide"
|
||||
|
||||
|
|
@ -403,14 +402,15 @@ msgstr "Ok"
|
|||
msgid "Opening Wallet..."
|
||||
msgstr "Ouverture du portefeuille..."
|
||||
|
||||
#: public/views/import.html
|
||||
#: public/views/importLegacy.html
|
||||
#: public/views/import.html public/views/importLegacy.html
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: public/views/includes/password.html
|
||||
msgid "Password cannot be recovered. Be sure to write it down"
|
||||
msgstr "Le mot de passe ne peut pas être récupéré. Assurez-vous de l'écrire sur papier"
|
||||
msgstr ""
|
||||
"Le mot de passe ne peut pas être récupéré. Assurez-vous de l'écrire sur "
|
||||
"papier"
|
||||
|
||||
#: public/views/import.html
|
||||
msgid "Paste backup plain text code"
|
||||
|
|
@ -433,8 +433,11 @@ msgid "Payment to"
|
|||
msgstr "Paiement à"
|
||||
|
||||
#: public/views/preferencesDeleteWallet.html
|
||||
msgid "Permanently delete this wallet. WARNING: this action cannot be reversed."
|
||||
msgstr "Supprimer définitivement ce portefeuille. ATTENTION : cette action ne peut pas être annulée."
|
||||
msgid ""
|
||||
"Permanently delete this wallet. WARNING: this action cannot be reversed."
|
||||
msgstr ""
|
||||
"Supprimer définitivement ce portefeuille. ATTENTION : cette action ne peut "
|
||||
"pas être annulée."
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Personal Wallet"
|
||||
|
|
@ -468,13 +471,11 @@ msgstr "Rejeter"
|
|||
msgid "Remove transaction"
|
||||
msgstr "Supprimer la transaction"
|
||||
|
||||
#: public/views/backup.html
|
||||
#: public/views/includes/password.html
|
||||
#: public/views/backup.html public/views/includes/password.html
|
||||
msgid "Repeat password"
|
||||
msgstr "Répéter le mot de passe"
|
||||
|
||||
#: public/views/import.html
|
||||
#: public/views/join.html
|
||||
#: public/views/import.html public/views/join.html
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Required"
|
||||
msgstr "Requis"
|
||||
|
|
@ -564,11 +565,15 @@ msgid "Share this secret with your copayers"
|
|||
msgstr "Partagez ce secret avec vos copayers"
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "Share this with anyone to have them send you payments. To protect your privacy, new addresses are generated automatically once you use them."
|
||||
msgstr "Partagez ceci avec quiconque pour recevoir des paiements. Pour protéger votre anonymat, de nouvelles adresses sont générées automatiquement une fois que vous les utilisez."
|
||||
msgid ""
|
||||
"Share this with anyone to have them send you payments. To protect your "
|
||||
"privacy, new addresses are generated automatically once you use them."
|
||||
msgstr ""
|
||||
"Partagez ceci avec quiconque pour recevoir des paiements. Pour protéger "
|
||||
"votre anonymat, de nouvelles adresses sont générées automatiquement une fois "
|
||||
"que vous les utilisez."
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "Show"
|
||||
msgstr "Montrer"
|
||||
|
||||
|
|
@ -597,20 +602,26 @@ msgid "The transaction was removed by creator"
|
|||
msgstr "La transaction a été supprimée par le créateur"
|
||||
|
||||
#: public/views/backup.html
|
||||
msgid "This wallet have its private key encrypted. Exporting a backup will keep the private key encrypted on the backup."
|
||||
msgstr "Ce portefeuille a sa clé privée chiffrée. Exporter une sauvegarde gardera la clé privée chiffrée lors de la sauvegarde."
|
||||
msgid ""
|
||||
"This wallet have its private key encrypted. Exporting a backup will keep the "
|
||||
"private key encrypted on the backup."
|
||||
msgstr ""
|
||||
"Ce portefeuille a sa clé privée chiffrée. Exporter une sauvegarde gardera la "
|
||||
"clé privée chiffrée lors de la sauvegarde."
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information."
|
||||
msgstr "Ce portefeuille n'est pas enregistré dans le Bitcore Wallet Service (BWS). Vous pouvez le recréer depuis l'information locale."
|
||||
msgid ""
|
||||
"This wallet is not registered at the given Bitcore Wallet Service (BWS). You "
|
||||
"can recreate it from the local information."
|
||||
msgstr ""
|
||||
"Ce portefeuille n'est pas enregistré dans le Bitcore Wallet Service (BWS). "
|
||||
"Vous pouvez le recréer depuis l'information locale."
|
||||
|
||||
#: public/views/send.html
|
||||
#: public/views/includes/transaction.html
|
||||
#: public/views/send.html public/views/includes/transaction.html
|
||||
msgid "To"
|
||||
msgstr "À"
|
||||
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/paypro.html public/views/modals/tx-details.html
|
||||
msgid "To:"
|
||||
msgstr "À :"
|
||||
|
||||
|
|
@ -642,8 +653,7 @@ msgstr "Transaction envoyée !"
|
|||
msgid "Trying to reconnnect..."
|
||||
msgstr "Tentative de reconnexion..."
|
||||
|
||||
#: public/views/history.html
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/history.html public/views/modals/tx-details.html
|
||||
msgid "Unconfirmed"
|
||||
msgstr "Non confirmée"
|
||||
|
||||
|
|
@ -727,13 +737,11 @@ msgstr "Attention !"
|
|||
msgid "You do not have any wallet"
|
||||
msgstr "Vous n'avez aucun portefeuille"
|
||||
|
||||
#: public/views/backup.html
|
||||
#: public/views/import.html
|
||||
#: public/views/backup.html public/views/import.html
|
||||
msgid "Your backup password"
|
||||
msgstr "Votre mot de passe de sauvegarde"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "Your nickname"
|
||||
msgstr "Votre surnom"
|
||||
|
||||
|
|
@ -745,8 +753,7 @@ msgstr "Votre mot de passe"
|
|||
msgid "Your profile password"
|
||||
msgstr "Votre mot de passe de profil"
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
#: public/views/create.html public/views/join.html
|
||||
msgid "advanced options"
|
||||
msgstr "options avancées"
|
||||
|
||||
|
|
@ -758,8 +765,7 @@ msgstr "change"
|
|||
msgid "in pending transactions"
|
||||
msgstr "dans les transactions en attente"
|
||||
|
||||
#: public/views/copayers.html
|
||||
#: public/views/create.html
|
||||
#: public/views/copayers.html public/views/create.html
|
||||
#: public/views/walletHome.html
|
||||
msgid "of"
|
||||
msgstr "de"
|
||||
|
|
|
|||
4
po/ja.po
4
po/ja.po
|
|
@ -9,8 +9,8 @@ msgstr ""
|
|||
"Last-Translator: \n"
|
||||
"Language-Team: dabura667\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Language: ja_JP\n"
|
||||
"X-Generator: Poedit 1.6.4\n"
|
||||
"Language: ja\n"
|
||||
"X-Generator: Poedit 1.6.10\n"
|
||||
|
||||
#: public/views/splash/1.html
|
||||
msgid ""
|
||||
|
|
|
|||
203
po/template.pot
203
po/template.pot
|
|
@ -16,38 +16,21 @@ msgstr ""
|
|||
msgid "* You can safely install your backup on other device and use your wallet from many devices at the same time."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Add a new entry"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Add entry"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/sidebar.html
|
||||
msgid "Add wallet"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/modals/qr-address.html
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Address Book"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/preferences.html
|
||||
msgid "Alternative Currency"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
#: public/views/send.html
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -55,13 +38,12 @@ msgstr ""
|
|||
msgid "Amount in"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
msgid "Available Balance"
|
||||
#: public/views/preferencesLanguage.html
|
||||
msgid "Applying changes"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/join.html
|
||||
msgid "BIP32 master extended private key"
|
||||
#: public/views/send.html
|
||||
msgid "Available Balance"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/topbar.html
|
||||
|
|
@ -92,18 +74,6 @@ msgstr ""
|
|||
msgid "Bitcoin address"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/preferences.html
|
||||
msgid "Bitcore Wallet Service"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/preferencesBwsUrl.html
|
||||
msgid "Bitcore Wallet Service URL"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "Blockchain"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Broadcast Transaction"
|
||||
msgstr ""
|
||||
|
|
@ -122,27 +92,23 @@ msgstr ""
|
|||
|
||||
#: public/views/copayers.html
|
||||
#: public/views/send.html
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/modals/confirmation.html
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/paypro.html
|
||||
msgid "Certified by:"
|
||||
msgid "Certified by"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/import.html
|
||||
msgid "Choose backup file from your computer"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
#: public/views/modals/copayers.html
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/qr-address.html
|
||||
#: public/views/modals/scanner.html
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/txp-details.html
|
||||
#: public/views/modals/walletSelection.html
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -151,7 +117,7 @@ msgid "Color"
|
|||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "Confirmations:"
|
||||
msgid "Confirmations"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/copayers.html
|
||||
|
|
@ -167,7 +133,6 @@ msgid "Copy this text as it is in a safe place (notepad or email)"
|
|||
msgstr ""
|
||||
|
||||
#: public/views/backup.html
|
||||
#: public/views/modals/qr-address.html
|
||||
msgid "Copy to clipboard"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -175,6 +140,14 @@ msgstr ""
|
|||
msgid "Could not connect to Wallet Service"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
msgid "Could not fetch transaction history"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Could not update Wallet"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/walletHome.html
|
||||
msgid "Create"
|
||||
|
|
@ -188,21 +161,17 @@ msgstr ""
|
|||
msgid "Create, join or import"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
#: public/views/createProfile.html
|
||||
msgid "Creating wallet..."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Creator"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "Date:"
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/preferences.html
|
||||
|
|
@ -217,10 +186,6 @@ msgstr ""
|
|||
msgid "ENTER"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Empty. Create an alias for your addresses"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/preferences.html
|
||||
msgid "Encrypt Private Key"
|
||||
msgstr ""
|
||||
|
|
@ -229,12 +194,9 @@ msgstr ""
|
|||
msgid "Enter your password"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/paypro.html
|
||||
msgid "Expires:"
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Expires"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
|
|
@ -249,10 +211,6 @@ msgstr ""
|
|||
msgid "Generate new address"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "Generating a new address..."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
msgid "Getting transactions..."
|
||||
msgstr ""
|
||||
|
|
@ -266,6 +224,14 @@ msgstr ""
|
|||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
msgid "If not given, a random key will be generated"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/join.html
|
||||
msgid "If not given, a secure key will be generated"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/importLegacy.html
|
||||
msgid "Import"
|
||||
msgstr ""
|
||||
|
|
@ -312,18 +278,14 @@ msgstr ""
|
|||
msgid "Joining shared wallet..."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Label"
|
||||
#: public/views/preferences.html
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/importLegacy.html
|
||||
msgid "Learn more about Wallet Migration"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/walletSelection.html
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
msgid "Make a payment to"
|
||||
msgstr ""
|
||||
|
|
@ -339,7 +301,7 @@ msgstr ""
|
|||
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "Merchant Message:"
|
||||
msgid "Merchant message"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/paymentUri.html
|
||||
|
|
@ -350,29 +312,34 @@ msgstr ""
|
|||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
msgid "Moved"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Multisignature wallet"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "My Bitcoin address:"
|
||||
msgid "My Bitcoin address"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "No pending spend proposals at the moment."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
msgid "No transactions yet"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Not valid"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "Note:"
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/confirmation.html
|
||||
|
|
@ -401,13 +368,17 @@ msgid "Paste backup plain text code"
|
|||
msgstr ""
|
||||
|
||||
#: public/views/join.html
|
||||
msgid "Paste wallet secret here"
|
||||
msgid "Paste invitation here"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-status.html
|
||||
msgid "Payment Sent"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Payment details"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/paypro.html
|
||||
msgid "Payment protocol request"
|
||||
msgstr ""
|
||||
|
|
@ -428,8 +399,8 @@ msgstr ""
|
|||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/scanner.html
|
||||
msgid "QR-Scanner"
|
||||
#: public/views/history.html
|
||||
msgid "Received"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
|
|
@ -445,21 +416,16 @@ msgid "Reject"
|
|||
msgstr ""
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Remove"
|
||||
msgid "Remove transaction"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/backup.html
|
||||
#: public/views/includes/password.html
|
||||
msgid "Repeat Password"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/backup.html
|
||||
msgid "Repeat password"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/import.html
|
||||
#: public/views/join.html
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Required"
|
||||
msgstr ""
|
||||
|
||||
|
|
@ -479,6 +445,10 @@ msgstr ""
|
|||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Scan status finished with error"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Scanning Wallet funds..."
|
||||
msgstr ""
|
||||
|
|
@ -495,10 +465,6 @@ msgstr ""
|
|||
msgid "Select a wallet"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/walletSelection.html
|
||||
msgid "Select a wallet to make the payment"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/create.html
|
||||
msgid "Select required signatures"
|
||||
msgstr ""
|
||||
|
|
@ -515,28 +481,32 @@ msgstr ""
|
|||
msgid "Send by email"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
msgid "Sent"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/importLegacy.html
|
||||
msgid "Server"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/password.html
|
||||
msgid "Set up a Password"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/backup.html
|
||||
msgid "Set up a Password for your backup"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/password.html
|
||||
msgid "Set up a password"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "Share address"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/copayers.html
|
||||
msgid "Share secret"
|
||||
msgid "Share invitation"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/copayers.html
|
||||
msgid "Share this secret with your copayers"
|
||||
msgid "Share this invitation with your copayers"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/receive.html
|
||||
|
|
@ -553,17 +523,23 @@ msgid "Sign"
|
|||
msgstr ""
|
||||
|
||||
#: public/views/modals/tx-details.html
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Signatures"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/pin.html
|
||||
msgid "Skip"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
msgid "Spend proposals"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/history.html
|
||||
#: public/views/walletHome.html
|
||||
msgid "Tap to retry"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "The transaction was removed by creator"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/backup.html
|
||||
msgid "This wallet have its private key encrypted. Exporting a backup will keep the private key encrypted on the backup."
|
||||
msgstr ""
|
||||
|
|
@ -572,14 +548,16 @@ msgstr ""
|
|||
msgid "This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information."
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
#: public/views/includes/transaction.html
|
||||
msgid "To"
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
#: public/views/includes/transaction.html
|
||||
#: public/views/modals/paypro.html
|
||||
#: public/views/modals/tx-details.html
|
||||
msgid "To:"
|
||||
#: public/views/modals/txp-details.html
|
||||
msgid "To"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/walletHome.html
|
||||
|
|
@ -647,10 +625,6 @@ msgstr ""
|
|||
msgid "View backup"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/address-book.html
|
||||
msgid "Visible"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/receive.html
|
||||
msgid "WARNING: Backup needed"
|
||||
msgstr ""
|
||||
|
|
@ -672,11 +646,15 @@ msgid "Waiting..."
|
|||
msgstr ""
|
||||
|
||||
#: public/views/join.html
|
||||
msgid "Wallet Secret"
|
||||
msgid "Wallet Invitation"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/join.html
|
||||
msgid "Wallet Secret is not valid!"
|
||||
msgid "Wallet Invitation is not valid!"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/includes/clientError.html
|
||||
msgid "Wallet Service Error"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/copayers.html
|
||||
|
|
@ -718,10 +696,6 @@ msgstr ""
|
|||
msgid "advanced options"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/modals/qr-address.html
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
|
||||
#: public/views/send.html
|
||||
msgid "in pending transactions"
|
||||
msgstr ""
|
||||
|
|
@ -729,6 +703,7 @@ msgstr ""
|
|||
#: public/views/copayers.html
|
||||
#: public/views/create.html
|
||||
#: public/views/walletHome.html
|
||||
#: public/views/includes/sidebar.html
|
||||
msgid "of"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
ng-class="{'main': index.hasProfile, 'main-dark': mainDark, 'animation-left': index.swipeLeft,
|
||||
'animation-right': index.swipeRight}"
|
||||
ui-view="main"></section>
|
||||
<div ui-view="menu"></div>
|
||||
<div ui-view="menu" ng-if="!index.noFocusedWallet && !$root.hideMenuBar"></div>
|
||||
<a class="close-menu" ng-click="index.closeMenu()"></a>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
name="password" ng-model="backup.password">
|
||||
</div>
|
||||
|
||||
<label for="password" translate>Repeat Password</label>
|
||||
<label for="password" translate>Repeat password</label>
|
||||
<div class="input">
|
||||
<input type="password" class="form-control"
|
||||
placeholder="{{'Repeat password'|translate}}"
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
<small translate>If not given, a random key will be generated</small>
|
||||
<input id="ext-master"
|
||||
type="text"
|
||||
placeholder="{{'BIP32 master extended private key'|translate}}"
|
||||
placeholder="BIP32 master extended private key"
|
||||
name="privateKey" ng-model="privateKey">
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
<span ng-if="index.updatingTxHistory" class="text-gray animated flash infinite" translate>Getting transactions...</span>
|
||||
<span ng-if="!index.updatingTxHistory">
|
||||
<span ng-show="index.txHistoryError && !index.notAuthorized" ng-click='index.openWallet()'>
|
||||
Could not fetch transaction history
|
||||
<br> [Tap to retry]
|
||||
<span translate>Could not fetch transaction history</span>
|
||||
<br> [<span translate>Tap to retry</span>]
|
||||
</span>
|
||||
<span ng-if="!index.txHistoryError">
|
||||
No transactions yet
|
||||
<span ng-if="!index.txHistoryError" translate>
|
||||
No transactions yet
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
|
|
@ -21,9 +21,9 @@
|
|||
class="row collapse last-transactions-content">
|
||||
<div class="large-3 medium-3 small-3 columns">
|
||||
<span class="label tu radius" ng-show="btx.action == 'received'"
|
||||
ng-style="{'background-color':index.backgroundColor}">Received</span>
|
||||
<span class="label tu gray radius" ng-show="btx.action == 'sent'">Sent</span>
|
||||
<span class="label tu gray radius" ng-show="btx.action == 'moved'">Moved</span>
|
||||
ng-style="{'background-color':index.backgroundColor}" translate>Received</span>
|
||||
<span class="label tu gray radius" ng-show="btx.action == 'sent'" translate>Sent</span>
|
||||
<span class="label tu gray radius" ng-show="btx.action == 'moved'" translate>Moved</span>
|
||||
</div>
|
||||
|
||||
<div class="large-5 medium-5 small-5 columns">
|
||||
|
|
|
|||
|
|
@ -4,8 +4,10 @@
|
|||
<i class="fi-alert"></i>
|
||||
</div>
|
||||
<div class="dr-notification-content">
|
||||
<h3 class="dr-notification-title">Wallet Service Error</h3>
|
||||
<div class="dr-notification-text ellipsis">{{index.clientError.message || index.clientError}}</div>
|
||||
<h3 class="dr-notification-title" translate>Wallet Service Error</h3>
|
||||
<div class="dr-notification-text ellipsis">
|
||||
{{index.clientError.error || index.clientError.message || index.clientError}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<div class="loading-screen">
|
||||
<div class="loading-screen-content">
|
||||
<img src="img/ajax-loader.gif" alt="Loading...">
|
||||
<div class="text-gray size-12" ng-show="title">{{title|translate}}...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
<div
|
||||
ng-show="!index.noFocusedWallet && !hideMenuBar"
|
||||
class="bottom-bar row collapse"
|
||||
ng-controller="menuController as menu">
|
||||
<div class="medium-3 small-3 columns text-center bottombar-item" ng-repeat="item in menu.menu">
|
||||
<a ng-click="menu.go(item.link)" ng-class="{'active': activeMenu == item.link}"
|
||||
<div
|
||||
class="bottom-bar row collapse">
|
||||
<div class="medium-3 small-3 columns text-center bottombar-item" ng-repeat="item in index.menu">
|
||||
<a ng-click="$root.go(item.link)" ng-class="{'active': activeMenu == item.link}"
|
||||
ng-style="{'border-top-color':activeMenu==item.link ? index.backgroundColor : ''}">
|
||||
<i class="size-36 {{item.icon}} db"></i>
|
||||
<div class="size-10 tu">
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@
|
|||
>
|
||||
<div class="columns m20t">
|
||||
<label class="size-14 text-center" for="password" ng-if="index.askPassword.isSetup">
|
||||
<span ng-show="!pass.isVerification" translate>Set up a Password</span>
|
||||
<span ng-show="pass.isVerification" translate>Repeat Password</span>
|
||||
<span ng-show="!pass.isVerification" translate>Set up a password</span>
|
||||
<span ng-show="pass.isVerification" translate>Repeat password</span>
|
||||
</label>
|
||||
<label class="size-14 text-center" for="password" ng-if="!index.askPassword.isSetup">
|
||||
<span translate>Enter your password</span>
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
<span class="photo-container"><i class="fi-torso size-42"></i></span>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<div ng-controller="pinController as pin" ng-init="pin.init(confirmPin, testPin)">
|
||||
<h3 class="text-center text-white">
|
||||
<span ng-show="pin.askForPin == 1">Setup a PIN</span>
|
||||
<span ng-show="pin.askForPin == 2">Repeat PIN</span>
|
||||
</h3>
|
||||
<div class="text-center size-12 text-warning" ng-show="pin.error || cp.error">
|
||||
{{(pin.error || cp.error)|translate}}
|
||||
</div>
|
||||
<div class="pin" ng-show="!pin.error && !cp.error">
|
||||
<div class="pin-box">
|
||||
<i class="icon-circle" ng-show="!pin.defined[0]"></i>
|
||||
<i class="icon-circle-active" ng-show="pin.defined[0]"></i>
|
||||
</div>
|
||||
|
||||
<div class="pin-box">
|
||||
<i class="icon-circle" ng-show="!pin.defined[1]"></i>
|
||||
<i class="icon-circle-active" ng-show="pin.defined[1]"></i>
|
||||
</div>
|
||||
|
||||
<div class="pin-box">
|
||||
<i class="icon-circle" ng-show="!pin.defined[2]"></i>
|
||||
<i class="icon-circle-active" ng-show="pin.defined[2]"></i>
|
||||
</div>
|
||||
|
||||
<div class="pin-box">
|
||||
<i class="icon-circle" ng-show="!pin.defined[3]"></i>
|
||||
<i class="icon-circle-active" ng-show="pin.defined[3]"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pin-numbers">
|
||||
<div class="pin-button-bar">
|
||||
<a class="pin-button" ng-click="pin.press(1)">1</a>
|
||||
<a class="pin-button" ng-click="pin.press(2)">2</a>
|
||||
<a class="pin-button" ng-click="pin.press(3)">3</a>
|
||||
</div>
|
||||
<div class="pin-button-bar">
|
||||
<a class="pin-button" ng-click="pin.press(4)">4</a>
|
||||
<a class="pin-button" ng-click="pin.press(5)">5</a>
|
||||
<a class="pin-button" ng-click="pin.press(6)">6</a>
|
||||
</div>
|
||||
<div class="pin-button-bar">
|
||||
<a class="pin-button" ng-click="pin.press(7)">7</a>
|
||||
<a class="pin-button" ng-click="pin.press(8)">8</a>
|
||||
<a class="pin-button" ng-click="pin.press(9)">9</a>
|
||||
</div>
|
||||
<div class="pin-button-bar">
|
||||
<a class="pin-button" ng-click="pin.skip()">
|
||||
<i class="text-primary size-16 vm" translate>Skip</i>
|
||||
</a>
|
||||
<a class="pin-button" ng-click="pin.press(0)">0</a>
|
||||
<a class="pin-button" ng-click="pin.clear()"><i class="fi-arrow-left"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="avatar-wallet"
|
||||
ng-style="{'background-color':item.color}">{{(item.name || item.id) | limitTo: 1}}</div>
|
||||
<div class="ellipsis name-wallet">{{item.name || item.id}}</div>
|
||||
<div class="size-12">{{item.m}} of {{item.n}}</div>
|
||||
<div class="size-12">{{item.m}} <span translate>of</span> {{item.n}}</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</a>
|
||||
<a ng-show="goBackToState"
|
||||
ng-click="$root.go(goBackToState); goBackToState = null"><i class="icon-arrow-left3 icon-back"></i>
|
||||
<span class="text-back" translate>Back</span>
|
||||
<span class="text-back">{{'Back'|translate}}</span>
|
||||
</a>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
ng-class="{'text-gray':!tx.pendingForUs}"
|
||||
ng-click="openTxModal(tx, index.copayers)">
|
||||
<div class="m5b size-12 text-gray">
|
||||
<time>{{ (tx.ts || tx.createdTs ) | amTimeAgo}}</time>
|
||||
<time>{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
|
||||
</div>
|
||||
<div class="row collapse">
|
||||
<div class="ellipsis small-8 columns size-14">
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
<small translate>If not given, a secure key will be generated</small>
|
||||
<input id="ext-master"
|
||||
type="text"
|
||||
placeholder="{{'BIP32 master extended private key'|translate}}"
|
||||
placeholder="BIP32 master extended private key"
|
||||
name="privateKey" ng-model="privateKey">
|
||||
</label>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,82 +0,0 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="close()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile">
|
||||
<h1 ng-show="!showForm" translate>Address Book</h1>
|
||||
<h1 ng-show="showForm" translate>Add a new entry</h1>
|
||||
<p translate class="text-gray m15b" ng-show="!showForm && !hasEntry()" translate>
|
||||
Empty. Create an alias for your addresses
|
||||
</p>
|
||||
<div class="box-notification" ng-show="success">
|
||||
<span class="size-14 text-success">
|
||||
{{success|translate}}
|
||||
</span>
|
||||
</div>
|
||||
<table class="addressbook line-t" ng-show="!showForm && hasEntry()">
|
||||
<thead class="show-for-large-up">
|
||||
<tr>
|
||||
<th translate>Entry</th>
|
||||
<th class="show-for-large-up" ng-class="{'hide-for-small-only' : $root.wallet.isShared()}" ng-show="$root.wallet.isShared()" translate>Creator</th>
|
||||
<th class="show-for-large-up" translate>Date</th>
|
||||
<th class="show-for-large-up" translate>Visible</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
ng-repeat="(addr, info) in addressBook"
|
||||
ng-class="{'addressbook-disabled': info.hidden}">
|
||||
<td ng-click="copyToSend(addr)">
|
||||
<b>{{info.label}}</b><br>
|
||||
<small class="address-size">{{::addr}}</small>
|
||||
</td>
|
||||
<td class="show-for-large-up" ng-click="copyToSend(addr)" ng-show="$root.wallet.isShared()">{{$root.wallet.publicKeyRing.nicknameForCopayer(info.copayerId)}}</td>
|
||||
<td ng-click="copyToSend(addr)" class="show-for-large-up"><time>{{::info.createdTs | amCalendar}}</time></td>
|
||||
<td class="show-for-large-up text-center">
|
||||
<a ng-click="toggleAddressBookEntry(addr)" title="{{ info.hidden ? 'Enable' : 'Disable'}} address">
|
||||
<i class="fi-checkbox size-21"
|
||||
ng-class="{'text-success':!info.hidden, 'text-gray':info.hidden}"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<form ng-show="showForm" class="m0" name="addressBookForm"
|
||||
ng-disabled="loading"
|
||||
ng-submit="submitAddressBook(addressBookForm)" novalidate>
|
||||
<div class="box-notification" ng-show="error">
|
||||
<span class="size-14 text-warning">
|
||||
{{error|translate}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="row collapse">
|
||||
<label for="newaddress" class="left"><span translate>Address</span>
|
||||
<small translate ng-hide="!addressBookForm.newaddress.$pristine || newaddress">Required</small>
|
||||
</label>
|
||||
<span class="has-error right size-12" ng-show="addressBookForm.newaddress.$invalid && newaddress">
|
||||
<span class="icon-input"><i class="fi-x"></i></span>
|
||||
<span translate>Not valid</span>
|
||||
</span>
|
||||
<small class="icon-input right" ng-show="!addressBookForm.newaddress.$invalid && newaddress"><i class="fi-check"></i></small>
|
||||
</div>
|
||||
<div class="input">
|
||||
<input type="text" name="newaddress"
|
||||
placeholder="{{'Address'|translate}}" ng-model="newaddress" valid-address required>
|
||||
</div>
|
||||
|
||||
<label for="newlabel"><span translate>Label</span>
|
||||
<small translate ng-hide="!addressBookForm.newlabel.$pristine || newlabel">Required</small>
|
||||
<div class="input">
|
||||
<input type="text" name="newlabel"
|
||||
placeholder="{{'Label'|translate}}" ng-model="newlabel" required>
|
||||
</div>
|
||||
</label>
|
||||
<a translate class="button secondary default" ng-show="!loading" ng-click="cancel(addressBookForm)">Cancel</a>
|
||||
<button class="primary right"
|
||||
ng-disabled="addressBookForm.$invalid || loading"
|
||||
ng-click="submitAddressBook(addressBookForm)">{{'Add'|translate}}</button>
|
||||
</form>
|
||||
<a ng-show="!showForm" class="button primary expand" ng-disabled="loading" ng-click="toggleForm()">
|
||||
<i class="fi-plus"></i> <span translate>Add entry</span>
|
||||
</a>
|
||||
<a class="close-reveal-modal show-for-large-up" ng-click="close()"><i class="fi-x size-18"></i></a>
|
||||
</div>
|
||||
|
|
@ -24,24 +24,24 @@
|
|||
<div class="line-b m10v"></div>
|
||||
|
||||
<div class="ellipsis m10v">
|
||||
<i translate>To:</i> {{paypro.domain}}
|
||||
<i translate>To</i>: {{paypro.domain}}
|
||||
</div>
|
||||
|
||||
<div class="m10v">
|
||||
<i translate>Certified by:</i>
|
||||
<i translate>Certified by</i>:
|
||||
<span ng-show="paypro.verified"><i class="fi-lock color-greeni"></i> {{paypro.verifyData.caName}}</span>
|
||||
<span ng-show="!paypro.verified"><i class="fi-unlock color-yellowi"></i> <span translate>Untrusted</span></span>
|
||||
</div>
|
||||
|
||||
<div ng-if="md.pr.pd.memo" class="m10v lh140">
|
||||
<i translate>Merchant Message:</i>
|
||||
<i translate>Merchant message</i>:
|
||||
<span class="text-gray">
|
||||
{{paypro.memo}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div ng-if="md.expirationDate" class="m10v">
|
||||
<i translate>Expires:</i> {{paypro.expires | amTimeAgo }}
|
||||
<i translate>Expires</i>: {{paypro.expires | amTimeAgo }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
<nav class="tab-bar">
|
||||
<section class="right-small">
|
||||
<a ng-click="cancel()">
|
||||
<span class="text-close" translate>Close</span>
|
||||
</a>
|
||||
</section>
|
||||
<section class="middle tab-bar-section">
|
||||
<h1 class="title ellipsis" translate>
|
||||
Address
|
||||
</h1>
|
||||
</section>
|
||||
</nav>
|
||||
|
||||
<div class="p60t text-center" ng-init="addr = address.address">
|
||||
<qrcode size="220" data="{{addr}}"></qrcode>
|
||||
|
||||
<div class="size-12" ng-class="{'enable_text_select': !isCordova}">
|
||||
{{addr}}
|
||||
</div>
|
||||
<div class="m5t size-10 text-secondary" ng-show="address.isChange" translate>change</div>
|
||||
<div class="text-center m10t" ng-if="isCordova">
|
||||
<button class="secondary" ng-click="copyAddress(addr)">
|
||||
<i class="fi-clipboard-pencil"></i> <span translate>Copy to clipboard</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
</a>
|
||||
</section>
|
||||
<section class="middle tab-bar-section">
|
||||
<h1 class="title ellipsis" translate>
|
||||
<h1 class="title ellipsis">
|
||||
QR-Scanner
|
||||
</h1>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<h4 class="title m0" translate>Information</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li ng-if="btx.addressTo" class="line-b p10 oh">
|
||||
<span class="text-gray" translate>To:</span>
|
||||
<span class="text-gray" translate>To</span>:
|
||||
<span class="right">
|
||||
<span ng-if="btx.merchant">
|
||||
<span ng-show="btx.merchant.pr.ca"><i class="fi-lock color-greeni"></i> {{btx.merchant.domain}}</span>
|
||||
|
|
@ -36,25 +36,25 @@
|
|||
</span>
|
||||
</li>
|
||||
<li ng-if="btx.time" class="line-b p10">
|
||||
<span class="text-gray" translate>Date:</span>
|
||||
<span class="text-gray" translate>Date</span>:
|
||||
<span class="right">
|
||||
<time>{{ btx.time * 1000 | amCalendar}}</time>
|
||||
</span>
|
||||
</li>
|
||||
<li ng-if="btx.message" class="line-b p10 oh">
|
||||
<span class="text-gray" translate>Note:</span>
|
||||
<span class="text-gray" translate>Note</span>:
|
||||
<span class="right">
|
||||
{{btx.message}}
|
||||
</span>
|
||||
</li>
|
||||
<li ng-if="btx.merchant" class="line-b p10 oh">
|
||||
<span class="text-gray" translate>Merchant Message:</span>
|
||||
<span class="text-gray" translate>Merchant message</span>:
|
||||
<span class="right">
|
||||
{{btx.merchant.pr.pd.memo}}
|
||||
</span>
|
||||
</li>
|
||||
<li ng-if="btx.time" class="line-b p10">
|
||||
<span class="text-gray" translate>Confirmations:</span>
|
||||
<span class="text-gray" translate>Confirmations</span>:
|
||||
<span class="right" >
|
||||
<span class="text-warning" ng-show="!btx.confirmations || btx.confirmations == 0" translate>
|
||||
Unconfirmed
|
||||
|
|
|
|||
|
|
@ -11,38 +11,38 @@
|
|||
</section>
|
||||
</nav>
|
||||
<div class="p45t" ng-init="updateCopayerList()">
|
||||
<h4 class="title m0" translate> Information </h4>
|
||||
<h4 class="title m0" translate>Information</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10">
|
||||
<span class="text-gray">To:</span>
|
||||
<span class="text-gray" translate>To</span>:
|
||||
<span class="right">{{tx.toAddress}}</span>
|
||||
</li>
|
||||
<li class="line-b p10">
|
||||
<span class="text-gray">Amount:</span>
|
||||
<span class="text-gray" translate>Amount</span>:
|
||||
<span class="right">{{amountStr}}
|
||||
<span class="label gray radius">{{alternativeAmountStr}}</span>
|
||||
</span>
|
||||
</li>
|
||||
<li class="line-b p10">
|
||||
<span class="text-gray">Time:</span>
|
||||
<span class="text-gray" translate>Time</span>:
|
||||
<span class="right">
|
||||
<time>{{ (tx.ts || tx.createdOn ) * 1000 | amTimeAgo}}</time>
|
||||
</span>
|
||||
</li>
|
||||
<li class="line-b p10 oh">
|
||||
<span class="text-gray">Create by:</span>
|
||||
<span class="text-gray" translate>Created by</span>:
|
||||
<span class="right">{{tx.creatorName}}</span>
|
||||
</li>
|
||||
<li class="line-b p10 oh">
|
||||
<span class="text-gray">Note:</span>
|
||||
<span class="text-gray" translate>Note</span>:
|
||||
<span class="right">{{tx.message}}</span>
|
||||
</li>
|
||||
</ul>
|
||||
<div ng-if="tx.paypro">
|
||||
<h4 class="title m0">PAYMENT DETAILS</h4>
|
||||
<h4 class="title m0" translate>Payment details</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10">
|
||||
<span class="text-gray">To:</span>
|
||||
<span class="text-gray" translate>To</span>:
|
||||
<span class="right">
|
||||
<span>
|
||||
<span ng-show="tx.merchant.pr.ca"><i class="fi-lock"></i> {{tx.paypro.domain}}</span>
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
</span>
|
||||
</li>
|
||||
<li class="line-b p10">
|
||||
<span class="text-gray">Expires:</span>
|
||||
<span class="text-gray" translate>Expires</span>:
|
||||
<span class="right">
|
||||
<time>{{tx.paypro.expirationDate | amTimeAgo }}</time>
|
||||
</span>
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
</div>
|
||||
|
||||
<div ng-if="tx.actions[0] && !txRejected && !txBroadcasted">
|
||||
<h4 class="title m0">Signatures:</h4>
|
||||
<h4 class="title m0" translate>Signatures</h4>
|
||||
<ul class="no-bullet size-14 m0">
|
||||
<li class="line-b p10 text-gray" ng-repeat="ac in tx.actions">
|
||||
<i class="icon-contact size-24"></i>
|
||||
|
|
@ -85,21 +85,9 @@
|
|||
</div>
|
||||
|
||||
|
||||
<div class="row column m20t text-center text-warning" ng-if="tx.removed">
|
||||
<div class="row column m20t text-center text-warning" ng-if="tx.removed" translate>
|
||||
The transaction was removed by creator
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row column m20t" ng-if="tx.couldRemove">
|
||||
<button class="button expand outline dark-gray m0 expand" ng-click="remove(tx);"
|
||||
ng-disabled="loading" ng-show="tx.couldRemove">
|
||||
<i class="fi-x icon-sign x"></i>
|
||||
<span translate>Remove</span>
|
||||
</button>
|
||||
<div class="text-gray size-12 text-center" show="tx.couldRemove" translate>
|
||||
* Only transactions created by yourself with no peer signatures can be removed
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row m20t" ng-if="tx.pendingForUs">
|
||||
<div class="large-5 medium-5 small-6 columns">
|
||||
|
|
@ -142,5 +130,17 @@
|
|||
Transaction finally rejected
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row column m20t" ng-if="tx.couldRemove">
|
||||
<button class="tiny expand outline dark-gray" ng-click="remove(tx)"
|
||||
ng-disabled="loading" ng-show="tx.couldRemove">
|
||||
<i class="fi-x icon-sign x"></i>
|
||||
<span translate>Remove transaction</span>
|
||||
</button>
|
||||
<div class="text-gray size-12 text-center" show="tx.couldRemove" translate>
|
||||
* Only transactions created by yourself with no peer signatures can be removed
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="extra-margin-bottom"></div>
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
<nav class="tab-bar text-right hide-for-large-up">
|
||||
<span ng-click="cancel()" class="p10 text-white" translate>Close</span>
|
||||
</nav>
|
||||
<div class="modal-mobile" ng-init="setWallets()">
|
||||
|
||||
<h1 class="line-b" translate>Select a wallet to make the payment</h1>
|
||||
|
||||
<div class="m20v" ng-show="!wallets[0]" translate>Loading...</div>
|
||||
<ul class="wallet-selection wallets" ng-show="wallets[0]">
|
||||
<li ng-repeat="item in wallets track by $index" class="nav-item" ng-show="+item.balanceInfo.totalBalanceBTC > 0" ng-click="ok(item)">
|
||||
<div class="col1">
|
||||
<div class="avatar-wallet">{{item.getName() | limitTo: 1}}</div>
|
||||
</div>
|
||||
<div class="col2">
|
||||
<a class="size-12 wallet-item">
|
||||
<div class="oh">
|
||||
<div class="right size-10 type-wallet">
|
||||
[ {{item.requiredCopayers}} of {{item.totalCopayers}} ]</div>
|
||||
<div class="ellipsis name-wallet">{{item.getName()}}</div>
|
||||
</div>
|
||||
<div class="oh">
|
||||
<b class="m5r size-12">{{item.balanceInfo.totalBalance || 0}} {{item.settings.unitName}}</b>
|
||||
<span class="alt-currency size-10">{{item.balanceInfo.totalBalanceAlternative}} {{item.balanceInfo.alternativeIsoCode}}</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<a class="close-reveal-modal show-for-large-up" ng-click="cancel()"><i class="fi-x size-18"></i></a>
|
||||
</div>
|
||||
|
|
@ -26,12 +26,21 @@
|
|||
</li>
|
||||
|
||||
<h4 class="title m0" translate>Global settings</h4>
|
||||
|
||||
<li class="line-b p20" ng-click="$root.go('preferencesLanguage')">
|
||||
<span translate>Language</span>
|
||||
<span class="right text-gray">
|
||||
<i class="icon-arrow-right3 size-24 right"></i>
|
||||
{{index.defaultLanguageName}}
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li class="line-b p20" ng-click="$root.go('preferencesUnit')">
|
||||
<span translate>Unit</span>
|
||||
<span class="right text-gray">
|
||||
<i class="icon-arrow-right3 size-24 right"></i>
|
||||
{{preferences.unitName}}
|
||||
</span>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li class="line-b p20" ng-click="$root.go('preferencesAltCurrency')">
|
||||
|
|
@ -43,7 +52,7 @@
|
|||
</li>
|
||||
|
||||
<li class="line-b p20" ng-click="$root.go('preferencesBwsUrl')">
|
||||
<span translate>Bitcore Wallet Service</span>
|
||||
<span>Bitcore Wallet Service</span>
|
||||
<span class="text-gray db">
|
||||
<i class="icon-arrow-right3 size-24 right"></i>
|
||||
{{preferences.bwsurl}}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<div class="preferences m20t columns" ng-controller="preferencesBwsUrlController as prefBwsUrl">
|
||||
<form name="settingsBwsUrlForm" ng-submit="prefBwsUrl.save()" class="m20t">
|
||||
<label translate>Bitcore Wallet Service URL</label>
|
||||
<label>Bitcore Wallet Service URL</label>
|
||||
<input type="text" id="bwsurl" type="text" name="bwsurl" ng-model="prefBwsUrl.bwsurl">
|
||||
<input type="submit" class="button expand black radius" value="{{'Save'|translate}}"
|
||||
ng-style="{'background-color':index.backgroundColor}">
|
||||
|
|
|
|||
10
public/views/preferencesLanguage.html
Normal file
10
public/views/preferencesLanguage.html
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<div class="preferences" ng-controller="preferencesLanguageController as prefLang">
|
||||
<div class="animated infinite flash text-center m20t text-gray" ng-show="prefLang.loading" translate>Applying changes</div>
|
||||
<div ng-show="!prefLang.loading"
|
||||
ng-repeat="lang in index.availableLanguages"
|
||||
ng-click="prefLang.save(lang.isoCode)" class="line-b p20 size-14">
|
||||
<span>{{lang.name}}</span>
|
||||
<i class="fi-check size-16 right" ng-show="index.defaultLanguageIsoCode == lang.isoCode"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="extra-margin-bottom"></div>
|
||||
|
|
@ -1,77 +1,69 @@
|
|||
<div class="receive" ng-controller="receiveController as receive" ng-init="receive.getAddress()">
|
||||
|
||||
<div ng-show="index.needsBackup && !receive.skipBackup" class="p60t row text-center">
|
||||
<div class="text-warning text-bold m15b">
|
||||
<i class="fi-alert"></i>
|
||||
<span translate>
|
||||
WARNING: Backup needed
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-gray m15h" translate>
|
||||
Before receiving funds, it is highly recommended you backup your wallet keys.
|
||||
</div>
|
||||
|
||||
<div class="small-6 columns m20t">
|
||||
<span class="button expand outline dark-gray tiny"
|
||||
ng-click="receive.skipBackup = true">
|
||||
<span translate>SKIP BACKUP</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="small-6 columns m20t">
|
||||
<span class="button black expand radius tiny"
|
||||
ng-click="$root.go('backup')" ng-style="{'background-color':index.backgroundColor}" >
|
||||
<span translate>Backup now</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="index.needsBackup && !receive.skipBackup" class="p60t row text-center">
|
||||
<div class="text-warning text-bold m15b">
|
||||
<i class="fi-alert"></i>
|
||||
<span translate>
|
||||
WARNING: Backup needed
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-gray m15h" translate>
|
||||
Before receiving funds, it is highly recommended you backup your wallet keys.
|
||||
</div>
|
||||
|
||||
<div ng-show="!index.needsBackup || receive.skipBackup">
|
||||
<div class="row m20t" ng-show="receive.generatingAddress">
|
||||
<div class="large-12 columns">
|
||||
<div class="oh text-center">
|
||||
<span class="text-gray" translate>Generating a new address...</span>
|
||||
</div>
|
||||
<div class="small-6 columns m20t">
|
||||
<span class="button expand outline dark-gray tiny"
|
||||
ng-click="receive.skipBackup = true">
|
||||
<span translate>SKIP BACKUP</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="small-6 columns m20t">
|
||||
<span class="button black expand radius tiny"
|
||||
ng-click="$root.go('backup')" ng-style="{'background-color':index.backgroundColor}" >
|
||||
<span translate>Backup now</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-show="!receive.generatingAddress">
|
||||
<div class="box-notification" ng-show="receive.error ">
|
||||
<span class="text-warning size-14">
|
||||
{{receive.error|translate}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row" ng-show="receive.addr">
|
||||
|
||||
<div ng-show="!index.needsBackup || receive.skipBackup">
|
||||
|
||||
<div class="box-notification" ng-show="receive.error ">
|
||||
<span class="text-warning size-14">
|
||||
{{receive.error|translate}}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row" ng-if="receive.addr">
|
||||
<!-- Address-->
|
||||
<div class="large-12 columns">
|
||||
<h2 class="text-center m10t" translate>My Bitcoin address:</h2>
|
||||
<div class="text-center" ng-click="receive.copyAddress(receive.addr)">
|
||||
<qrcode size="220" data="bitcoin:{{receive.addr}}"></qrcode>
|
||||
<div class="m10t">
|
||||
<h4 ng-class="{'enable_text_select': !index.isCordova}" class="size-12">{{receive.addr}}</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m10t text-center" ng-show="index.isCordova">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="receive.shareAddress(receive.addr)">
|
||||
<i class="fi-share"></i>
|
||||
<span translate>Share address</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="line-t size-12" translate>
|
||||
Share this with anyone to have them send you payments. To protect your privacy, new addresses are generated automatically once you use them.
|
||||
<h2 class="text-center m10t" translate>My Bitcoin address</h2>
|
||||
<div class="text-center animated fadeIn" ng-click="receive.copyAddress(receive.addr)">
|
||||
<qrcode size="220" data="bitcoin:{{receive.addr}}"></qrcode>
|
||||
<div class="m10t">
|
||||
<h4 ng-class="{'enable_text_select': !index.isCordova}" class="size-12">{{receive.addr}}</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="m10t text-center" ng-show="index.isCordova">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="receive.shareAddress(receive.addr)">
|
||||
<i class="fi-share"></i>
|
||||
<span translate>Share address</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="line-t size-12" translate>
|
||||
Share this with anyone to have them send you payments. To protect your privacy, new addresses are generated automatically once you use them.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row m20t" ng-show="receive.addr">
|
||||
<div class="large-12 columns">
|
||||
<a class="button black expand radius" ng-click="receive.newAddress()"
|
||||
ng-style="{'background-color':index.backgroundColor}" translate>
|
||||
Generate new address
|
||||
</a>
|
||||
</div>
|
||||
<div class="row m20t" ng-if="receive.addr">
|
||||
<div class="large-12 columns">
|
||||
<button class="button black expand radius" ng-click="receive.newAddress()"
|
||||
ng-style="{'background-color':index.backgroundColor}" ng-disabled="receive.generatingAddress" translate>
|
||||
Generate new address
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,17 @@
|
|||
<div class="home-wallet" ng-controller="walletHomeController as home" ng-init="home.init()">
|
||||
<div class="row" ng-show="!index.noFocusedWallet">
|
||||
<div class="home-wallet" ng-controller="walletHomeController as home">
|
||||
<div class="oh" ng-show="!index.noFocusedWallet">
|
||||
<div class="amount" ng-style="{'background-color':index.backgroundColor}">
|
||||
|
||||
<div ng-if="!index.anyOnGoingProcess && !index.notAuthorized">
|
||||
<div ng-show="index.updateError" ng-click='index.openWallet()'>
|
||||
<span translate>Could not update Wallet</span>
|
||||
<br><span translate>Tap to retry</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-show="index.walletScanStatus == 'error'" ng-click='index.retryScan()'>
|
||||
<span translate>Scan status finished with error</span>
|
||||
<br><span translate>Tap to retry</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-show="!index.updateError && index.walletScanStatus != 'error'">
|
||||
<div class="size-36 animated fadeIn">
|
||||
<strong>{{index.totalBalanceStr}}</strong>
|
||||
|
|
@ -32,34 +31,29 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pr columns line-b">
|
||||
<div class="avatar-wallet left"
|
||||
ng-class="{'updating':index.anyOnGoingProcess}"
|
||||
ng-style="{'background-color':index.backgroundColor}"
|
||||
>
|
||||
<div class="">{{index.walletName | limitTo: 1}}</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<a ng-click="$root.go('preferences')" class="button outline light-gray tiny m0">
|
||||
<i class="fi-widget size-18 vm"></i>
|
||||
<span class="show-for-medium-up" translate>Preferences</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="wallet-info" ng-click="openCopayersModal(index.copayers, index.copayerId)">
|
||||
<p class="m0">
|
||||
{{index.m}} <span translate>of</span> {{index.n}}
|
||||
</p>
|
||||
<div class="size-12 text-gray">
|
||||
<span ng-if="index.n > 1" translate>Multisignature wallet </span>
|
||||
<span ng-if="index.n == 1" translate>Personal Wallet</span>
|
||||
<span ng-if="index.network != 'livenet'"> - Testnet</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pr columns line-b">
|
||||
<div class="avatar-wallet left"
|
||||
ng-class="{'updating':index.anyOnGoingProcess}"
|
||||
ng-style="{'background-color':index.backgroundColor}">{{index.walletName | limitTo: 1}}</div>
|
||||
<div class="right">
|
||||
<a ng-click="$root.go('preferences')" class="button outline light-gray tiny m0">
|
||||
<i class="fi-widget size-18 vm"></i>
|
||||
<span class="show-for-medium-up" translate>Preferences</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="wallet-info" ng-click="openCopayersModal(index.copayers, index.copayerId)">
|
||||
<p class="m0">
|
||||
{{index.m}} <span translate>of</span> {{index.n}}
|
||||
</p>
|
||||
<div class="size-12 text-gray">
|
||||
<span ng-if="index.n > 1" translate>Multisignature wallet </span>
|
||||
<span ng-if="index.n == 1" translate>Personal Wallet</span>
|
||||
<span ng-if="index.network != 'livenet'"> - Testnet</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="onGoingProcess"
|
||||
ng-show="index.anyOnGoingProcess"
|
||||
ng-style="{'background-color':index.backgroundColor}"
|
||||
|
|
@ -73,31 +67,28 @@
|
|||
<span translate ng-show="index.onGoingProcessName == 'recreating'">Recreating Wallet on BWS...</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div ng-show="index.notAuthorized">
|
||||
<div class="text-center text-warning">
|
||||
<div class="m20t" ng-show="index.notAuthorized">
|
||||
<div class="text-center text-warning">
|
||||
<i class="fi-alert"></i>
|
||||
<span translate>
|
||||
WARNING: Wallet not registered
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-gray m15r m15l" translate>
|
||||
This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information.
|
||||
</div>
|
||||
<div class="text-center m10t ">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="index.recreate()"
|
||||
<span translate>Recreate</span>
|
||||
</span>
|
||||
</div>
|
||||
<span translate>
|
||||
WARNING: Wallet not registered
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-center text-gray m15r m15l" translate>
|
||||
This wallet is not registered at the given Bitcore Wallet Service (BWS). You can recreate it from the local information.
|
||||
</div>
|
||||
<div class="text-center m10t ">
|
||||
<span class="button outline dark-gray tiny"
|
||||
ng-click="index.recreate()">
|
||||
<span translate>Recreate</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-show="index.requiresMultipleSignatures && index.txps[0]">
|
||||
<h4 class="title m0" translate>Spend proposals</h4>
|
||||
<div class="last-transactions pr" ng-repeat="tx in index.txps | orderBy:'-createdTs'"
|
||||
<div class="last-transactions pr" ng-repeat="tx in index.txps"
|
||||
ng-include="'views/includes/transaction.html'">
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -652,13 +652,13 @@ a.pin-button:active {
|
|||
.animation-left.ng-enter {
|
||||
-webkit-transform: translate3d(100%, 0, 0);
|
||||
transform: translate3d(100%, 0, 0);
|
||||
-webkit-transition-delay: 0.1s;
|
||||
-webkit-transition-delay: 0.05s;
|
||||
opacity: 0;
|
||||
}
|
||||
.animation-right.ng-enter {
|
||||
-webkit-transform: translate3d(-100%, 0, 0);
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
-webkit-transition-delay: 0.1s;
|
||||
-webkit-transition-delay: 0.05s;
|
||||
opacity: 0;
|
||||
}
|
||||
.animation-left.ng-enter.ng-enter-active,
|
||||
|
|
@ -672,15 +672,18 @@ a.pin-button:active {
|
|||
.animation-right.ng-leave {
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
transform: translate3d(0, 0, 0);
|
||||
opacity: 0;
|
||||
}
|
||||
.animation-left.ng-leave.animation-left.ng-leave-active {
|
||||
-webkit-transform: translate3d(-100%, 0, 0);
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
-webkit-transition-delay: 0.05s;
|
||||
opacity: 0;
|
||||
}
|
||||
.animation-right.ng-leave.animation-right.ng-leave-active {
|
||||
-webkit-transform: translate3d(100%, 0, 0);
|
||||
transform: translate3d(100%, 0, 0);
|
||||
-webkit-transition-delay: 0.05s;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,24 +6,21 @@ angular.module('copayApp.controllers').controller('createProfileController', fun
|
|||
if (profileService.profile)
|
||||
go.walletHome();
|
||||
|
||||
var pin='';
|
||||
// $rootScope.$on('pin', function(event, pin) {
|
||||
self.creatingProfile = true;
|
||||
self.creatingProfile = true;
|
||||
|
||||
$timeout(function() {
|
||||
profileService.create(pin, function(err) {
|
||||
if (err) {
|
||||
self.creatingProfile = false;
|
||||
$log.warn(err);
|
||||
self.error = err;
|
||||
$scope.$apply();
|
||||
$timeout(function() {
|
||||
go.reload();
|
||||
}, 3000);
|
||||
} else {
|
||||
go.walletHome();
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
// });
|
||||
$timeout(function() {
|
||||
profileService.create(function(err) {
|
||||
if (err) {
|
||||
self.creatingProfile = false;
|
||||
$log.warn(err);
|
||||
self.error = err;
|
||||
$scope.$apply();
|
||||
$timeout(function() {
|
||||
go.reload();
|
||||
}, 3000);
|
||||
} else {
|
||||
go.walletHome();
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,17 +1,47 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService) {
|
||||
angular.module('copayApp.controllers').controller('indexController', function($rootScope, $scope, $log, $filter, $timeout, lodash, go, profileService, configService, isCordova, rateService, storageService, gettextCatalog, amMoment) {
|
||||
var self = this;
|
||||
self.isCordova = isCordova;
|
||||
self.onGoingProcess = {};
|
||||
self.limitHistory = 5;
|
||||
|
||||
self.hideMenuBar = false;
|
||||
self.limitHistory = 5;
|
||||
|
||||
function strip(number) {
|
||||
return (parseFloat(number.toPrecision(12)));
|
||||
};
|
||||
|
||||
self.menu = [{
|
||||
'title': 'Home',
|
||||
'icon': 'icon-home',
|
||||
'link': 'walletHome'
|
||||
}, {
|
||||
'title': 'Receive',
|
||||
'icon': 'icon-receive',
|
||||
'link': 'receive'
|
||||
}, {
|
||||
'title': 'Send',
|
||||
'icon': 'icon-paperplane',
|
||||
'link': 'send'
|
||||
}, {
|
||||
'title': 'History',
|
||||
'icon': 'icon-history',
|
||||
'link': 'history'
|
||||
}];
|
||||
|
||||
self.availableLanguages = [{
|
||||
name: 'English',
|
||||
isoCode: 'en',
|
||||
}, {
|
||||
name: 'Spanish',
|
||||
isoCode: 'es',
|
||||
}, {
|
||||
name: 'Français',
|
||||
isoCode: 'fr',
|
||||
}, {
|
||||
name: '日本人',
|
||||
isoCode: 'ja',
|
||||
}];
|
||||
|
||||
self.setOngoingProcess = function(processName, isOn) {
|
||||
$log.debug('onGoingProcess', processName, isOn);
|
||||
self[processName] = isOn;
|
||||
|
|
@ -193,6 +223,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
self.openWallet = function() {
|
||||
var fc = profileService.focusedClient;
|
||||
self.updateColor();
|
||||
$rootScope.$apply();
|
||||
$timeout(function() {
|
||||
self.setOngoingProcess('openingWallet', true);
|
||||
self.updateError = false;
|
||||
|
|
@ -402,6 +433,43 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
});
|
||||
};
|
||||
|
||||
self.setDefaultLanguage = function(setLang) {
|
||||
var userLang
|
||||
if (!setLang) {
|
||||
userLang = configService.getSync().wallet.settings.defaultLanguage;
|
||||
if (!userLang) {
|
||||
// Auto-detect browser language
|
||||
var androidLang;
|
||||
|
||||
if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) {
|
||||
userLang = androidLang[1];
|
||||
} else {
|
||||
// works for iOS and Android 4.x
|
||||
userLang = navigator.userLanguage || navigator.language;
|
||||
}
|
||||
userLang = userLang ? (userLang.split('-', 1)[0] || 'en') : 'en';
|
||||
}
|
||||
if (userLang != gettextCatalog.getCurrentLanguage()) {
|
||||
$log.debug('Setting default language: ' + userLang);
|
||||
gettextCatalog.setCurrentLanguage(userLang);
|
||||
amMoment.changeLocale(userLang);
|
||||
}
|
||||
}
|
||||
else {
|
||||
configService.set({
|
||||
wallet: {
|
||||
settings: {
|
||||
defaultLanguage: setLang
|
||||
}
|
||||
}
|
||||
}, function() {
|
||||
gettextCatalog.setCurrentLanguage(setLang);
|
||||
amMoment.changeLocale(setLang);
|
||||
});
|
||||
}
|
||||
self.defaultLanguageIsoCode = setLang || userLang;
|
||||
self.defaultLanguageName = lodash.result(lodash.find(self.availableLanguages, { 'isoCode': self.defaultLanguageIsoCode }), 'name');
|
||||
};
|
||||
|
||||
// UX event handlers
|
||||
$rootScope.$on('Local/ColorUpdated', function(event) {
|
||||
|
|
@ -469,6 +537,10 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
});
|
||||
});
|
||||
|
||||
$rootScope.$on('Local/DefaultLanguage', function(event, setLang) {
|
||||
self.setDefaultLanguage(setLang);
|
||||
});
|
||||
|
||||
$rootScope.$on('Animation/Disable', function(event) {
|
||||
$timeout(function() {
|
||||
self.swipeLeft = false;
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('menuController', function($state) {
|
||||
|
||||
this.menu = [{
|
||||
'title': 'Home',
|
||||
'icon': 'icon-home',
|
||||
'link': 'walletHome'
|
||||
}, {
|
||||
'title': 'Receive',
|
||||
'icon': 'icon-receive',
|
||||
'link': 'receive'
|
||||
}, {
|
||||
'title': 'Send',
|
||||
'icon': 'icon-paperplane',
|
||||
'link': 'send'
|
||||
}, {
|
||||
'title': 'History',
|
||||
'icon': 'icon-history',
|
||||
'link': 'history'
|
||||
}];
|
||||
|
||||
this.go = function(state) {
|
||||
$state.go(state);
|
||||
};
|
||||
|
||||
});
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('pinController', function($scope, $timeout) {
|
||||
this.init = function(confirmPin, testPin) {
|
||||
this._firstpin = null;
|
||||
this.askForPin = 1;
|
||||
this.confirmPin = confirmPin;
|
||||
this.clear();
|
||||
if (testPin) {
|
||||
console.log('WARN: using test pin:', testPin);
|
||||
$timeout(function() {
|
||||
$scope.$emit('pin', testPin);
|
||||
}, 100);
|
||||
}
|
||||
};
|
||||
|
||||
this.clear = function() {
|
||||
this.digits = [];
|
||||
this.defined = [];
|
||||
};
|
||||
|
||||
this.press = function(digit) {
|
||||
var self = this;
|
||||
$timeout(function() {
|
||||
self._press(digit);
|
||||
}, 1);
|
||||
};
|
||||
|
||||
this._press = function(digit) {
|
||||
var self = this;
|
||||
this.error = null;
|
||||
this.digits.push(digit);
|
||||
this.defined.push(true);
|
||||
|
||||
if (this.digits.length == 4) {
|
||||
var pin = this.digits.join('');
|
||||
|
||||
if (this.confirmPin) {
|
||||
if (!this._firstpin) {
|
||||
this._firstpin = pin;
|
||||
this.askForPin = 2;
|
||||
$timeout(function() {
|
||||
self.clear();
|
||||
}, 100);
|
||||
return;
|
||||
} else {
|
||||
if (pin === this._firstpin) {
|
||||
$scope.$emit('pin', pin);
|
||||
return;
|
||||
} else {
|
||||
this._firstpin = null;
|
||||
this.askForPin = 1;
|
||||
$timeout(function() {
|
||||
self.clear();
|
||||
self.error = 'Entered PINs were not equal. Try again';
|
||||
var _self = self;
|
||||
$timeout(function() {
|
||||
_self.error = null;
|
||||
}, 2000);
|
||||
}, 100);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$scope.$emit('pin', pin);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.skip = function() {
|
||||
$scope.$emit('pin', null);
|
||||
};
|
||||
});
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesController',
|
||||
function($scope, $rootScope, $filter, $timeout, $modal, $log, configService, profileService) {
|
||||
function($scope, $rootScope, $filter, $timeout, $modal, $log, lodash, configService, profileService) {
|
||||
this.error = null;
|
||||
this.success = null;
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ angular.module('copayApp.controllers').controller('preferencesController',
|
|||
this.selectedAlternative = {
|
||||
name: config.wallet.settings.alternativeName,
|
||||
isoCode: config.wallet.settings.alternativeIsoCode
|
||||
};
|
||||
};
|
||||
var fc = profileService.focusedClient;
|
||||
$scope.encrypt = fc.hasPrivKeyEncrypted();
|
||||
|
||||
|
|
|
|||
12
src/js/controllers/preferencesLanguage.js
Normal file
12
src/js/controllers/preferencesLanguage.js
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('preferencesLanguageController',
|
||||
function($scope, $timeout, go) {
|
||||
|
||||
this.save = function(newLang) {
|
||||
$scope.$emit('Local/DefaultLanguage', newLang);
|
||||
$timeout(function() {
|
||||
go.preferences();
|
||||
}, 100);
|
||||
};
|
||||
});
|
||||
|
|
@ -59,31 +59,5 @@ angular.module('copayApp.controllers').controller('receiveController',
|
|||
}
|
||||
};
|
||||
|
||||
this.openAddressModal = function(address) {
|
||||
var self = this;
|
||||
var ModalInstanceCtrl = function($scope, $modalInstance, address) {
|
||||
$scope.address = address;
|
||||
$scope.isCordova = self.isCordova;
|
||||
$scope.copyAddress = function(addr) {
|
||||
self.copyAddress(addr);
|
||||
};
|
||||
|
||||
$scope.cancel = function() {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
|
||||
$modal.open({
|
||||
templateUrl: 'views/modals/qr-address.html',
|
||||
windowClass: 'full',
|
||||
controller: ModalInstanceCtrl,
|
||||
resolve: {
|
||||
address: function() {
|
||||
return address;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,9 @@ angular.module('copayApp.controllers').controller('sendController',
|
|||
|
||||
|
||||
this.formFocus = function(what) {
|
||||
hideMenuBar(what);
|
||||
if (isCordova) {
|
||||
hideMenuBar(what);
|
||||
}
|
||||
if (!this.isWindowsPhoneApp) return
|
||||
|
||||
if (!what) {
|
||||
|
|
@ -428,90 +430,4 @@ angular.module('copayApp.controllers').controller('sendController',
|
|||
return value;
|
||||
}
|
||||
};
|
||||
|
||||
this.openAddressBook = function() {
|
||||
var w = $rootScope.wallet;
|
||||
var modalInstance = $modal.open({
|
||||
templateUrl: 'views/modals/address-book.html',
|
||||
windowClass: 'full',
|
||||
controller: function($scope, $modalInstance) {
|
||||
|
||||
$scope.showForm = null;
|
||||
$scope.addressBook = w.addressBook;
|
||||
|
||||
$scope.hasEntry = function() {
|
||||
return _.keys($scope.addressBook).length > 0 ? true : false;
|
||||
};
|
||||
|
||||
$scope.toggleAddressBookEntry = function(key) {
|
||||
w.toggleAddressBookEntry(key);
|
||||
};
|
||||
|
||||
$scope.copyToSend = function(addr) {
|
||||
$modalInstance.close(addr);
|
||||
};
|
||||
|
||||
$scope.cancel = function(form) {
|
||||
$scope.error = $scope.success = $scope.newaddress = $scope.newlabel = null;
|
||||
clearForm(form);
|
||||
$scope.toggleForm();
|
||||
};
|
||||
|
||||
$scope.toggleForm = function() {
|
||||
$scope.showForm = !$scope.showForm;
|
||||
};
|
||||
|
||||
var clearForm = function(form) {
|
||||
form.newaddress.$pristine = true;
|
||||
form.newaddress.$setViewValue('');
|
||||
form.newaddress.$render();
|
||||
|
||||
form.newlabel.$pristine = true;
|
||||
form.newlabel.$setViewValue('');
|
||||
form.newlabel.$render();
|
||||
form.$setPristine();
|
||||
};
|
||||
|
||||
// TODO change to modal
|
||||
$scope.submitAddressBook = function(form) {
|
||||
if (form.$invalid) {
|
||||
return;
|
||||
}
|
||||
$scope.blockUx = true;
|
||||
$timeout(function() {
|
||||
var errorMsg;
|
||||
var entry = {
|
||||
"address": form.newaddress.$modelValue,
|
||||
"label": form.newlabel.$modelValue
|
||||
};
|
||||
try {
|
||||
w.setAddressBook(entry.address, entry.label);
|
||||
} catch (e) {
|
||||
$log.warn(e);
|
||||
errorMsg = e.message;
|
||||
}
|
||||
|
||||
if (errorMsg) {
|
||||
$scope.error = errorMsg;
|
||||
} else {
|
||||
clearForm(form);
|
||||
$scope.toggleForm();
|
||||
notification.success('Entry created', 'New addressbook entry created')
|
||||
}
|
||||
$scope.blockUx = false;
|
||||
$rootScope.$digest();
|
||||
}, 100);
|
||||
return;
|
||||
};
|
||||
|
||||
$scope.close = function() {
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
modalInstance.result.then(function(addr) {
|
||||
$scope.setForm(addr);
|
||||
});
|
||||
};
|
||||
});
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
|||
};
|
||||
|
||||
$scope.cancel = function() {
|
||||
$modalInstance.close();
|
||||
$modalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -254,6 +254,23 @@ angular
|
|||
}
|
||||
}
|
||||
})
|
||||
.state('preferencesLanguage', {
|
||||
url: '/preferencesLanguage',
|
||||
walletShouldBeComplete: true,
|
||||
needProfile: true,
|
||||
views: {
|
||||
'main': {
|
||||
templateUrl: 'views/preferencesLanguage.html'
|
||||
},
|
||||
'topbar': {
|
||||
templateUrl: 'views/includes/topbar.html',
|
||||
controller: function($scope) {
|
||||
$scope.titleSection = 'Language';
|
||||
$scope.goBackToState = 'preferences';
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
.state('preferencesUnit', {
|
||||
url: '/preferencesUnit',
|
||||
templateUrl: 'views/preferencesUnit.html',
|
||||
|
|
@ -418,19 +435,18 @@ angular
|
|||
.run(function($rootScope, $state, $log, gettextCatalog, uriHandler, isCordova, amMoment, profileService) {
|
||||
|
||||
// Auto-detect browser language
|
||||
// Commented for now (default: English)
|
||||
//var userLang, androidLang;
|
||||
//
|
||||
//if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) {
|
||||
// userLang = androidLang[1];
|
||||
//} else {
|
||||
// // works for iOS and Android 4.x
|
||||
// userLang = navigator.userLanguage || navigator.language;
|
||||
//}
|
||||
var userLang, androidLang;
|
||||
|
||||
//userLang = userLang ? (userLang.split('-', 1)[0] || 'en') : 'en';
|
||||
//gettextCatalog.setCurrentLanguage(userLang);
|
||||
//amMoment.changeLocale(userLang);
|
||||
if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) {
|
||||
userLang = androidLang[1];
|
||||
} else {
|
||||
// works for iOS and Android 4.x
|
||||
userLang = navigator.userLanguage || navigator.language;
|
||||
}
|
||||
|
||||
userLang = userLang ? (userLang.split('-', 1)[0] || 'en') : 'en';
|
||||
gettextCatalog.setCurrentLanguage(userLang);
|
||||
amMoment.changeLocale(userLang);
|
||||
|
||||
// Register URI handler, not for mobileApp
|
||||
if (!isCordova) {
|
||||
|
|
@ -446,6 +462,7 @@ angular
|
|||
preferencesColor: 12,
|
||||
backup: 12,
|
||||
delete: 12,
|
||||
preferencesLanguage: 12,
|
||||
preferencesUnit: 12,
|
||||
preferencesAltCurrency: 12,
|
||||
preferencesBwsUrl: 12,
|
||||
|
|
|
|||
|
|
@ -58,8 +58,6 @@ angular.module('copayApp.services').factory('configService', function(localStora
|
|||
var configCache = null;
|
||||
|
||||
|
||||
|
||||
|
||||
root.getSync = function() {
|
||||
if (!configCache)
|
||||
throw new Error('configService#getSync called when cache is not initialized');
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ angular.module('copayApp.services')
|
|||
|
||||
configService.get(function(err) {
|
||||
if (err) return cb(err);
|
||||
$rootScope.$emit('Local/DefaultLanguage');
|
||||
root.setWalletClients();
|
||||
storageService.getFocusedWalletId(function(err, focusedWalletId) {
|
||||
if (err) return cb(err);
|
||||
|
|
@ -136,7 +137,7 @@ angular.module('copayApp.services')
|
|||
});
|
||||
};
|
||||
|
||||
root._createNewProfile = function(pin, cb) {
|
||||
root._createNewProfile = function(cb) {
|
||||
var walletClient = bwcService.getClient();
|
||||
|
||||
walletClient.createWallet('Personal Wallet', 'me', 1, 1, {
|
||||
|
|
@ -260,8 +261,8 @@ angular.module('copayApp.services')
|
|||
|
||||
|
||||
|
||||
root.create = function(pin, cb) {
|
||||
root._createNewProfile(pin, function(err, p) {
|
||||
root.create = function(cb) {
|
||||
root._createNewProfile(function(err, p) {
|
||||
if (err) return cb(err);
|
||||
root.bindProfile(p, function(err) {
|
||||
storageService.storeNewProfile(p, function(err) {
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
describe('menuController', function(){
|
||||
var state, scope, controller;
|
||||
|
||||
beforeEach(angular.mock.module('copayApp.controllers'));
|
||||
beforeEach(angular.mock.module('stateMock'));
|
||||
beforeEach(angular.mock.inject(function($rootScope, $controller, $state){
|
||||
state = $state;
|
||||
scope = $rootScope.$new();
|
||||
controller = $controller('menuController', {$scope: scope});
|
||||
}));
|
||||
|
||||
it('should have a menu variable', function(){
|
||||
expect(controller.menu).not.toBeUndefined();
|
||||
});
|
||||
});
|
||||
11
test/controllers/sidebar.test.js
Normal file
11
test/controllers/sidebar.test.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
describe('sidebarController', function(){
|
||||
var scope, controller;
|
||||
|
||||
beforeEach(angular.mock.module('copayApp.controllers'));
|
||||
|
||||
it('wallet selection', function(){
|
||||
expect(true).not.toBeUndefined();
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue