From ee3943202d4e6c3678c263bd99f332d57995e64d Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Tue, 30 Apr 2019 12:27:30 +0300 Subject: [PATCH 01/14] CLIENT-1810: set default checkbox value true --- src/modules/app/services/DefaultSettings.js | 1 + .../utils/modals/pinAsset/PinAssetCtrl.js | 7 ++++++- .../utils/modals/settings/SettingsCtrl.js | 17 +++++++++-------- src/modules/utils/modals/settings/settings.html | 4 ++-- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/modules/app/services/DefaultSettings.js b/src/modules/app/services/DefaultSettings.js index 09ae614c1e..1d0c05a437 100644 --- a/src/modules/app/services/DefaultSettings.js +++ b/src/modules/app/services/DefaultSettings.js @@ -31,6 +31,7 @@ lastOpenVersion: '', whatsNewList: [], closedNotification: [], + dontShowSpam: true, withScam: false, scamListUrl: WavesApp.network.scamListUrl, logoutAfterMin: 5, diff --git a/src/modules/utils/modals/pinAsset/PinAssetCtrl.js b/src/modules/utils/modals/pinAsset/PinAssetCtrl.js index 29a772469b..388d0b5aba 100644 --- a/src/modules/utils/modals/pinAsset/PinAssetCtrl.js +++ b/src/modules/utils/modals/pinAsset/PinAssetCtrl.js @@ -32,6 +32,10 @@ const R = require('ramda'); * @type {boolean} */ this.withScam = null; + /** + * @type {boolean} + */ + this.dontShowSpam = null; /** * @type {Array} */ @@ -52,7 +56,8 @@ const R = require('ramda'); this.syncSettings({ pinnedAssetIdList: 'pinnedAssetIdList', spam: 'wallet.portfolio.spam', - withScam: 'withScam' + withScam: 'withScam', + dontShowSpam: 'dontShowSpam' }); this.observe('search', this._fillList); diff --git a/src/modules/utils/modals/settings/SettingsCtrl.js b/src/modules/utils/modals/settings/SettingsCtrl.js index 97f0e6143f..a2a073fa8f 100644 --- a/src/modules/utils/modals/settings/SettingsCtrl.js +++ b/src/modules/utils/modals/settings/SettingsCtrl.js @@ -60,7 +60,7 @@ node = ''; matcher = ''; scamListUrl = ''; - withScam = false; + dontShowSpam = true; theme = user.getSetting('theme'); candle = user.getSetting('candle'); templatePromise = $templateRequest('modules/utils/modals/settings/loader.html'); @@ -98,10 +98,11 @@ matcher: 'network.matcher', logoutAfterMin: 'logoutAfterMin', scamListUrl: 'scamListUrl', - withScam: 'withScam', + dontShowSpam: 'dontShowSpam', theme: 'theme', candle: 'candle', oracleWaves: 'oracleWaves' + }); this.assetsOracleTmp = this.oracleWaves; @@ -156,12 +157,12 @@ // user.changeCandle(this.candle); // }); - this.observe('withScam', () => { - const withScam = this.withScam; - if (withScam) { - waves.node.assets.giveMyScamBack(); - } else { + this.observe('dontShowSpam', () => { + const dontShowSpam = this.dontShowSpam; + if (dontShowSpam) { waves.node.assets.stopScam(); + } else { + waves.node.assets.giveMyScamBack(); } }); @@ -213,7 +214,7 @@ setNetworkDefault() { this.node = WavesApp.network.node; this.matcher = WavesApp.network.matcher; - this.withScam = false; + this.dontShowSpam = true; this.scamListUrl = WavesApp.network.scamListUrl; this.oracleWaves = WavesApp.oracles.waves; } diff --git a/src/modules/utils/modals/settings/settings.html b/src/modules/utils/modals/settings/settings.html index 04496d5909..b20ae2693b 100644 --- a/src/modules/utils/modals/settings/settings.html +++ b/src/modules/utils/modals/settings/settings.html @@ -268,8 +268,8 @@
- - + +
From 2af0ca642c91db583ca7f7bc90f83f89f1427f2b Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 6 May 2019 11:22:06 +0300 Subject: [PATCH 02/14] CLIENT-1810: add dontShowSpam flag --- src/modules/app/services/User.js | 3 ++- .../utils/modals/settings/SettingsCtrl.js | 11 +++++----- .../portfolio/controllers/PortfolioCtrl.js | 20 +++++++++++++++---- .../portfolio/templates/portfolio.html | 2 +- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/modules/app/services/User.js b/src/modules/app/services/User.js index 4c4e34b6e5..36c64505d3 100644 --- a/src/modules/app/services/User.js +++ b/src/modules/app/services/User.js @@ -341,7 +341,8 @@ hasBackup, lng: i18next.language, theme: themes.getDefaultTheme(), - candle: 'blue' + candle: 'blue', + dontShowSpam: true } }).then(() => { if (restore) { diff --git a/src/modules/utils/modals/settings/SettingsCtrl.js b/src/modules/utils/modals/settings/SettingsCtrl.js index a2a073fa8f..dca48250ff 100644 --- a/src/modules/utils/modals/settings/SettingsCtrl.js +++ b/src/modules/utils/modals/settings/SettingsCtrl.js @@ -159,11 +159,12 @@ this.observe('dontShowSpam', () => { const dontShowSpam = this.dontShowSpam; - if (dontShowSpam) { - waves.node.assets.stopScam(); - } else { - waves.node.assets.giveMyScamBack(); - } + // if (dontShowSpam) { + // waves.node.assets.stopScam(); + // } else { + // waves.node.assets.giveMyScamBack(); + // } + user.setSetting('dontShowSpam', dontShowSpam); }); this.observe(['node', 'matcher'], () => { diff --git a/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js b/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js index 742e438457..a4345ed547 100644 --- a/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js +++ b/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js @@ -81,6 +81,10 @@ * @type {boolean} */ this.pending = true; + /** + * @type {boolean} + */ + this.dontShowSpam = user.getSetting('dontShowSpam'); waves.node.assets.getAsset(this.mirrorId) .then((mirror) => { @@ -132,7 +136,8 @@ this.syncSettings({ pinned: 'pinnedAssetIdList', spam: 'wallet.portfolio.spam', - filter: 'wallet.portfolio.filter' + filter: 'wallet.portfolio.filter', + dontShowSpam: 'dontShowSpam' }); balanceWatcher.ready @@ -144,7 +149,7 @@ this.receive(balanceWatcher.change, onChange); this.receive(utils.observe(user, 'scam'), onChange); - this.observe(['pinned', 'spam'], onChange); + this.observe(['pinned', 'spam', 'dontShowSpam'], onChange); this._updateBalances(); }); @@ -310,6 +315,7 @@ }) .reduce((acc, item) => { const oracleData = ds.dataManager.getOraclesAssetData(item.asset.id); + const spam = item.isOnScamList || item.isSpam; if (item.asset.sender === user.address) { acc.my.push(item); @@ -317,9 +323,15 @@ if (oracleData && oracleData.status > 0) { acc.verified.push(item); } - if (item.isOnScamList || item.isSpam) { - acc.spam.push(item); + + if (this.dontShowSpam) { + if (!spam) { + acc.active.push(item); + } } else { + if (spam) { + acc.spam.push(item); + } acc.active.push(item); } diff --git a/src/modules/wallet/modules/portfolio/templates/portfolio.html b/src/modules/wallet/modules/portfolio/templates/portfolio.html index 8fef20a9a5..bc96f59b34 100644 --- a/src/modules/wallet/modules/portfolio/templates/portfolio.html +++ b/src/modules/wallet/modules/portfolio/templates/portfolio.html @@ -39,7 +39,7 @@ w-i18n-ns="app.wallet.portfolio" params="{count: $ctrl.details.verified.length || 0}"> - + From 74baf167591eee45290cb7d58ac721f948cb55a0 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 6 May 2019 13:09:56 +0300 Subject: [PATCH 03/14] CLIENT-1810: delete spam from transaction list --- .../transactionList/TransactionList.js | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/modules/ui/directives/transactionList/TransactionList.js b/src/modules/ui/directives/transactionList/TransactionList.js index 293ee64c21..dda5ca7620 100644 --- a/src/modules/ui/directives/transactionList/TransactionList.js +++ b/src/modules/ui/directives/transactionList/TransactionList.js @@ -27,8 +27,16 @@ * @type {boolean} */ this.pending = false; + /** + * @type {boolean} + */ + this.dontShowSpam = user.getSetting('dontShowSpam'); + + this.syncSettings({ + dontShowSpam: 'dontShowSpam' + }); - this.observe('_transactions', this._onChangeTransactions); + this.observe(['_transactions', 'dontShowSpam'], this._onChangeTransactions); } $postLink() { @@ -39,7 +47,11 @@ * @private */ _onChangeTransactions() { - const transactions = (this._transactions || []); + let transactions = (this._transactions || []); + if (this.dontShowSpam) { + transactions = transactions.filter(this._filterSpam); + } + const hash = Object.create(null); const toDate = tsUtils.date('DD.MM.YYYY'); @@ -61,6 +73,16 @@ })); } + _filterSpam(transaction) { + const isScam = !!user.scam[transaction.assetId]; + let isScamAmount, isScamPrice; + if (transaction.type === 7) { + isScamAmount = !!user.scam[transaction.amount.asset]; + isScamPrice = !!user.scam[transaction.price.asset]; + } + return !(isScam || isScamAmount || isScamPrice); + } + } return new TransactionList(); From 3c4c88a51a39dc203059b576e4aaca9ba8d46ff6 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 6 May 2019 16:34:12 +0300 Subject: [PATCH 04/14] CLIENT-1810: disable spam view in portfolio --- .../ui/directives/actions/actions.less | 4 +++ .../portfolioRow/portfolio-row.less | 34 ++++++++++++------- .../modules/portfolio/less/portfolio.less | 10 ++++++ .../portfolio/templates/portfolio.html | 2 +- 4 files changed, 36 insertions(+), 14 deletions(-) diff --git a/src/modules/ui/directives/actions/actions.less b/src/modules/ui/directives/actions/actions.less index d4df55faa4..2e75d8105b 100644 --- a/src/modules/ui/directives/actions/actions.less +++ b/src/modules/ui/directives/actions/actions.less @@ -57,6 +57,10 @@ w-actions { height: 4px; border-radius: 100%; background-color: @color-basic-500; + + .spam & { + background-color: @color-basic-200; + } } } diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less index 087ae0f72d..88beabb732 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less @@ -4,23 +4,27 @@ w-portfolio-row { display: flex; width: 100%; - .asset { - &__logo { - position: relative; - left: 0; + .asset { + &__logo { + position: relative; + left: 0; - .marker { - display: none; - position: absolute; - bottom: calc(50% ~'- 16px'); + .marker { + display: none; + position: absolute; + bottom: calc(50% ~'- 16px'); - &.smart-asset, - &.sponsored-asset { - display: block; - } + &.smart-asset, + &.sponsored-asset { + display: block; } } + + .spam &, .spam & .marker { + background-color: @color-basic-200 !important; + } } + } .asset { &__logo { @@ -71,4 +75,8 @@ w-portfolio-row { } } } -} \ No newline at end of file + + .spam & { + color: @color-basic-500; + } +} diff --git a/src/modules/wallet/modules/portfolio/less/portfolio.less b/src/modules/wallet/modules/portfolio/less/portfolio.less index 6b4afad336..1d1285140f 100644 --- a/src/modules/wallet/modules/portfolio/less/portfolio.less +++ b/src/modules/wallet/modules/portfolio/less/portfolio.less @@ -122,6 +122,16 @@ i.toggler { display: none; } + + &.spam { + .smart-table__cell:last-child { + .cell { + span.icon svg { + fill: @color-basic-200; + } + } + } + } } .z-top { diff --git a/src/modules/wallet/modules/portfolio/templates/portfolio.html b/src/modules/wallet/modules/portfolio/templates/portfolio.html index bc96f59b34..910bb1fb01 100644 --- a/src/modules/wallet/modules/portfolio/templates/portfolio.html +++ b/src/modules/wallet/modules/portfolio/templates/portfolio.html @@ -55,7 +55,7 @@ header-info="$ctrl.tableHeaders"> - + From 328d4a8a548212c63af6d73462b69de1b768e965 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 6 May 2019 17:01:40 +0300 Subject: [PATCH 05/14] CLIENT-1810: save --- .../portfolio/controllers/PortfolioCtrl.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js b/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js index a4345ed547..4719ade88f 100644 --- a/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js +++ b/src/modules/wallet/modules/portfolio/controllers/PortfolioCtrl.js @@ -317,20 +317,21 @@ const oracleData = ds.dataManager.getOraclesAssetData(item.asset.id); const spam = item.isOnScamList || item.isSpam; - if (item.asset.sender === user.address) { - acc.my.push(item); - } if (oracleData && oracleData.status > 0) { acc.verified.push(item); } - if (this.dontShowSpam) { - if (!spam) { + if (spam) { + if (!this.dontShowSpam) { + if (item.asset.sender === user.address) { + acc.my.push(item); + } + acc.spam.push(item); acc.active.push(item); } } else { - if (spam) { - acc.spam.push(item); + if (item.asset.sender === user.address) { + acc.my.push(item); } acc.active.push(item); } From 541f8999d012a88fe05705e439d070f2b5e92a4c Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 6 May 2019 17:30:59 +0300 Subject: [PATCH 06/14] CLIENT-1810: fix help icon content --- src/modules/utils/modals/settings/settings.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/utils/modals/settings/settings.html b/src/modules/utils/modals/settings/settings.html index b20ae2693b..febaa71c10 100644 --- a/src/modules/utils/modals/settings/settings.html +++ b/src/modules/utils/modals/settings/settings.html @@ -262,6 +262,7 @@
+
From 7936e5201284e0c315d8828f79c4d0772ee6b0bf Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Tue, 7 May 2019 11:48:05 +0300 Subject: [PATCH 07/14] CLIENT-1810: add scamListUrl observe --- .../app/services/waves/node/content/Assets.js | 14 ++++++++------ src/modules/utils/modals/settings/SettingsCtrl.js | 12 +++++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/modules/app/services/waves/node/content/Assets.js b/src/modules/app/services/waves/node/content/Assets.js index 89bdf03606..0a2a47dab9 100644 --- a/src/modules/app/services/waves/node/content/Assets.js +++ b/src/modules/app/services/waves/node/content/Assets.js @@ -21,9 +21,10 @@ constructor() { super(); user.onLogin().then(() => { - - if (!user.getSetting('withScam')) { + if (user.getSetting('scamListUrl')) { this.stopScam(); + } else { + this.giveMyScamBack(); } }); } @@ -133,9 +134,9 @@ } stopScam() { - if (this._pollScam) { - return null; - } + // if (this._pollScam) { + // return null; + // } /** * @type {Poll} * @private @@ -158,7 +159,8 @@ } }); return hash; - }); + }) + .catch(() => Object.create(null)); } /** diff --git a/src/modules/utils/modals/settings/SettingsCtrl.js b/src/modules/utils/modals/settings/SettingsCtrl.js index dca48250ff..3a43d0cc8c 100644 --- a/src/modules/utils/modals/settings/SettingsCtrl.js +++ b/src/modules/utils/modals/settings/SettingsCtrl.js @@ -159,14 +159,16 @@ this.observe('dontShowSpam', () => { const dontShowSpam = this.dontShowSpam; - // if (dontShowSpam) { - // waves.node.assets.stopScam(); - // } else { - // waves.node.assets.giveMyScamBack(); - // } user.setSetting('dontShowSpam', dontShowSpam); }); + this.observe('scamListUrl', () => { + ds.config.setConfig({ + scamListUrl: this.scamListUrl + }); + waves.node.assets.stopScam(); + }); + this.observe(['node', 'matcher'], () => { ds.config.setConfig({ node: this.node, From e3e3bb4168cd34727d2ddb9962ffbca477ddf7f0 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Tue, 7 May 2019 18:16:52 +0300 Subject: [PATCH 08/14] CLIENT-1810: save --- src/modules/app/services/waves/node/content/Assets.js | 1 + .../portfolio/directives/portfolioRow/portfolio-row.less | 5 +++++ .../wallet/modules/portfolio/directives/portfolioRow/row.hbs | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/app/services/waves/node/content/Assets.js b/src/modules/app/services/waves/node/content/Assets.js index 0a2a47dab9..a70711a2f3 100644 --- a/src/modules/app/services/waves/node/content/Assets.js +++ b/src/modules/app/services/waves/node/content/Assets.js @@ -170,6 +170,7 @@ _setScamAssetList(hash) { if (!equals(hash, user.scam)) { user.scam = hash; + user.setSetting('scam', hash); } } diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less index 88beabb732..7bba869890 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less @@ -79,4 +79,9 @@ w-portfolio-row { .spam & { color: @color-basic-500; } + + //div:not(.spam) > & .cell span.suspicious-label { + // display: none; + //} + } diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs b/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs index ce14d5e700..e91c19044a 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs @@ -23,7 +23,7 @@ {{/if}} {{#if isSpam}} - + {{/if}} From 635e2541ef7a88f7b4b9973117fc56d892ef0a72 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Tue, 7 May 2019 18:37:35 +0300 Subject: [PATCH 09/14] CLIENT-1810: transaction observe user scam --- .../ui/directives/transaction/Transaction.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/modules/ui/directives/transaction/Transaction.js b/src/modules/ui/directives/transaction/Transaction.js index 5e0ea3f288..50c6a20d56 100644 --- a/src/modules/ui/directives/transaction/Transaction.js +++ b/src/modules/ui/directives/transaction/Transaction.js @@ -16,13 +16,25 @@ const { SIGN_TYPE } = require('@waves/signature-adapter'); class Transaction extends Base { - $postLink() { - this.typeName = this.transaction.typeName; + setScam() { this.isScam = !!user.scam[this.transaction.assetId]; if (this.transaction.type === 7) { this.isScamAmount = !!user.scam[this.transaction.amount.asset]; this.isScamPrice = !!user.scam[this.transaction.price.asset]; } + } + + $postLink() { + this.typeName = this.transaction.typeName; + this.setScam(); + + this.syncSettings({ + scam: 'scam' + }); + + this.observe('scam', () => { + this.setScam(); + }); } From 21b8425ab6229aee12ccd2c57686aa615aaf8d13 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Wed, 8 May 2019 11:55:07 +0300 Subject: [PATCH 10/14] CLIENT-1810: add updating scam in balance --- .../directives/portfolioRow/PortfolioRow.js | 39 ++++++++++++------- .../portfolioRow/portfolio-row.less | 4 -- .../portfolio/directives/portfolioRow/row.hbs | 4 +- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/PortfolioRow.js b/src/modules/wallet/modules/portfolio/directives/portfolioRow/PortfolioRow.js index d532c2267f..9aed8163be 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/PortfolioRow.js +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/PortfolioRow.js @@ -83,7 +83,8 @@ SPONSORSHIP_EDIT: 'js-action-button-sponsorship_edit', SPONSORSHIP_STOP: 'js-action-button-cancel-sponsorship', SET_ASSET_SCRIPT: 'js-action-button-set-asset-script' - } + }, + SUSPICIOUS_LABEL: 'js-suspicious-label' }; const ds = require('data-service'); @@ -249,8 +250,7 @@ canShowToggleSpam: this._canShowToggleSpam(), canSponsored: this._isMyAsset, canPayFee, - canStopSponsored, - isSpam: this.balance.isOnScamList + canStopSponsored }); this.node.innerHTML = html; @@ -260,7 +260,8 @@ set: (value) => { if (this.balance.asset.id !== value.asset.id || !this.balance.available.getTokens().eq(value.available.getTokens()) || - !this.balance.inOrders.getTokens().eq(value.inOrders.getTokens()) + !this.balance.inOrders.getTokens().eq(value.inOrders.getTokens()) || + this.balance.isOnScamList !== value.isOnScamList ) { balance = value; this._onUpdateBalance(); @@ -334,6 +335,21 @@ this._initSpamState(); const balance = this.balance; + + if (balance.isOnScamList) { + this.node.querySelector(`.${SELECTORS.CHANGE_24}`).innerHTML = '—'; + this.node.querySelector(`.${SELECTORS.BASE_ASSET_BALANCE}`).innerHTML = '—'; + this.node.querySelector(`.${SELECTORS.EXCHANGE_RATE}`).innerHTML = '—'; + this.node.querySelector(`.${SELECTORS.SUSPICIOUS_LABEL}`).classList.remove('hidden'); + + return null; + } else { + const suspiciousSelector = this.node.querySelector(`.${SELECTORS.SUSPICIOUS_LABEL}`); + if (suspiciousSelector) { + suspiciousSelector.classList.add('hidden'); + } + } + const baseAssetId = this.user.getSetting('baseAssetId'); if (baseAssetId === balance.asset.id) { @@ -347,14 +363,6 @@ return null; } - if (balance.isOnScamList) { - this.node.querySelector(`.${SELECTORS.CHANGE_24}`).innerHTML = '—'; - this.node.querySelector(`.${SELECTORS.BASE_ASSET_BALANCE}`).innerHTML = '—'; - this.node.querySelector(`.${SELECTORS.EXCHANGE_RATE}`).innerHTML = '—'; - - return null; - } - this.waves.utils.getChange(balance.asset.id, baseAssetId) .then(change24 => { const change24Node = this.node.querySelector(`.${SELECTORS.CHANGE_24}`); @@ -573,10 +581,11 @@ this.node.querySelector(`.${SELECTORS.BUTTONS.TOGGLE_SPAM}`), this.node.querySelector(`.${SELECTORS.ACTION_BUTTONS.TOGGLE_SPAM}`) ]; - elements.forEach(toggleSpam => { - toggleSpam.classList.toggle('icon-hide', !isSpam); - toggleSpam.classList.toggle('icon-show', isSpam); + if (toggleSpam) { + toggleSpam.classList.toggle('icon-hide', !isSpam); + toggleSpam.classList.toggle('icon-show', isSpam); + } }); } diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less index 7bba869890..a96b6988f5 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/portfolio-row.less @@ -80,8 +80,4 @@ w-portfolio-row { color: @color-basic-500; } - //div:not(.spam) > & .cell span.suspicious-label { - // display: none; - //} - } diff --git a/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs b/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs index e91c19044a..d196585b47 100644 --- a/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs +++ b/src/modules/wallet/modules/portfolio/directives/portfolioRow/row.hbs @@ -22,9 +22,7 @@ {{#if isTokenomica}} {{/if}} - {{#if isSpam}} - - {{/if}} + From 916da9751193da7cefe4d6969d1c660b8fc212c1 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 13 May 2019 12:31:18 +0300 Subject: [PATCH 11/14] CLIENT-1810: add TODO --- src/modules/ui/directives/transaction/TransactionInfoRow.js | 1 + .../ui/directives/transaction/types/transfer/Transfer.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/modules/ui/directives/transaction/TransactionInfoRow.js b/src/modules/ui/directives/transaction/TransactionInfoRow.js index b379f460b7..be9f5d2988 100644 --- a/src/modules/ui/directives/transaction/TransactionInfoRow.js +++ b/src/modules/ui/directives/transaction/TransactionInfoRow.js @@ -18,6 +18,7 @@ isScam: this.isScam }; + // TODO: delete setTimeout setTimeout(() => { this.props.isScam = this.isScam; }, 0); diff --git a/src/modules/ui/directives/transaction/types/transfer/Transfer.js b/src/modules/ui/directives/transaction/types/transfer/Transfer.js index 505630fcc0..978ada43ee 100644 --- a/src/modules/ui/directives/transaction/types/transfer/Transfer.js +++ b/src/modules/ui/directives/transaction/types/transfer/Transfer.js @@ -22,6 +22,8 @@ this.typeName = this.props.typeName; this.time = this.props.time; this.address = this.props.shownAddress; + + // TODO: delete setTimeout setTimeout(() => { this.isScam = this.props.isScam; }, 0); From f1f784df48afe14eb437d564830442521defadc2 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Mon, 13 May 2019 16:38:17 +0300 Subject: [PATCH 12/14] CLIENT-1810: refactoring setScam --- src/modules/app/services/User.js | 16 ++++++++++ .../app/services/waves/node/content/Assets.js | 6 +--- .../ui/directives/transaction/Transaction.js | 29 +++++++++---------- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/modules/app/services/User.js b/src/modules/app/services/User.js index 36c64505d3..360ff75aa3 100644 --- a/src/modules/app/services/User.js +++ b/src/modules/app/services/User.js @@ -2,6 +2,8 @@ (function () { 'use strict'; + const { equals } = require('ramda'); + /* global Mousetrap */ @@ -11,6 +13,7 @@ 'extraFee', 'networkError', 'changeScript', + 'setScamSignal', 'scam' ]; @@ -104,6 +107,10 @@ * @type {Signal} */ changeScript = new tsUtils.Signal(); + /** + * @type {Signal} + */ + setScamSignal = new tsUtils.Signal(); /** * @type {Record} */ @@ -174,7 +181,16 @@ setTimeout(() => { this._scriptInfoPoll = new Poll(() => this.updateScriptAccountData(), () => null, 10000); }, 30000); + }); + + } + + setScam(hash) { + if (!equals(hash, this.scam)) { + this.scam = hash; + this.setScamSignal.dispatch(); + } } /** diff --git a/src/modules/app/services/waves/node/content/Assets.js b/src/modules/app/services/waves/node/content/Assets.js index a70711a2f3..91f3a121b9 100644 --- a/src/modules/app/services/waves/node/content/Assets.js +++ b/src/modules/app/services/waves/node/content/Assets.js @@ -3,7 +3,6 @@ 'use strict'; const entities = require('@waves/data-entities'); - const { equals } = require('ramda'); /** * @param {BaseNodeComponent} BaseNodeComponent @@ -168,10 +167,7 @@ * @private */ _setScamAssetList(hash) { - if (!equals(hash, user.scam)) { - user.scam = hash; - user.setSetting('scam', hash); - } + user.setScam(hash); } /** diff --git a/src/modules/ui/directives/transaction/Transaction.js b/src/modules/ui/directives/transaction/Transaction.js index de3f26b76a..140d12f2ee 100644 --- a/src/modules/ui/directives/transaction/Transaction.js +++ b/src/modules/ui/directives/transaction/Transaction.js @@ -8,14 +8,25 @@ * @param {INotification} notification * @param {Waves} waves * @param {User} user + * @param {$rootScope.Scope} $scope * @return {Transaction} */ const controller = function (Base, $filter, modalManager, notification, - waves, user) { + waves, user, $scope) { const { SIGN_TYPE } = require('@waves/signature-adapter'); class Transaction extends Base { + $postLink() { + this.typeName = this.transaction.typeName; + this.setScam(); + + this.receive(user.setScamSignal, () => { + this.setScam(); + $scope.$apply(); + }); + } + setScam() { this.isScam = !!user.scam[this.transaction.assetId]; if (this.transaction.type === 7) { @@ -25,19 +36,6 @@ } } - $postLink() { - this.typeName = this.transaction.typeName; - this.setScam(); - - this.syncSettings({ - scam: 'scam' - }); - - this.observe('scam', () => { - this.setScam(); - }); - } - cancelLeasing() { const lease = this.transaction; const leaseId = lease.id; @@ -128,7 +126,8 @@ 'modalManager', 'notification', 'waves', - 'user' + 'user', + '$scope' ]; angular.module('app.ui') From 784e1e3281eaf83bee0db5801403aa94767b6048 Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Wed, 22 May 2019 16:48:16 +0300 Subject: [PATCH 13/14] CLIENT-1810: fix csv export with scam --- .../modules/transactions/controllers/TransactionsCtrl.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/modules/wallet/modules/transactions/controllers/TransactionsCtrl.js b/src/modules/wallet/modules/transactions/controllers/TransactionsCtrl.js index f37efdf629..81b90f8a6f 100644 --- a/src/modules/wallet/modules/transactions/controllers/TransactionsCtrl.js +++ b/src/modules/wallet/modules/transactions/controllers/TransactionsCtrl.js @@ -82,7 +82,10 @@ } - allTransactions = allTransactions.concat(transactions.filter(el => !user.scam[el.assetId])); + if (user.getSetting('dontShowSpam')) { + transactions = transactions.filter(el => !user.scam[el.assetId]); + } + allTransactions = allTransactions.concat(transactions); if (transactions.length < MAX_LIMIT || allTransactions.length > maxTransactions) { return { allTransactions, downloadError }; From cb56c30cd7f4b27fae351be13572552a7adb015e Mon Sep 17 00:00:00 2001 From: okanishcheva Date: Wed, 22 May 2019 17:28:22 +0300 Subject: [PATCH 14/14] CLIENT-1810: delete s --- .../ui/directives/transaction/types/transfer/Transfer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ui/directives/transaction/types/transfer/Transfer.js b/src/modules/ui/directives/transaction/types/transfer/Transfer.js index 80af9c9f6a..ae626e1532 100644 --- a/src/modules/ui/directives/transaction/types/transfer/Transfer.js +++ b/src/modules/ui/directives/transaction/types/transfer/Transfer.js @@ -24,7 +24,7 @@ this.typeName = this.props.typeName; this.time = this.props.time; this.address = this.props.shownAddress; -s + this.receive(utils.observe(this.props, 'isScam'), () => { this.isScam = this.props.isScam; utils.safeApply($scope);