From 5eb3d5d485b17b98b19443d8def2f03dec9b38ef Mon Sep 17 00:00:00 2001
From: Dan Finlay <dan@danfinlay.com>
Date: Mon, 3 Jul 2017 15:39:25 -0700
Subject: Make folder for responsive UI

---
 ui/classic/example.js | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 123 insertions(+)
 create mode 100644 ui/classic/example.js

(limited to 'ui/classic/example.js')

diff --git a/ui/classic/example.js b/ui/classic/example.js
new file mode 100644
index 000000000..4627c0e9c
--- /dev/null
+++ b/ui/classic/example.js
@@ -0,0 +1,123 @@
+const injectCss = require('inject-css')
+const MetaMaskUi = require('./index.js')
+const MetaMaskUiCss = require('./css.js')
+const EventEmitter = require('events').EventEmitter
+
+// account management
+
+var identities = {
+  '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111': {
+    name: 'Walrus',
+    img: 'QmW6hcwYzXrNkuHrpvo58YeZvbZxUddv69ATSHY3BHpPdd',
+    address: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111',
+    balance: 220,
+    txCount: 4,
+  },
+  '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222': {
+    name: 'Tardus',
+    img: 'QmQYaRdrf2EhRhJWaHnts8Meu1mZiXrNib5W1P6cYmXWRL',
+    address: '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222',
+    balance: 10.005,
+    txCount: 16,
+  },
+  '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333': {
+    name: 'Gambler',
+    img: 'QmW6hcwYzXrNkuHrpvo58YeZvbZxUddv69ATSHY3BHpPdd',
+    address: '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333',
+    balance: 0.000001,
+    txCount: 1,
+  },
+}
+
+var unapprovedTxs = {}
+addUnconfTx({
+  from: '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222',
+  to: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111',
+  value: '0x123',
+})
+addUnconfTx({
+  from: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111',
+  to: '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333',
+  value: '0x0000',
+  data: '0x000462427bcc9133bb46e88bcbe39cd7ef0e7000',
+})
+
+function addUnconfTx (txParams) {
+  var time = (new Date()).getTime()
+  var id = createRandomId()
+  unapprovedTxs[id] = {
+    id: id,
+    txParams: txParams,
+    time: time,
+  }
+}
+
+var isUnlocked = false
+var selectedAccount = null
+
+function getState () {
+  return {
+    isUnlocked: isUnlocked,
+    identities: isUnlocked ? identities : {},
+    unapprovedTxs: isUnlocked ? unapprovedTxs : {},
+    selectedAccount: selectedAccount,
+  }
+}
+
+var accountManager = new EventEmitter()
+
+accountManager.getState = function (cb) {
+  cb(null, getState())
+}
+
+accountManager.setLocked = function () {
+  isUnlocked = false
+  this._didUpdate()
+}
+
+accountManager.submitPassword = function (password, cb) {
+  if (password === 'test') {
+    isUnlocked = true
+    cb(null, getState())
+    this._didUpdate()
+  } else {
+    cb(new Error('Bad password -- try "test"'))
+  }
+}
+
+accountManager.setSelectedAccount = function (address, cb) {
+  selectedAccount = address
+  cb(null, getState())
+  this._didUpdate()
+}
+
+accountManager.signTransaction = function (txParams, cb) {
+  alert('signing tx....')
+}
+
+accountManager._didUpdate = function () {
+  this.emit('update', getState())
+}
+
+// start app
+
+var container = document.getElementById('app-content')
+
+var css = MetaMaskUiCss()
+injectCss(css)
+
+MetaMaskUi({
+  container: container,
+  accountManager: accountManager,
+})
+
+// util
+
+function createRandomId () {
+  // 13 time digits
+  var datePart = new Date().getTime() * Math.pow(10, 3)
+  // 3 random digits
+  var extraPart = Math.floor(Math.random() * Math.pow(10, 3))
+  // 16 digits
+  return datePart + extraPart
+}
-- 
cgit