From 686aeecde90a46426ed8afb7729516dfaa170849 Mon Sep 17 00:00:00 2001 From: Joakim Olsson Date: Sat, 27 Aug 2022 11:08:48 +0200 Subject: [PATCH] fix: handle query param for range in a better way --- components/pages/events/index.vue | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/components/pages/events/index.vue b/components/pages/events/index.vue index 4f7ec88..7c8daa2 100644 --- a/components/pages/events/index.vue +++ b/components/pages/events/index.vue @@ -108,8 +108,17 @@ export default defineComponent({ const { loading: authLoading, isAuthenticated } = useAuth() const route = useRoute() 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({ - get: () => route.query.range ? route.query.range as Range : undefined, + get: () => validRange(route.query.range), set: (value) => { router.push(`/?range=${value}`) }