Skip to content

Commit 7147bb5

Browse files
fix(notes): enable back navigation from dashboard (#758)
1 parent 439e0fb commit 7147bb5

2 files changed

Lines changed: 65 additions & 3 deletions

File tree

src/renderer/components/notes/NotesSidebar.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
<script setup lang="ts">
2-
import { useNotesApp } from '@/composables'
2+
import { useNavigationHistory, useNotesApp } from '@/composables'
33
import { i18n } from '@/electron'
44
import { router, RouterName } from '@/router'
55
import { scrollToElement } from '@/utils'
66
import { LayoutGrid } from 'lucide-vue-next'
77
88
const { notesState } = useNotesApp()
9+
const { isNavigatingHistory, recordNavigation } = useNavigationHistory()
910
1011
function scrollToCurrentFolder() {
1112
if (!notesState.folderId) {
@@ -20,7 +21,18 @@ nextTick(() => {
2021
})
2122
2223
async function openDashboard() {
23-
await router.push({ name: RouterName.notesDashboard })
24+
if (router.currentRoute.value.name === RouterName.notesDashboard) {
25+
return
26+
}
27+
28+
if (isNavigatingHistory.value) {
29+
await router.push({ name: RouterName.notesDashboard })
30+
return
31+
}
32+
33+
await recordNavigation(async () => {
34+
await router.push({ name: RouterName.notesDashboard })
35+
})
2436
}
2537
</script>
2638

src/renderer/components/notes/dashboard/Header.vue

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
11
<script setup lang="ts">
22
import { Button } from '@/components/ui/shadcn/button'
33
import * as Popover from '@/components/ui/shadcn/popover'
4+
import * as Tooltip from '@/components/ui/shadcn/tooltip'
5+
import { useNavigationHistory } from '@/composables'
46
import { i18n } from '@/electron'
5-
import { Settings2 } from 'lucide-vue-next'
7+
import { navigateBack, navigateForward } from '@/ipc/listeners/deepLinks'
8+
import { ChevronLeft, ChevronRight, Settings2 } from 'lucide-vue-next'
9+
10+
const { canGoBack, canGoForward } = useNavigationHistory()
11+
12+
const isHistoryVisible = computed(() => canGoBack.value || canGoForward.value)
13+
14+
function onBackClick() {
15+
void navigateBack()
16+
}
17+
18+
function onForwardClick() {
19+
void navigateForward()
20+
}
621
</script>
722

823
<template>
@@ -11,6 +26,41 @@ import { Settings2 } from 'lucide-vue-next'
1126
:description="i18n.t('notes.dashboard.description')"
1227
>
1328
<template #actions>
29+
<div
30+
v-if="isHistoryVisible"
31+
class="flex items-center gap-1"
32+
>
33+
<Tooltip.Tooltip>
34+
<Tooltip.TooltipTrigger as-child>
35+
<Button
36+
size="icon"
37+
variant="outline"
38+
:disabled="!canGoBack"
39+
@click="onBackClick"
40+
>
41+
<ChevronLeft />
42+
</Button>
43+
</Tooltip.TooltipTrigger>
44+
<Tooltip.TooltipContent>
45+
{{ i18n.t("menu:history.back") }}
46+
</Tooltip.TooltipContent>
47+
</Tooltip.Tooltip>
48+
<Tooltip.Tooltip>
49+
<Tooltip.TooltipTrigger as-child>
50+
<Button
51+
size="icon"
52+
variant="outline"
53+
:disabled="!canGoForward"
54+
@click="onForwardClick"
55+
>
56+
<ChevronRight />
57+
</Button>
58+
</Tooltip.TooltipTrigger>
59+
<Tooltip.TooltipContent>
60+
{{ i18n.t("menu:history.forward") }}
61+
</Tooltip.TooltipContent>
62+
</Tooltip.Tooltip>
63+
</div>
1464
<Popover.Popover>
1565
<Popover.PopoverTrigger as-child>
1666
<Button

0 commit comments

Comments
 (0)