diff --git a/src/index.css b/src/index.css index dc17d99..3c37d35 100644 --- a/src/index.css +++ b/src/index.css @@ -209,6 +209,13 @@ html.dark .event-range-modal-overlay { html.dark .event-date-range-modal { box-shadow: 0 1rem 3rem hsl(0 0% 0% / 0.34); } + +.event-search-input::-webkit-search-cancel-button { + display: none; + -webkit-appearance: none; + appearance: none; +} + @keyframes event-range-fade-in { from { opacity: 0; } to { opacity: 1; } diff --git a/src/views/Events.tsx b/src/views/Events.tsx index 17beabc..79850b0 100644 --- a/src/views/Events.tsx +++ b/src/views/Events.tsx @@ -2,7 +2,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import Image from "next/image"; -import { Search } from "lucide-react"; +import { Search, X } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { EventCard } from "@/components/events/EventCard"; @@ -108,6 +108,7 @@ export default function Events({ const [loadError, setLoadError] = useState(false); const [retryToken, setRetryToken] = useState(0); const [now] = useState(() => Date.now()); + const searchInputRef = useRef(null); const resultsRef = useRef(null); const skipFirstFetch = useRef(true); @@ -264,14 +265,30 @@ export default function Events({
-