diff --git a/src/app/manage/ClubCard.tsx b/src/app/manage/ClubCard.tsx index 7a6f8044..5aa01bb1 100644 --- a/src/app/manage/ClubCard.tsx +++ b/src/app/manage/ClubCard.tsx @@ -1,13 +1,25 @@ import { type SelectClub } from '@src/server/db/models'; +import Image from 'next/image'; import Link from 'next/link'; const ClubCard = ({ club }: { club: SelectClub }) => { return ( -

{club.name}

+

+ {club.name} +

+
+ {club.name} +
); }; diff --git a/src/app/manage/ManagePanel.tsx b/src/app/manage/ManagePanel.tsx index 8107b754..42f2d03f 100644 --- a/src/app/manage/ManagePanel.tsx +++ b/src/app/manage/ManagePanel.tsx @@ -1,23 +1,46 @@ 'use client'; -import { SearchBar } from '@src/components/SearchBar'; import { type RouterOutputs } from '@src/trpc/shared'; import ClubCard from './ClubCard'; +import { SearchIcon } from '@src/icons/Icons'; +import { useState } from 'react'; const ManagePanel = ({ clubs, }: { clubs: RouterOutputs['club']['getOfficerClubs']; }) => { + const [search, setSearch] = useState(''); + return ( <>
- +
+
+ + + + { + setSearch(e.target.value); + }} + /> +
+
- {clubs.map((club) => ( - - ))} + {clubs + .filter((club) => + club.name.toLowerCase().includes(search.toLowerCase()), + ) + .map((club) => ( + + ))}
); diff --git a/src/app/manage/page.tsx b/src/app/manage/page.tsx index 98185e12..e8d21ae3 100644 --- a/src/app/manage/page.tsx +++ b/src/app/manage/page.tsx @@ -1,3 +1,4 @@ +'use server'; import { BaseHeader } from '@src/components/BaseHeader'; import { getServerAuthSession } from '@src/server/auth'; import { api } from '@src/trpc/server'; @@ -22,7 +23,7 @@ export default async function Page() { New Club