From a981ccbcaee012bed6ad7fd993b05ed9cfe8edf5 Mon Sep 17 00:00:00 2001 From: MiaoWoo Date: Sat, 20 Jul 2019 22:19:06 +0800 Subject: [PATCH] sync: sync upstream code Signed-off-by: MiaoWoo --- src/HTML/CSS/mobile-wallet.css | 25 +++++++++++++---- src/HTML/JS/client.js | 21 +++++++++++++-- src/HTML/JS/mobile-wallet.js | 49 +++++++++++++++++++++++----------- src/HTML/dapp-frame.html | 5 ++-- src/HTML/web-wallet.html | 7 ++--- src/core/db/block-db.ts | 19 +++++++++---- src/core/html-server.ts | 42 +++++++++++++++++++++++------ 7 files changed, 126 insertions(+), 42 deletions(-) diff --git a/src/HTML/CSS/mobile-wallet.css b/src/HTML/CSS/mobile-wallet.css index 4e1f7e5..c1ec8dc 100644 --- a/src/HTML/CSS/mobile-wallet.css +++ b/src/HTML/CSS/mobile-wallet.css @@ -20,6 +20,7 @@ body { main { max-width: 1200px; margin: 0 auto; + padding-top: 100px; } *, @@ -207,9 +208,14 @@ textarea { } .header { + position: fixed; + z-index: 100; + width: 100%; background: linear-gradient(270deg, #3D4C61 0%, #445368 100%); color: #fff; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15); + + /*position: fixed; top: 0;*/ } .header__wrapper { display: flex; @@ -1738,6 +1744,9 @@ td.hash { @media (min-width: 768px) { + .main { + padding-top: 60px; + } .main-logo { width: 125px; height: 30px; @@ -1845,12 +1854,11 @@ td.hash { position: absolute; font-size: 14px; line-height: 16px; - bottom: -38px; - right: 7px; + right: 165px; width: 60px; border-radius: 3px; background: transparent; - color: var(--blue-grey); + color: rgba(255, 255, 255, 0.6); } .white-select { display: block; @@ -2107,6 +2115,13 @@ td.hash { } +@media (min-width: 768px) and (max-width: 800px) { + .header__nav { + margin-right: 35px; + } +} + + @media (max-width: 960px) { /* .prod-card--line:hover { @@ -2211,7 +2226,7 @@ td.hash { margin-left: 0; } .header__right select { - right: 37px; + right: 207px; } .send-page__send-btn-wrp { max-width: 100%; @@ -2438,7 +2453,7 @@ td.hash { margin-right: 18px; } .header__right select { - right: 10px; + right: 190px; } .accounts-info__add .key-field { min-width: 920px; diff --git a/src/HTML/JS/client.js b/src/HTML/JS/client.js index e9848d3..d5bdd69 100644 --- a/src/HTML/JS/client.js +++ b/src/HTML/JS/client.js @@ -1035,7 +1035,7 @@ function RetHistoryAccount(Item,Name) if(Num < 1) return "" + Num; var Str; - if(IsLocalClient()) + if(UseInnerPage()) Str = "" + Num + ""; else Str = "" + Num + ""; @@ -1052,7 +1052,7 @@ function RetBaseAccount(Item) function ViewTransaction(BlockNum) { - if(IsLocalClient()) + if(UseInnerPage()) OpenBlockViewerPage(BlockNum); else window.Open('./blockviewer.html#' + BlockNum, 'viewer', 800, 800); @@ -1966,3 +1966,20 @@ function Right(Str,count) else return Str.substr(0, Str.length); }; + +function UseInnerPage() +{ + if(isMobile() && !IsLocalClient()) + return 1; + else + return 0; +}; + +function isMobile() +{ + if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) + { + return true; + } + return false; +}; diff --git a/src/HTML/JS/mobile-wallet.js b/src/HTML/JS/mobile-wallet.js index c79c3b9..cb41015 100644 --- a/src/HTML/JS/mobile-wallet.js +++ b/src/HTML/JS/mobile-wallet.js @@ -71,6 +71,11 @@ window.onload = function () { window.attachEvent("onmessage", OnMessage); } + if(UseInnerPage()) + { + AddFrame("HistoryPage", "./history.html"); + AddFrame("BlockViewerPage", "./blockviewer.html"); + } }; function OnLoad() @@ -110,11 +115,13 @@ function OnLoad() } }; -function ChangeNetwork() +function ChangeNetwork(bStart) { CONNECT_STATUS = 0; NETWORK = $("idCurNetwork").value; Storage.setItem("NETWORK", NETWORK); + if(bStart) + StartWebWallet(); ConnectWebWallet(); }; @@ -1047,7 +1054,7 @@ function MyToggleList(e) function OpenHistoryPage(Num) { - if(!IsLocalClient()) + if(!UseInnerPage()) { window.open("./history.html#" + Num); return ; @@ -1058,7 +1065,7 @@ function OpenHistoryPage(Num) function OpenBlockViewerPage(Num) { - if(!IsLocalClient()) + if(!UseInnerPage()) { window.open("./blockviewer.html#" + Num); return ; @@ -1067,6 +1074,17 @@ function OpenBlockViewerPage(Num) SendMessage("BlockViewerPage", {BlockNum:Num, FrameName:"idBlockViewerPage"}); }; +function AddFrame(name,filename) +{ + var iframe = document.createElement('iframe'); + iframe.name = name; + iframe.src = filename; + iframe.sandbox = "allow-scripts allow-same-origin allow-popups"; + iframe.id = "id" + name; + iframe.style = "display: none"; + document.getElementsByTagName('body')[0].appendChild(iframe); +}; + function SetVisibleFrame(name,bVisible) { SetVisibleBlock("idMainHeader", !bVisible); @@ -1175,7 +1193,7 @@ function ChangeLang() function GetNewLangItem() { - ToLog(JSON.stringify(LangMap["ENG"])); + console.log(JSON.stringify(LangMap["ENG"])); }; var LangMap = {}; LangMap["ENG"] = {}; @@ -1189,17 +1207,18 @@ LangMap["RUS"] = {"TERA WALLET":"TERA КОШЕЛЕК", "Generate key":"Сген "Current create:":"Текущий блок:", "Protocol ver:":"Версия протокола:", "ID: {Item.Num}":"ИД: {Item.Num}", "Token generate":"Генерация токенов", "ACCOUNTS":"СЧЕТА", "SEND":"ПОСЛАТЬ", "DAPPS":"ДАППС", "EXPLORER":"ПРОСМ", "ATTENTION: Before using the wallet, save the private key.":"ВНИМАНИЕ: Перед использованием кошелька сохраните приватный ключ", "Web-site":"Веб-сайт", "Bitcointalk":"Bitcointalk", "Twitter":"Твиттер", "Telegram":"Телеграм", "Discord":"Дискорд", "QQchat":"QQchat", - "Buy/sell/mine TERA":"Купить/Продать", "+ CREATE NEW":"+ СОЗДАТЬ НОВЫЙ", "Confirm Transaction":"Подтверждение транзакции", - "CREATE DAPPS":"СОЗДАТЬ", "Set pass":"Установить пароль", "Unlock":"Разблокировать", "Entrance to sub-wallet":"Войти в под-кошелек", - "Public name":"Публичное имя", "Currency":"Валюта", "Pay to:":"Получатель:", "Amount:":"Сумма:", "Description:":"Описание:", - "Welcome to TERA Wallet":"Добропожаловать в кошелек TERA", "Edit your wallet":"Редактирование вашего кошелька", "Key settings":"Задание ключей", - "KEY SETTINGS":"ЗАДАНИЕ КЛЮЧЕЙ", "Create an account":"Создание счета", "Sending coins":"Отправка монет", "Decentralized applications (dApps)":"Децентрализованные приложения (Даппс)", - "Secure your wallet":"Безопасность вашего кошелька", "Wallet is secured":"Установлен пароль", "Total":"Всего", "Item.Name":"Item.Name", - "You have no accounts yet":"У вас нет ни одного счета", "Wait 10-15 sec":"Ждите 10-15 сек", "Creating your account":"Идет создание вашего счета", - "From:":"Отправитель:", "Set a password for protect entry":"Установите пароль для безопасности", "Enter password to unlock wallet":"Введите пароль для разблокировки кошелька", - "From ID:":"Отправитель:", "Pay to ID:":"Получатель:", "Account":"Счет", "Owner":"Владелец", "Block num":"Ном блока", "Private key (secret)":"Приватный ключ (секретно)", - "Load key":"Загруз.", "Create your first account and start using TERA":"Создайте свой первый счет и начните использовать TERA", - "0 Accounts":"0 Счетов", "OWNER: {Item.Owner}":"Владелец: {Item.Owner}", "More info":"Информация", "Public key":"Публичный ключ"}; + "Buy/sell/mine TERA":"Купить/Продать", "+ CREATE NEW":"+ СОЗДАТЬ", "Confirm Transaction":"Подтверждение транзакции", "CREATE DAPPS":"СОЗДАТЬ", + "Set pass":"Установить пароль", "Unlock":"Разблокировать", "Entrance to sub-wallet":"Войти в под-кошелек", "Public name":"Публичное имя", + "Currency":"Валюта", "Pay to:":"Получатель:", "Amount:":"Сумма:", "Description:":"Описание:", "Welcome to TERA Wallet":"Добропожаловать в кошелек TERA", + "Edit your wallet":"Редактирование вашего кошелька", "Key settings":"Задание ключей", "KEY SETTINGS":"ЗАДАНИЕ КЛЮЧЕЙ", "Create an account":"Создание счета", + "Sending coins":"Отправка монет", "Decentralized applications (dApps)":"Децентрализованные приложения (Даппс)", "Secure your wallet":"Безопасность вашего кошелька", + "Wallet is secured":"Установлен пароль", "Total":"Всего", "Item.Name":"Item.Name", "You have no accounts yet":"У вас нет ни одного счета", + "Wait 10-15 sec":"Ждите 10-15 сек", "Creating your account":"Идет создание вашего счета", "From:":"Отправитель:", "Set a password for protect entry":"Установите пароль для безопасности", + "Enter password to unlock wallet":"Введите пароль для разблокировки кошелька", "From ID:":"Отправитель:", "Pay to ID:":"Получатель:", + "Account":"Счет", "Owner":"Владелец", "Block num":"Ном блока", "Private key (secret)":"Приватный ключ (секретно)", "Load key":"Загруз.", + "Create your first account and start using TERA":"Создайте свой первый счет и начните использовать TERA", "0 Accounts":"0 Счетов", + "OWNER: {Item.Owner}":"Владелец: {Item.Owner}", "More info":"Информация", "Public key":"Публичный ключ", "Enter number of dapp":"Введите номер Даппа", + "Enter the dapps number that will be added to your account. Attention make sure that you trust this dapp, otherwise you may lose all funds in this account.":"Введите номер Даппа, который будет добавлен в ваш аккаунт. Внимание убедитесь, что Вы доверяете ему, в противном случае вы можете потерять все средства на этом счете."}; LangMap["简体中文"] = {"TERA WALLET":"TERA 钱包", "Generate key":"生成私钥", "OK":"OK", "Cancel":"取消", "Edit":"编辑", "Save key":"保存私钥", "+ CREATE A NEW ACCOUNT":"+ 新建账号", "Create account":"创建账号", "Send":"发送", "SEND":"转账", "CONFIRM":"确认", "Accounts":"账号", "Account(s)":"账号", "Blocks and Tx":"区块和交易", "Counters":"状态统计", "Open DApp":"打开DApp", "Back":"返回", "Delete":"删除", "Save to book":"保存到地址本", "Choose":"选择", diff --git a/src/HTML/dapp-frame.html b/src/HTML/dapp-frame.html index 0b7a562..c6134ec 100644 --- a/src/HTML/dapp-frame.html +++ b/src/HTML/dapp-frame.html @@ -359,6 +359,9 @@ SendMessage({cmd:"History",OPEN_PATH:OPEN_PATH}); }, false); + + if(isMobile()) + SetMobileMode(); } function CreateFrame(SetData) @@ -409,8 +412,6 @@ newchild.name = "viewport" newchild.content = "width=device-width, initial-scale=1.0";//, maximum-scale=1.0, user-scalable=0; window.parent.document.getElementsByTagName("head")[0].appendChild(newchild); - - //ToLog("SetMobileMode 2"); } diff --git a/src/HTML/web-wallet.html b/src/HTML/web-wallet.html index 37c6ddc..fdd95cf 100644 --- a/src/HTML/web-wallet.html +++ b/src/HTML/web-wallet.html @@ -635,7 +635,7 @@