Browse Source

Subject line: Adding routing for post-registration.

Had to add a bogus home page (left over boilerplate home) to fill the role of an initial load state.
The app will look at the app Pinia state and if it is 'registered' and then send to the discovery page.
kb/add-usage-guide
Matthew Aaron Raymer 2 years ago
parent
commit
9f94aad88a
  1. 14
      src/router/index.ts
  2. 1
      src/views/AccountViewView.vue

14
src/router/index.ts

@ -1,12 +1,12 @@
import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router"; import { createRouter, createWebHistory, RouteRecordRaw } from "vue-router";
import { useAppStore } from "../store/app"; import { useAppStore } from "../store/app";
import HomeView from "../views/HomeView.vue";
const routes: Array<RouteRecordRaw> = [ const routes: Array<RouteRecordRaw> = [
{ {
path: "/", path: "/",
name: "home", name: "home",
component: HomeView, component: () =>
import(/* webpackChunkName: "start" */ "../views/DiscoverView.vue"),
}, },
{ {
path: "/about", path: "/about",
@ -111,26 +111,28 @@ const router = createRouter({
routes, routes,
}); });
router.beforeEach(async (to) => { router.beforeEach(async (to, from, next) => {
const publicPages = ["/start", "/account", "/import-account"]; const publicPages = ["/start", "/account", "/import-account"];
const isPublic = publicPages.includes(to.path); const isPublic = publicPages.includes(to.path);
const appStore = useAppStore(); const appStore = useAppStore();
let return_path = "/start"; let return_path = "/start";
if (to.path === "/" && appStore.condition == "registered") {
return_path = "/account";
}
if (isPublic) { if (isPublic) {
switch (appStore.condition) { switch (appStore.condition) {
case "uninitialized": case "uninitialized":
return_path = ""; return_path = "";
break; break;
case "registered": case "registered":
return_path = to.path; next();
break; break;
} }
} }
if (return_path == "") { if (return_path == "") {
return; return;
} else { } else {
return return_path; next();
} }
}); });

1
src/views/AccountViewView.vue

@ -257,6 +257,7 @@ export default class AccountViewView extends Vue {
const identity = JSON.parse(accounts[0].identity); const identity = JSON.parse(accounts[0].identity);
this.address = identity.did; this.address = identity.did;
this.publicHex = identity.keys[0].publicKeyHex; this.publicHex = identity.keys[0].publicKeyHex;
this.UPORT_ROOT_DERIVATION_PATH = identity.keys[0].meta.derivationPath;
} }
} }
} }

Loading…
Cancel
Save