Files
hipmi/src/app_modules/user_search/main/index.tsx
Bagasbanuna02 7f3196afef #Job Vacancy
## feat
- Tampilan user
### No Issuue
2024-02-21 15:17:34 +08:00

113 lines
3.3 KiB
TypeScript

"use client";
import { RouterProfile } from "@/app/lib/router_hipmi/router_katalog";
import { MODEL_USER } from "@/app_modules/home/model/interface";
import {
ActionIcon,
Avatar,
Box,
Center,
Divider,
Grid,
Paper,
Stack,
Text,
TextInput,
Title,
} from "@mantine/core";
import { IconChevronRight, IconSearch } from "@tabler/icons-react";
import { useState } from "react";
import { UserSearch_searchByName } from "../fun/search/fun_search_by_name";
import { useRouter } from "next/navigation";
import ComponentGlobal_MaintenanceInformation from "@/app_modules/component_global/maintenance_information";
export default function UserSearch_MainView({
listUser,
}: {
listUser: MODEL_USER[];
}) {
const router = useRouter();
const [user, setUser] = useState(listUser);
async function onSearch(name: string) {
await UserSearch_searchByName(name).then((res) => setUser(res as any));
}
// return (
// <>
// <Center h={"50vh"}>
// <ComponentGlobal_MaintenanceInformation/>
// </Center>
// </>
// );
return (
<>
<Box>
{/* <pre>{JSON.stringify(user, null,2)}</pre>r */}
<Stack spacing={"md"}>
<TextInput
icon={<IconSearch size={20} />}
placeholder="Masukan nama pegguna"
onChange={(val) => onSearch(val.target.value)}
/>
{!user ? (
""
) : (
<Box>
{user?.map((e) =>
e.Profile === null ? (
""
) : (
<Stack key={e.id} spacing={"xs"} mt={"xs"}>
<Grid >
<Grid.Col span={2}>
<Center h={"100%"}>
<Avatar
sx={{borderStyle: "solid", borderWidth: "0.5px"}}
radius={"xl"}
size={"md"}
src={
RouterProfile.api_foto_profile +
`${e?.Profile?.imagesId}`
}
/>
</Center>
</Grid.Col>
<Grid.Col span={"auto"}>
<Stack spacing={0}>
<Text fw={"bold"} truncate>
{e?.Profile?.name}
</Text>
<Text fz={"sm"} fs={"italic"}>
+{e?.nomor}
</Text>
</Stack>
</Grid.Col>
<Grid.Col span={2}>
<Center h={"100%"}>
<ActionIcon
variant="transparent"
onClick={() =>
router.push(
RouterProfile.katalog + `${e?.Profile?.id}`
)
}
>
<IconChevronRight />
</ActionIcon>
</Center>
</Grid.Col>
</Grid>
<Divider />
</Stack>
)
)}
</Box>
)}
</Stack>
</Box>
</>
);
}