Skip to content

Commit 97eb00a

Browse files
fix(code): initialize snippets with hidden sidebar (#813)
1 parent 6591f19 commit 97eb00a

2 files changed

Lines changed: 40 additions & 36 deletions

File tree

src/renderer/components/code-space-layout/CodeSpaceLayout.vue

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
<script setup lang="ts">
2-
import { useApp } from '@/composables'
2+
import { initCodeSpace, useApp, useSnippets } from '@/composables'
33
import { getCodePanels } from '@/composables/layoutModes'
4+
import { scrollToSnippetIndex } from '@/composables/useSnippetScroller'
45
import { store } from '@/electron'
6+
import { scrollToElement } from '@/utils'
57
6-
const { codeLayoutMode } = useApp()
8+
const {
9+
codeLayoutMode,
10+
isAppLoading,
11+
isCodeSpaceInitialized,
12+
pendingCodeNavigation,
13+
state,
14+
} = useApp()
15+
const { displayedSnippets } = useSnippets()
716
817
const panels = computed(() => getCodePanels(codeLayoutMode.value))
918
@@ -27,6 +36,34 @@ function onResizeEnd(sw: number, lw: number) {
2736
function onTwoPanelResize(lw: number) {
2837
store.app.set('code.layout.twoPanel', lw)
2938
}
39+
40+
async function initApp() {
41+
if (pendingCodeNavigation.value) {
42+
return
43+
}
44+
45+
if (isCodeSpaceInitialized.value) {
46+
isAppLoading.value = false
47+
return
48+
}
49+
50+
isAppLoading.value = true
51+
await initCodeSpace()
52+
53+
nextTick(() => {
54+
scrollToElement(`[id="${state.folderId}"]`)
55+
56+
const index
57+
= displayedSnippets.value?.findIndex(s => s.id === state.snippetId) ?? -1
58+
if (index >= 0) {
59+
scrollToSnippetIndex(index)
60+
}
61+
})
62+
63+
isAppLoading.value = false
64+
}
65+
66+
void initApp()
3067
</script>
3168

3269
<template>

src/renderer/components/sidebar/library/Library.vue

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,23 @@ import Tree from '@/components/sidebar/folders/Tree.vue'
44
import LibraryItem from '@/components/sidebar/library/Item.vue'
55
import * as ContextMenu from '@/components/ui/shadcn/context-menu'
66
import {
7-
initCodeSpace,
87
useApp,
98
useFolders,
109
useResizeHandle,
1110
useSnippets,
1211
} from '@/composables'
1312
import { LibraryFilter } from '@/composables/types'
14-
import { scrollToSnippetIndex } from '@/composables/useSnippetScroller'
1513
import { i18n, store } from '@/electron'
16-
import { scrollToElement } from '@/utils'
1714
import { Archive, Inbox, Plus, Star, Trash } from 'lucide-vue-next'
1815
import { LAYOUT_DEFAULTS } from '~/main/store/constants'
1916
20-
const { state, isAppLoading, isCodeSpaceInitialized, pendingCodeNavigation }
21-
= useApp()
17+
const { state } = useApp()
2218
const {
2319
getSnippets,
2420
selectFirstSnippet,
2521
emptyTrash,
2622
isRestoreStateBlocked,
2723
clearSearch,
28-
displayedSnippets,
2924
} = useSnippets()
3025
const {
3126
folders,
@@ -78,34 +73,6 @@ const libraryItems = [
7873
{ id: LibraryFilter.Trash, name: i18n.t('common.trash'), icon: Trash },
7974
]
8075
81-
async function initApp() {
82-
if (pendingCodeNavigation.value) {
83-
return
84-
}
85-
86-
if (isCodeSpaceInitialized.value) {
87-
isAppLoading.value = false
88-
return
89-
}
90-
91-
isAppLoading.value = true
92-
await initCodeSpace()
93-
94-
nextTick(() => {
95-
scrollToElement(`[id="${state.folderId}"]`)
96-
97-
const index
98-
= displayedSnippets.value?.findIndex(s => s.id === state.snippetId) ?? -1
99-
if (index >= 0) {
100-
scrollToSnippetIndex(index)
101-
}
102-
})
103-
104-
isAppLoading.value = false
105-
}
106-
107-
void initApp()
108-
10976
async function onFolderClick({
11077
id,
11178
event,

0 commit comments

Comments
 (0)