This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
frontend/src/composables/useRedirectToLastVisited.ts

35 lines
630 B
TypeScript

import {useRouter} from 'vue-router'
import {getLastVisited, clearLastVisited} from '@/helpers/saveLastVisited'
export function useRedirectToLastVisited() {
const router = useRouter()
function getLastVisitedRoute() {
const last = getLastVisited()
if (last === null) {
return null
}
clearLastVisited()
return {
name: last.name,
params: last.params,
query: last.query,
}
}
function redirectIfSaved() {
const lastRoute = getLastVisitedRoute()
if (!lastRoute) {
return router.push({name: 'home'})
}
return router.push(lastRoute)
}
return {
redirectIfSaved,
getLastVisitedRoute,
}
}