Vue.use(Router);
function loadView(view) {
- return () => import(/* webpackChunkName: "view-[request]" */ `@/views/${view}.vue`)
+ return () => import(/* webpackChunkName: "view-[request]" */ `@/views/${view}.vue`)
}
import { ajax } from "@/utils/ajax";
localStorage["myname"] = res.name;
localStorage["myid"] = res.id;
}
- // TODO: I don't like these 2 lines, "next('/')" should be enough
- window.location = "/";
+ // TODO: I don't like these 2 lines, "next('/')" should be enough
+ window.location = "/";
next();
}
);
component: Hall,
//redirect: "/", //problem: redirection before end of AJAX request
},
+ {
+ path: "/mygames",
+ name: "mygames",
+ component: loadView("MyGames"),
+ },
{
path: "/game/:id",
name: "game",
component: loadView("Game"),
},
+ {
+ path: "/analyze/:vname([a-zA-Z0-9]+)",
+ name: "analyze",
+ component: loadView("Analyze"),
+ },
{
path: "/about",
name: "about",
component: loadView("About"),
},
- // TODO: myGames, problemId: https://router.vuejs.org/guide/essentials/dynamic-matching.html
]
});
store.state.conn.send(JSON.stringify({code: "pagechange", page: to.path}));
}
next();
- // TODO?: redirect to current game (through GameStorage.getCurrent()) if any?
- // (and if the URL doesn't already match it) (use next("/game/GID"))
- //https://router.vuejs.org/guide/advanced/navigation-guards.html#global-before-guards
});
export default router;