Skip to content

Commit 2339e60

Browse files
authored
fix: search matching aggregate metrics on people page (CircuitVerse#161)
1 parent f893e4b commit 2339e60

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

app/people/page.tsx

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { useState, useEffect, useMemo } from "react";
44
import { Button } from "@/components/ui/button";
55
import { Card, CardContent } from "@/components/ui/card";
6-
import { Loader2, Activity } from "lucide-react";
6+
import { Loader2, Activity, Users } from "lucide-react";
77
import { PeopleStats } from "@/components/people/PeopleStats";
88
import { PeopleGrid } from "@/components/people/PeopleGrid";
99
import { ContributorDetail } from "@/components/people/ContributorDetail";
@@ -262,30 +262,16 @@ const filteredPeople = useMemo(() => {
262262
/>
263263

264264
<div className="mb-8">
265-
{/* TITLE + SEARCH ROW */}
266-
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-4">
265+
{/* TITLE */}
266+
<div className="mb-4">
267267
<h2 className="text-3xl font-bold">
268268
<span className="text-black dark:text-white">Community </span>
269269
<span className="text-[#42B883]">Contributors</span>
270270
</h2>
271-
272-
{/* SEARCH BAR — RIGHT SIDE */}
273-
<div className="relative w-full sm:w-72">
274-
<Search className="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
275-
<Input
276-
type="text"
277-
aria-label="Search contributors by name or username"
278-
placeholder="Search contributors..."
279-
value={searchQuery}
280-
onChange={(e) => setSearchQuery(e.target.value)}
281-
className="pl-9 h-9"
282-
/>
283-
284-
</div>
285271
</div>
286272

287273
{/* DESCRIPTION */}
288-
<p className="text-lg text-muted-foreground max-w-3xl">
274+
<p className="text-lg text-muted-foreground max-w-3xl mb-6">
289275
Amazing community members who contribute to CircuitVerse through
290276
code, documentation, and more.
291277
</p>
@@ -298,6 +284,28 @@ const filteredPeople = useMemo(() => {
298284
onContributorClick={handleContributorClick}
299285
/>
300286

287+
<div className="flex items-center justify-between gap-4 py-8">
288+
<div className="flex items-center gap-2">
289+
<Users className="w-5 h-5 text-muted-foreground" />
290+
<span className="text-2xl font-bold text-foreground">
291+
{filteredPeople.length}{' '}
292+
<span className="text-[#42B883]">
293+
{filteredPeople.length === 1 ? 'Contributor' : 'Contributors'}
294+
</span>
295+
{searchQuery && <span className="text-foreground"> found</span>}
296+
</span>
297+
</div>
298+
<div className="relative w-full sm:w-72">
299+
<Search className="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" />
300+
<Input
301+
type="text"
302+
placeholder="Search contributors..."
303+
value={searchQuery}
304+
onChange={(e) => setSearchQuery(e.target.value)}
305+
className="pl-9 h-10"
306+
/>
307+
</div>
308+
</div>
301309
<PeopleGrid
302310
contributors={filteredPeople}
303311
onContributorClick={handleContributorClick}

0 commit comments

Comments
 (0)