Skip to content

Commit 5dafb89

Browse files
committed
quick draft commit
1 parent bbee2a0 commit 5dafb89

73 files changed

Lines changed: 10474 additions & 50 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ import {
88
useRef,
99
useCallback,
1010
} from "react";
11-
import { Search, Plus, ArrowUpRight } from "lucide-react";
12-
import { motion, AnimatePresence } from "framer-motion";
11+
import { Plus, ArrowUpRight } from "lucide-react";
12+
import { motion } from "framer-motion";
13+
import SearchInput from "@/components/ui/SearchInput";
1314
import { useSearchParams, useRouter, usePathname } from "next/navigation";
1415
import { ECOSYSTEM_APPS, ECOSYSTEM_CATEGORIES } from "@/lib/ecosystem-data";
1516
import PageHero from "@/components/ui/PageHero";
@@ -144,44 +145,13 @@ function EcosystemPageInner() {
144145
/>
145146
</div>
146147

147-
<div className="relative">
148-
<Search className="pointer-events-none absolute left-3 top-1/2 z-10 h-4 w-4 -translate-y-1/2 text-white/50" />
149-
<input
150-
type="text"
151-
placeholder="Search"
152-
aria-label="Search ecosystem apps"
153-
value={search}
154-
onChange={(e) => setSearch(e.target.value)}
155-
className="w-full rounded-md border border-white/[0.12] bg-white/[0.03] backdrop-blur-sm py-1.5 pl-9 pr-8 text-sm text-white/60 placeholder:text-white/30 transition-colors duration-200 focus:bg-white/[0.05] focus:border-white/20 focus:outline-none sm:w-56 select-none"
156-
/>
157-
<AnimatePresence>
158-
{search && (
159-
<motion.button
160-
initial={{ opacity: 0 }}
161-
animate={{ opacity: 1, transition: { duration: 0.2 } }}
162-
exit={{ opacity: 0, transition: { duration: 0.5 } }}
163-
onClick={() => setSearch("")}
164-
className="absolute right-2.5 top-1/2 -translate-y-1/2 cursor-pointer text-white/50 transition-colors hover:text-white/80"
165-
aria-label="Clear search"
166-
>
167-
<svg
168-
width="20"
169-
height="20"
170-
viewBox="0 0 20 20"
171-
fill="none"
172-
className="block"
173-
>
174-
<path
175-
d="M5 5L15 15M15 5L5 15"
176-
stroke="currentColor"
177-
strokeWidth="2"
178-
strokeLinecap="round"
179-
/>
180-
</svg>
181-
</motion.button>
182-
)}
183-
</AnimatePresence>
184-
</div>
148+
<SearchInput
149+
value={search}
150+
onChange={setSearch}
151+
placeholder="Search"
152+
ariaLabel="Search ecosystem apps"
153+
className="sm:w-56"
154+
/>
185155
</div>
186156

187157
{/* App grid */}

0 commit comments

Comments
 (0)