mirror of
https://github.com/nextcloud/spreed.git
synced 2025-12-18 05:20:50 +01:00
fix: migrate to useRouteParams and useRouteQuery
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
This commit is contained in:
parent
b6ffab6069
commit
fe4f02b0a1
3 changed files with 14 additions and 30 deletions
|
|
@ -12,6 +12,7 @@ const ignorePatterns = [
|
|||
'@nextcloud/vue',
|
||||
'@mdi/svg',
|
||||
'@vueuse/core',
|
||||
'@vueuse/router',
|
||||
'@vueuse/shared',
|
||||
'bail',
|
||||
'ccount', // ESM dependency of remark-gfm
|
||||
|
|
|
|||
|
|
@ -3,25 +3,19 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import type { RouteParamValueRaw } from 'vue-router'
|
||||
|
||||
import { createSharedComposable } from '@vueuse/core'
|
||||
import { computed, ref } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useRouteQuery } from '@vueuse/router'
|
||||
|
||||
/**
|
||||
* Shared composable to get threadId of current thread in conversation
|
||||
*/
|
||||
export const useGetThreadId = createSharedComposable(function() {
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
if (router) {
|
||||
return computed<number>({
|
||||
get: () => route.query.threadId ? Number(route.query.threadId) : 0,
|
||||
set: (value: number) => {
|
||||
router.push({ query: { ...route.query, threadId: value !== 0 ? value : undefined } })
|
||||
},
|
||||
})
|
||||
} else {
|
||||
return ref(0)
|
||||
}
|
||||
return useRouteQuery<RouteParamValueRaw, number>('threadId', '0', {
|
||||
transform: {
|
||||
get: (value: RouteParamValueRaw | undefined) => value ? Number(value) : 0,
|
||||
set: (value: number) => value !== 0 ? String(value) : undefined,
|
||||
},
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -4,24 +4,13 @@
|
|||
*/
|
||||
|
||||
import { createSharedComposable } from '@vueuse/core'
|
||||
import { computed } from 'vue'
|
||||
import { useTokenStore } from '../stores/token.ts'
|
||||
|
||||
/**
|
||||
* FIXME: if router is available (main app), rely on it.
|
||||
* otherwise mock route object and expose controls
|
||||
*
|
||||
* TODO: move tokenStore.updateToken from router change to here
|
||||
*
|
||||
* const route = useRouter() ? useRoute() : undefined
|
||||
* return computed<string>(() => route?.params?.token ?? tokenStore.token)
|
||||
*/
|
||||
import { useRouteParams } from '@vueuse/router'
|
||||
|
||||
/**
|
||||
* Shared composable to get token of current conversation
|
||||
*/
|
||||
export const useGetToken = createSharedComposable(function() {
|
||||
const tokenStore = useTokenStore()
|
||||
|
||||
return computed<string>(() => tokenStore.token)
|
||||
return useRouteParams<string>('token', '', {
|
||||
transform: (value: string | undefined) => value ?? '',
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue