MCPcopy Create free account
hub / github.com/code100x/daily-code / LinkProblems

Function LinkProblems

apps/web/components/admin/LinkProblems.tsx:20–67  ·  view source on GitHub ↗
({ tracks }: { tracks: LinkProblemsProps[] })

Source from the content-addressed store, hash-verified

18}
19
20export const LinkProblems = ({ tracks }: { tracks: LinkProblemsProps[] }) => {
21 const [search, setSearch] = useState("");
22 const [filteredTracks, setFilteredTracks] = useState(tracks);
23
24 useEffect(() => {
25 setFilteredTracks(tracks.filter((track) => track.title.toLowerCase().includes(search.toLowerCase())));
26 }, [search, tracks]);
27
28 return (
29 <div>
30 <div className="flex justify-center">
31 <MagnifyingGlassIcon className="relative left-6 top-2.5 h-4 w-4 text-muted-foreground" />
32 <Input
33 type="search"
34 placeholder="Search Tracks..."
35 className="w-full appearance-none bg-background pl-8 shadow-none md:w-2/3 lg:w-1/3"
36 onChange={(e) => setSearch(e.target.value)}
37 />
38 </div>
39 <div className="flex justify-center">
40 <ScrollArea className="w-2/3 h-screen m-2">
41 <div className="space-y-4">
42 {filteredTracks.map((track) => (
43 <Card key={track.id}>
44 <div className="grid grid-cols-6">
45 <img
46 src={track.image}
47 className="flex m-4 min-h-[130px] sm:h-[130px] min-w-[130px] sm:w-[130px] rounded-xl"
48 />
49 <div className="col-span-5">
50 <CardHeader>
51 <div className="flex justify-between">
52 <CardTitle>{track.title}</CardTitle>
53 <LinkCard track={track} />
54 </div>
55 <CardDescription>{track.description}</CardDescription>
56 </CardHeader>
57 <CardContent>{`hidden: ${track.hidden}`}</CardContent>
58 </div>
59 </div>
60 </Card>
61 ))}
62 </div>
63 </ScrollArea>
64 </div>
65 </div>
66 );
67};

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected