misc: addressed comments

This commit is contained in:
Sheen Capadngan
2024-07-09 01:11:24 +08:00
parent d0f0dca3a3
commit 2c6decaf6e
2 changed files with 68 additions and 69 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ export const registerAdminRouter = async (server: FastifyZodProvider) => {
querystring: z.object({ querystring: z.object({
searchTerm: z.string().default(""), searchTerm: z.string().default(""),
offset: z.coerce.number().default(0), offset: z.coerce.number().default(0),
limit: z.coerce.number().default(20) limit: z.coerce.number().max(100).default(20)
}), }),
response: { response: {
200: z.object({ 200: z.object({
@@ -24,10 +24,8 @@ import { useAdminDeleteUser, useAdminGetUsers } from "@app/hooks/api";
import { UsePopUpState } from "@app/hooks/usePopUp"; import { UsePopUpState } from "@app/hooks/usePopUp";
const UserPanelTable = ({ const UserPanelTable = ({
searchUserFilter,
handlePopUpOpen handlePopUpOpen
}: { }: {
searchUserFilter: string;
handlePopUpOpen: ( handlePopUpOpen: (
popUpName: keyof UsePopUpState<["removeUser"]>, popUpName: keyof UsePopUpState<["removeUser"]>,
data: { data: {
@@ -36,6 +34,7 @@ const UserPanelTable = ({
} }
) => void; ) => void;
}) => { }) => {
const [searchUserFilter, setSearchUserFilter] = useState("");
const { user } = useUser(); const { user } = useUser();
const userId = user?.id || ""; const userId = user?.id || "";
const debounedSearchTerm = useDebounce(searchUserFilter, 500); const debounedSearchTerm = useDebounce(searchUserFilter, 500);
@@ -47,6 +46,13 @@ const UserPanelTable = ({
const isEmpty = !isLoading && !data?.pages?.[0].length; const isEmpty = !isLoading && !data?.pages?.[0].length;
return ( return (
<>
<Input
value={searchUserFilter}
onChange={(e) => setSearchUserFilter(e.target.value)}
leftIcon={<FontAwesomeIcon icon={faMagnifyingGlass} />}
placeholder="Search users..."
/>
<div className="mt-4"> <div className="mt-4">
<TableContainer> <TableContainer>
<Table> <Table>
@@ -105,6 +111,7 @@ const UserPanelTable = ({
</Button> </Button>
)} )}
</div> </div>
</>
); );
}; };
@@ -113,8 +120,6 @@ export const UserPanel = () => {
"removeUser" "removeUser"
] as const); ] as const);
const [searchUserFilter, setSearchUserFilter] = useState("");
const { mutateAsync: deleteUser } = useAdminDeleteUser(); const { mutateAsync: deleteUser } = useAdminDeleteUser();
const handleRemoveUser = async () => { const handleRemoveUser = async () => {
@@ -141,13 +146,7 @@ export const UserPanel = () => {
<div className="mb-4"> <div className="mb-4">
<p className="text-xl font-semibold text-mineshaft-100">Users</p> <p className="text-xl font-semibold text-mineshaft-100">Users</p>
</div> </div>
<Input <UserPanelTable handlePopUpOpen={handlePopUpOpen} />
value={searchUserFilter}
onChange={(e) => setSearchUserFilter(e.target.value)}
leftIcon={<FontAwesomeIcon icon={faMagnifyingGlass} />}
placeholder="Search users..."
/>
<UserPanelTable searchUserFilter={searchUserFilter} handlePopUpOpen={handlePopUpOpen} />
<DeleteActionModal <DeleteActionModal
isOpen={popUp.removeUser.isOpen} isOpen={popUp.removeUser.isOpen}
deleteKey="remove" deleteKey="remove"