I'm unsure which will be more performant: A notification using a trimmed down version of the UI, or using them both, letting the browser cache them both.
In any case, here I've modified the normal UI to recognize when it's a popup, and change the UX accordingly in a few ways:
- Hide the menu bar
- Hide the back button from the notifications view.
- When confirming the last tx, close the window.
Calls to `eth.sign` are now transiently persisted in memory, and displayed in a chronological stack with pending transactions (which are still persisted to disk).
This allows the user a method to sign/cancel transactions even if they miss the Chrome notification.
Improved a lot of the view routing, to avoid cases where routes would show an empty account view, or transition to the accounts list when it shouldn't.
Broke the transaction approval view into a couple components so messages and transactions could have their own templates.