diff --git a/app/scripts/background.js b/app/scripts/background.js index 97e3269ba..28285fd70 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -30,21 +30,37 @@ function unlockAccountMessage () { } function showUnconfirmedMessage (msgParams, msgId) { + var controllerState = controller.getState() + createMsgNotification({ - title: 'New Unsigned Message', - msgParams: msgParams, - confirm: idStore.approveMessage.bind(idStore, msgId, noop), - cancel: idStore.cancelMessage.bind(idStore, msgId), + imageifyIdenticons: false, + txData: { + msgParams: msgParams, + time: (new Date()).getTime(), + }, + identities: controllerState.identities, + accounts: controllerState.accounts, + onConfirm: idStore.approveMessage.bind(idStore, msgId, noop), + onCancel: idStore.cancelMessage.bind(idStore, msgId), }) + } function showUnconfirmedTx (txParams, txData, onTxDoneCb) { + var controllerState = controller.getState() + createTxNotification({ - title: 'New Unsigned Transaction', - txParams: txParams, - confirm: idStore.approveTransaction.bind(idStore, txData.id, noop), - cancel: idStore.cancelTransaction.bind(idStore, txData.id), + imageifyIdenticons: false, + txData: { + txParams: txParams, + time: (new Date()).getTime(), + }, + identities: controllerState.identities, + accounts: controllerState.accounts, + onConfirm: idStore.approveTransaction.bind(idStore, txData.id, noop), + onCancel: idStore.cancelTransaction.bind(idStore, txData.id), }) + } // diff --git a/app/scripts/lib/notifications.js b/app/scripts/lib/notifications.js index a7c21855d..35ee5b6d7 100644 --- a/app/scripts/lib/notifications.js +++ b/app/scripts/lib/notifications.js @@ -53,62 +53,30 @@ function createUnlockRequestNotification (opts) { }) } -function createTxNotification (opts) { +function createTxNotification (state) { // guard for chrome bug https://github.com/MetaMask/metamask-plugin/issues/236 if (!chrome.notifications) return console.error('Chrome notifications API missing...') - var state = { - title: 'New Unsigned Transaction', - imageifyIdenticons: false, - txData: { - txParams: opts.txParams, - time: (new Date()).getTime(), - }, - identities: { - - }, - accounts: { - - }, - onConfirm: opts.confirm, - onCancel: opts.cancel, - } - renderTxNotificationSVG(state, function(err, notificationSvgSource){ if (err) throw err showNotification(extend(state, { + title: 'New Unsigned Transaction', imageUrl: toSvgUri(notificationSvgSource), })) }) } -function createMsgNotification (opts) { +function createMsgNotification (state) { // guard for chrome bug https://github.com/MetaMask/metamask-plugin/issues/236 if (!chrome.notifications) return console.error('Chrome notifications API missing...') - var state = { - title: 'New Unsigned Message', - imageifyIdenticons: false, - txData: { - msgParams: opts.msgParams, - time: (new Date()).getTime(), - }, - identities: { - - }, - accounts: { - - }, - onConfirm: opts.confirm, - onCancel: opts.cancel, - } - renderMsgNotificationSVG(state, function(err, notificationSvgSource){ if (err) throw err showNotification(extend(state, { + title: 'New Unsigned Message', imageUrl: toSvgUri(notificationSvgSource), })) diff --git a/svg-notifications.md b/svg-notifications.md deleted file mode 100644 index 577e7d07c..000000000 --- a/svg-notifications.md +++ /dev/null @@ -1,38 +0,0 @@ -Chrome notifications allow you to show an SVG image via a data-uri - -Taking advantage of this might allow us to show nicely formatted notifications - -build a template using pure svg: - -```svg - - - - Domain: https://boardroom.to - From: 0xabcdef - To: 0xfedcba - Value: 1.025 Ether - Gas: 0.025 Ether - - -``` - -generate uri -`'data:image/svg+xml;charset=utf-8,'+encodeURIComponent(svgSrc)` - -or svg-embedded html: - -```svg - - - - -
- The quick brown fox jumps over the lazy dog. - Pack my box with five dozen liquor jugs -
- -
-
-```