From 56ef57024937c151bf189598220b508ef4bb3c20 Mon Sep 17 00:00:00 2001 From: Ting-Jun Wang Date: Fri, 7 Apr 2023 17:26:35 +0800 Subject: [PATCH] feat: management page --- index.html | 2 +- package-lock.json | 14 +++ package.json | 1 + src/App.vue | 20 ++++ src/router/index.js | 7 +- src/views/FaucetView.vue | 21 ++-- src/views/ManageView.vue | 241 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 292 insertions(+), 14 deletions(-) create mode 100644 src/views/ManageView.vue diff --git a/index.html b/index.html index acd49e8..7e703b2 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - My Goerli Faucet + My Sepolia Faucet diff --git a/package-lock.json b/package-lock.json index 012797c..393b294 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@metamask/detect-provider": "^2.0.0", "bootstrap": "^5.2.3", + "dotenv": "^16.0.3", "vue": "^3.2.47", "vue-router": "^4.1.6", "web3": "^1.8.2" @@ -1619,6 +1620,14 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "engines": { + "node": ">=12" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -5388,6 +5397,11 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", diff --git a/package.json b/package.json index 6fbb672..05a3498 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dependencies": { "@metamask/detect-provider": "^2.0.0", "bootstrap": "^5.2.3", + "dotenv": "^16.0.3", "vue": "^3.2.47", "vue-router": "^4.1.6", "web3": "^1.8.2" diff --git a/src/App.vue b/src/App.vue index ca13c17..aec549b 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,5 +3,25 @@ import { RouterLink, RouterView } from "vue-router"; diff --git a/src/router/index.js b/src/router/index.js index 882d7a5..63585aa 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,6 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' import FaucetView from '../views/FaucetView.vue' - +import ManageView from '../views/ManageView.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ @@ -8,6 +8,11 @@ const router = createRouter({ path: '/', name: 'home', component: FaucetView + }, + { + path: '/manage', + name: 'management', + component: ManageView } ] }) diff --git a/src/views/FaucetView.vue b/src/views/FaucetView.vue index cd6ec13..d91d45b 100644 --- a/src/views/FaucetView.vue +++ b/src/views/FaucetView.vue @@ -18,22 +18,17 @@ export default { bankBalance: -1, } }, - mounted() { + async mounted() { var web3 = new Web3(window.ethereum); this.bankAddr = import.meta.env.VITE_BANK_ADDR; var bank = new web3.eth.Contract(bankABI, this.bankAddr); - bank.methods.getATMs().call((err, result) => { - if(err){ - alert(err); - }else{ - this.atms = result; - } - // console.log(result); - }).then(() => { - console.log(this.atms) - }).then(() => { + var atms = await bank.methods.getATMs().call(); + this.atms = atms; + if(ethereum.isConnected()){ + this.linked = true; + this.detectMetamask(); this.update(); - }); + } }, methods: { @@ -54,6 +49,7 @@ export default { this.atmsBalance[i] = web3.utils.fromWei(result); }) } + console.log("update"); }, async detectMetamask() { @@ -165,6 +161,7 @@ export default { +


diff --git a/src/views/ManageView.vue b/src/views/ManageView.vue new file mode 100644 index 0000000..cdc33e4 --- /dev/null +++ b/src/views/ManageView.vue @@ -0,0 +1,241 @@ + + + + + \ No newline at end of file