forked from jsnbuchanan/crowd-funder-for-time-pwa
Adding markers to keep track of registration state
This commit is contained in:
@@ -105,6 +105,7 @@ const routes: Array<RouteRecordRaw> = [
|
||||
},
|
||||
];
|
||||
|
||||
/** @type {*} */
|
||||
const router = createRouter({
|
||||
history: createWebHistory(process.env.BASE_URL),
|
||||
routes,
|
||||
@@ -121,14 +122,9 @@ router.beforeEach(async (to) => {
|
||||
case "uninitialized":
|
||||
return_path = "";
|
||||
break;
|
||||
case "registering":
|
||||
return_path = to.path;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (appStore.condition) {
|
||||
case "registered":
|
||||
return_path = to.path;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (return_path == "") {
|
||||
|
||||
@@ -20,5 +20,8 @@ export const useAppStore = defineStore({
|
||||
reset() {
|
||||
localStorage.removeItem("condition");
|
||||
},
|
||||
setCondition(newCondition: string) {
|
||||
localStorage.setItem("condition", newCondition);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -171,6 +171,7 @@ import { createIdentifier, deriveAddress, newIdentifier } from "../libs/crypto";
|
||||
import { IIdentifier } from "@veramo/core";
|
||||
import * as R from "ramda";
|
||||
import { db } from "../db";
|
||||
import { useAppStore } from "@/store/app";
|
||||
|
||||
@Options({
|
||||
components: {},
|
||||
@@ -185,6 +186,8 @@ export default class AccountViewView extends Vue {
|
||||
const previousIdentifiers: Array<IIdentifier> = [];
|
||||
const toLowercase = true;
|
||||
|
||||
const appCondition = useAppStore().condition;
|
||||
if (appCondition == "uninitialized") {
|
||||
this.mnemonic = createIdentifier();
|
||||
[
|
||||
this.address,
|
||||
@@ -235,12 +238,7 @@ export default class AccountViewView extends Vue {
|
||||
dateCreated: new Date().getTime(),
|
||||
});
|
||||
}
|
||||
const accounts = await db.accounts.toArray();
|
||||
console.log(accounts[0]);
|
||||
const identity = JSON.parse(accounts[0].identity);
|
||||
|
||||
this.address = identity.did;
|
||||
this.publicHex = identity.keys[0].publicKeyHex;
|
||||
useAppStore().setCondition("registered");
|
||||
|
||||
//appStore.dispatch(appSlice.actions.addLog({log: false, msg: "... created new ID..."}))
|
||||
//appStore.dispatch(appSlice.actions.addLog({log: false, msg: "... stored new ID..."}))
|
||||
@@ -249,5 +247,17 @@ export default class AccountViewView extends Vue {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
await db.open();
|
||||
const num_accounts = await db.accounts.count();
|
||||
if (num_accounts === 0) {
|
||||
console.log("Problem! Should have a profile!");
|
||||
} else {
|
||||
const accounts = await db.accounts.toArray();
|
||||
console.log(accounts[0]);
|
||||
const identity = JSON.parse(accounts[0].identity);
|
||||
this.address = identity.did;
|
||||
this.publicHex = identity.keys[0].publicKeyHex;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user