From cc58f64594ea62707618746cd80377e2e88e5bb0 Mon Sep 17 00:00:00 2001 From: Bragon Date: Wed, 18 Mar 2026 18:16:38 +0100 Subject: [PATCH 1/3] feat: add filterresults in the url --- .../EventsPage/components/EventsList/EventsList.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/Pages/EventsPage/components/EventsList/EventsList.tsx b/frontend/src/Pages/EventsPage/components/EventsList/EventsList.tsx index dc4062d0c..9ec15cb76 100644 --- a/frontend/src/Pages/EventsPage/components/EventsList/EventsList.tsx +++ b/frontend/src/Pages/EventsPage/components/EventsList/EventsList.tsx @@ -1,6 +1,7 @@ import { Icon } from '@iconify/react'; -import { type ReactNode, useState } from 'react'; +import { type ReactNode, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { useSearchParams } from 'react-router-dom'; import { Button, IconButton, InputField, Link, TimeDisplay } from '~/Components'; import { eventQuery } from '~/Components/EventQuery/utils'; import { ImageCard } from '~/Components/ImageCard'; @@ -22,7 +23,8 @@ type EventsListProps = { export function EventsList({ events }: EventsListProps) { const { t, i18n } = useTranslation(); const [tableView, setTableView] = useState(false); - const [query, setQuery] = useState(''); + const [searchParam, setSearchParam] = useSearchParams(); + const [query, setQuery] = useState(searchParam.get('search') ?? ''); const isDesktop = useDesktop(); const eventColumns = [ @@ -99,6 +101,10 @@ export function EventsList({ events }: EventsListProps) { }); } + useEffect(() => { + setSearchParam({ search: query }); + }, [query, setSearchParam]); + function getButton(title: string, icon: string, func: () => void, chosen: boolean) { return (