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}
+
+
+
+
);
};
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