diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-07-08 15:30:36 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-07-08 15:30:36 +0900 |
| commit | 15683370f0379360c475a9ad77bb802c43f6d181 (patch) | |
| tree | d320cbdef89b6b7bac2cb113297c311666c3aa4e /packages/frontend/src/ui/deck | |
| parent | refactor: use esm (diff) | |
| download | misskey-15683370f0379360c475a9ad77bb802c43f6d181.tar.gz misskey-15683370f0379360c475a9ad77bb802c43f6d181.tar.bz2 misskey-15683370f0379360c475a9ad77bb802c43f6d181.zip | |
fix(frontend): ページ遷移でスクロール位置が保持されない問題を修正
Fix #11068
Diffstat (limited to 'packages/frontend/src/ui/deck')
| -rw-r--r-- | packages/frontend/src/ui/deck/main-column.vue | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/frontend/src/ui/deck/main-column.vue b/packages/frontend/src/ui/deck/main-column.vue index 169fac70a2..0413307955 100644 --- a/packages/frontend/src/ui/deck/main-column.vue +++ b/packages/frontend/src/ui/deck/main-column.vue @@ -7,24 +7,29 @@ </template> </template> - <RouterView @contextmenu.stop="onContextmenu"/> + <div ref="contents"> + <RouterView @contextmenu.stop="onContextmenu"/> + </div> </XColumn> </template> <script lang="ts" setup> -import { ComputedRef, provide } from 'vue'; +import { ComputedRef, provide, shallowRef } from 'vue'; import XColumn from './column.vue'; import { deckStore, Column } from '@/ui/deck/deck-store'; import * as os from '@/os'; import { i18n } from '@/i18n'; import { mainRouter } from '@/router'; import { PageMetadata, provideMetadataReceiver } from '@/scripts/page-metadata'; +import { useScrollPositionManager } from '@/nirax'; +import { getScrollContainer } from '@/scripts/scroll'; defineProps<{ column: Column; isStacked: boolean; }>(); +const contents = shallowRef<HTMLElement>(); let pageMetadata = $ref<null | ComputedRef<PageMetadata>>(); provide('router', mainRouter); @@ -61,4 +66,6 @@ function onContextmenu(ev: MouseEvent) { }, }], ev); } + +useScrollPositionManager(() => getScrollContainer(contents.value), mainRouter); </script> |