1
0

fix(views): make sure the view is saved properly in localStorage

This commit is contained in:
kolaente 2024-04-13 22:15:41 +02:00
parent 1460d212ee
commit 637c8f6ba5
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
3 changed files with 10 additions and 2 deletions

View File

@ -8,6 +8,7 @@ const SETTINGS_KEY_PROJECT_VIEW = 'projectView'
* Save the current project view to local storage * Save the current project view to local storage
*/ */
export function saveProjectView(projectId: IProject['id'], viewId: number) { export function saveProjectView(projectId: IProject['id'], viewId: number) {
console.log({projectId, viewId})
if (!projectId || !viewId) { if (!projectId || !viewId) {
return return
} }

View File

@ -2,7 +2,7 @@ import { createRouter, createWebHistory } from 'vue-router'
import type { RouteLocation } from 'vue-router' import type { RouteLocation } from 'vue-router'
import {saveLastVisited} from '@/helpers/saveLastVisited' import {saveLastVisited} from '@/helpers/saveLastVisited'
import {saveProjectView, getProjectViewId} from '@/helpers/projectView' import {getProjectViewId} from '@/helpers/projectView'
import {parseDateOrString} from '@/helpers/time/parseDateOrString' import {parseDateOrString} from '@/helpers/time/parseDateOrString'
import {getNextWeekDate} from '@/helpers/time/getNextWeekDate' import {getNextWeekDate} from '@/helpers/time/getNextWeekDate'
import {LINK_SHARE_HASH_PREFIX} from '@/constants/linkShareHash' import {LINK_SHARE_HASH_PREFIX} from '@/constants/linkShareHash'
@ -366,7 +366,6 @@ const router = createRouter({
path: '/projects/:projectId/:viewId', path: '/projects/:projectId/:viewId',
name: 'project.view', name: 'project.view',
component: ProjectView, component: ProjectView,
beforeEnter: (to) => saveProjectView(parseInt(to.params.projectId as string), parseInt(to.params.viewId as string)),
props: route => ({ props: route => ({
projectId: parseInt(route.params.projectId as string), projectId: parseInt(route.params.projectId as string),
viewId: route.params.viewId ? parseInt(route.params.viewId as string): undefined, viewId: route.params.viewId ? parseInt(route.params.viewId as string): undefined,

View File

@ -2,6 +2,7 @@
import {computed, watch} from 'vue' import {computed, watch} from 'vue'
import {useProjectStore} from '@/stores/projects' import {useProjectStore} from '@/stores/projects'
import {useRoute, useRouter} from 'vue-router' import {useRoute, useRouter} from 'vue-router'
import {saveProjectView} from '@/helpers/projectView'
import ProjectList from '@/components/project/views/ProjectList.vue' import ProjectList from '@/components/project/views/ProjectList.vue'
import ProjectGantt from '@/components/project/views/ProjectGantt.vue' import ProjectGantt from '@/components/project/views/ProjectGantt.vue'
@ -53,6 +54,13 @@ watch(
redirectToFirstViewIfNecessary, redirectToFirstViewIfNecessary,
) )
// using a watcher instead of beforeEnter because beforeEnter is not called when only the viewId changes
watch(
() => [projectId, viewId],
() => saveProjectView(projectId, viewId),
{immediate: true},
)
const route = useRoute() const route = useRoute()
</script> </script>