diff --git a/src/views/Event/MyEventsView.vue b/src/views/Event/MyEventsView.vue
index 7cf8bcf43..58a41ae2d 100644
--- a/src/views/Event/MyEventsView.vue
+++ b/src/views/Event/MyEventsView.vue
@@ -61,12 +61,12 @@
labelFor="events-start-datepicker"
>
{
+ return (n > 9 ? "" : "0") + n.toString();
+ };
+ return (
+ d.getFullYear() +
+ "-" +
+ pad(d.getMonth() + 1) +
+ "-" +
+ pad(d.getDate()) +
+ "T00:00:00Z"
+ );
+}
+
const showUpcoming = useRouteQuery("showUpcoming", true, booleanTransformer);
const showDrafts = useRouteQuery("showDrafts", true, booleanTransformer);
const showAttending = useRouteQuery("showAttending", true, booleanTransformer);
const showMyGroups = useRouteQuery("showMyGroups", false, booleanTransformer);
-const dateFilter = useRouteQuery("dateFilter", new Date(), {
+const dateFilter = useRouteQuery("dateFilter", startOfDay(new Date()), {
fromQuery(query) {
if (query && /(\d{4}-\d{2}-\d{2})/.test(query)) {
- return new Date(`${query}T00:00:00Z`);
+ return `${query}T00:00:00Z`;
}
- return new Date();
+ return startOfDay(new Date());
},
- toQuery(value: Date) {
- const pad = (number: number) => {
- if (number < 10) {
- return "0" + number;
- }
- return number;
- };
- return `${value.getFullYear()}-${pad(value.getMonth() + 1)}-${pad(
- value.getDate()
- )}`;
+ toQuery(value: string) {
+ return value.slice(0, 10);
+ },
+});
+
+// bridge between datepicker expecting a Date object and dateFilter being a string
+const datePick = computed({
+ get: () => {
+ return new Date(dateFilter.value);
+ },
+ set: (d: Date) => {
+ dateFilter.value = startOfDay(d);
},
});