2525 <div v-if =" searchResults.length > 0" >
2626 <div
2727 v-for =" (item, index) in searchResults"
28- :key =" `${ item.type}-${item.folder.id}` "
29- :class =" ['dropdown-item', { highlighted: index === highlightedIndex }, item.type ]"
30- @mousedown =" selectFolder(item.folder )"
28+ :key =" item.id "
29+ :class =" ['dropdown-item', { highlighted: index === highlightedIndex }]"
30+ @mousedown =" selectFolder(item)"
3131 @mouseenter =" highlightedIndex = index"
3232 @keydown =" handleItemKeydown($event, item)"
3333 tabindex =" -1"
3737 <div class =" folder-name-section" >
3838 <span class =" folder-icon" >📁</span >
3939 <span class =" folder-name" >
40- <template v-for =" part in highlightText (item .folder . title , searchQuery )" :key =" part .text " >
40+ <template v-for =" part in highlightText (item .title , searchQuery )" :key =" part .text " >
4141 <span v-if =" part.highlighted" class =" highlight" >{{ part.text }}</span >
4242 <span v-else >{{ part.text }}</span >
4343 </template >
4444 </span >
4545 </div >
46- <div v-if =" item.folder. children && item.folder .children.length > 0" class =" folder-actions" >
46+ <div v-if =" item.children && item.children.length > 0" class =" folder-actions" >
4747 <span class =" children-count" >
48- ({{ item.folder. children.length }} {{ item.folder .children.length === 1 ? i18n.t('child') : i18n.t('children') }})
48+ ({{ item.children.length }} {{ item.children.length === 1 ? i18n.t('child') : i18n.t('children') }})
4949 </span >
5050 <span class =" expand-hint" >
5151 →
5252 </span >
5353 </div >
5454 </div >
55- <div v-if =" item.folder. path" class =" folder-breadcrumb" >
56- {{ item.folder. path }}
55+ <div v-if =" item.path" class =" folder-breadcrumb" >
56+ {{ item.path }}
5757 </div >
58- <div v-if =" showChildrenFor === item.folder. id && item.folder. children && item.folder .children.length > 0" class =" children-list" >
58+ <div v-if =" showChildrenFor === item.id && item.children && item.children.length > 0" class =" children-list" >
5959 <div class =" children-header" >{{ i18n.t('contains') }}:</div >
6060 <div class =" children-items" >
6161 <span
62- v-for =" child in item.folder. children"
62+ v-for =" child in item.children"
6363 :key =" child.id"
6464 class =" child-folder"
6565 @click.stop =" selectChildFolder(child)"
8686<script lang="ts" setup>
8787import { onMounted , ref , watch } from ' vue' ;
8888import { i18n } from ' #i18n' ;
89- import type { SearchResultItem } from ' ../../../composables/useFolderSearch' ;
9089import { useFolderSearch } from ' ../../../composables/useFolderSearch' ;
9190import type { BookmarkFolder } from ' ../../../composables/useFolderTree' ;
9291import { useFolderTree } from ' ../../../composables/useFolderTree' ;
@@ -188,7 +187,7 @@ const handleKeydown = (event: KeyboardEvent) => {
188187
189188 if (showDropdown .value && searchResults .value .length > 0 ) {
190189 handleNavigation (event , searchResults .value , {
191- onEnter : (item ) => selectFolder (item . folder ),
190+ onEnter : (item ) => selectFolder (item ),
192191 onEscape : () => {
193192 showDropdown .value = false ;
194193 searchQuery .value = ' ' ;
@@ -212,12 +211,12 @@ const handleKeydown = (event: KeyboardEvent) => {
212211 }
213212};
214213
215- const handleItemKeydown = (event : KeyboardEvent , item : SearchResultItem ) => {
214+ const handleItemKeydown = (event : KeyboardEvent , item : BookmarkFolder ) => {
216215 if (event .key === ' ' && event .shiftKey ) {
217216 event .preventDefault ();
218- if (item .folder . children && item . folder .children .length > 0 ) {
217+ if (item .children && item .children .length > 0 ) {
219218 showChildrenFor .value =
220- showChildrenFor .value === item .folder . id ? null : item . folder .id ;
219+ showChildrenFor .value === item .id ? null : item .id ;
221220 }
222221 }
223222};
0 commit comments