feat(ui): restore last route

This commit is contained in:
Guillaume Chau
2018-04-17 02:21:19 +02:00
parent f79cb6e25a
commit 65019d6ce5
2 changed files with 24 additions and 3 deletions
+6
View File
@@ -54,6 +54,12 @@ const app = new Vue({
async function start () {
app.$mount('#app')
// Restore last route
const lastRoute = localStorage.getItem('vue-cli-ui.lastRoute')
if (lastRoute) {
router.push(lastRoute)
}
}
start()
+18 -3
View File
@@ -26,7 +26,8 @@ const router = new Router({
path: '/',
component: ProjectHome,
meta: {
needProject: true
needProject: true,
restore: true
},
children: [
{
@@ -75,12 +76,18 @@ const router = new Router({
{
path: '/project/select',
name: 'project-select',
component: ProjectSelect
component: ProjectSelect,
meta: {
restore: true
}
},
{
path: '/project/create',
name: 'project-create',
component: ProjectCreate
component: ProjectCreate,
meta: {
restore: true
}
},
{
path: '/file-diff',
@@ -119,4 +126,12 @@ router.beforeEach(async (to, from, next) => {
next()
})
router.afterEach((to, from) => {
if (to.matched.some(m => m.meta.restore)) {
localStorage.setItem('vue-cli-ui.lastRoute', to.fullPath)
} else {
localStorage.removeItem('vue-cli-ui.lastRoute')
}
})
export default router