fix: handle query param for range in a better way
This commit is contained in:
@@ -108,8 +108,17 @@ export default defineComponent({
|
|||||||
const { loading: authLoading, isAuthenticated } = useAuth()
|
const { loading: authLoading, isAuthenticated } = useAuth()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const validRange = (value: string | null | (string|null)[]): Range | undefined => {
|
||||||
|
if (!value) {
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
if (Array.isArray(value)) {
|
||||||
|
return validRange(value[0])
|
||||||
|
}
|
||||||
|
return Object.values(Range).includes(value as Range) ? value as Range : undefined
|
||||||
|
}
|
||||||
const range = computed({
|
const range = computed({
|
||||||
get: () => route.query.range ? route.query.range as Range : undefined,
|
get: () => validRange(route.query.range),
|
||||||
set: (value) => {
|
set: (value) => {
|
||||||
router.push(`/?range=${value}`)
|
router.push(`/?range=${value}`)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user