Browse Source

Adding markers to keep track of registration state

pull/1/head
Matthew Aaron Raymer 2 years ago
parent
commit
b4557c3596
  1. 8
      src/router/index.ts
  2. 3
      src/store/app.ts
  3. 22
      src/views/AccountViewView.vue

8
src/router/index.ts

@ -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 == "") {

3
src/store/app.ts

@ -20,5 +20,8 @@ export const useAppStore = defineStore({
reset() {
localStorage.removeItem("condition");
},
setCondition(newCondition: string) {
localStorage.setItem("condition", newCondition);
},
},
});

22
src/views/AccountViewView.vue

@ -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>

Loading…
Cancel
Save