From 259fc26da816d7004bad2b5c54aae70d5f62c815 Mon Sep 17 00:00:00 2001
From: "google-labs-jules[bot]"
<161369871+google-labs-jules[bot]@users.noreply.github.com>
Date: Mon, 25 May 2026 00:26:02 +0000
Subject: [PATCH] fix(ui): improve filter popover usability on mobile
- Set popover placement to 'top' to avoid overlapping the bottom search bar
- Add max-height and overflow-y-auto to make filters scrollable
- Add a dedicated close button for better mobile ergonomics
- Manage isOpen state to ensure reliable dismissal
---
src/components/filter.tsx | 65 ++++++++++++++++++++++++---------------
1 file changed, 41 insertions(+), 24 deletions(-)
diff --git a/src/components/filter.tsx b/src/components/filter.tsx
index 59aa1df4..f1b2580e 100644
--- a/src/components/filter.tsx
+++ b/src/components/filter.tsx
@@ -1,8 +1,9 @@
-import { ReactNode } from "react";
+import { ReactNode, useState } from "react";
import {
AdjustmentsHorizontalIcon,
CheckIcon,
+ XMarkIcon,
} from "@heroicons/react/24/outline";
import {
Button,
@@ -105,26 +106,42 @@ export const Filter = ({
}: {
children: ReactNode;
className?: string;
-}) => (
-
-
-
-
- {children}
-
-
-
-);
+}) => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ return (
+
+
+
+
+
+
+
+ {children}
+
+
+
+ );
+};