Merge pull request #90 from bipproduction/amalia/2-agu-24

upd: divisi
This commit is contained in:
Amalia
2024-08-02 16:56:35 +08:00
committed by GitHub
5 changed files with 26 additions and 13 deletions

View File

@@ -2,8 +2,8 @@ import { CreateAdminDivision, CreateUsers, ViewCreateDivision } from '@/module/d
import React from 'react';
function Page({ searchParams }: { searchParams: { page: string } }) {
if (searchParams.page == "anggota")
return <CreateUsers grup=''/>
// if (searchParams.page == "anggota")
// return <CreateUsers grup=''/>
// if (searchParams.page == "pilih-admin")
// return <CreateAdminDivision />
return (

View File

@@ -81,7 +81,7 @@ export default function CreateDivision() {
if (isChooseAdmin) return <CreateAdminDivision data={body} />
if (isChooseAnggota) return <NavbarCreateUsers grup={body.idGroup} />
if (isChooseAnggota) return <NavbarCreateUsers grup={body.idGroup} onClose={() => { setChooseAnggota(false) }} />
return (
<Box>

View File

@@ -3,7 +3,7 @@ import NavbarCreateUsers from './ui/navbar_create_users';
export default function CreateUsers({ grup }: { grup: string }) {
return (
<NavbarCreateUsers grup={grup} />
<NavbarCreateUsers grup={grup} onClose={() => {}}/>
);
}

View File

@@ -7,6 +7,8 @@ import { useRouter } from 'next/navigation';
import React, { useState } from 'react';
import { HiMagnifyingGlass } from 'react-icons/hi2';
import { globalMemberDivision } from '../../lib/val_division';
import { TypeUser } from '@/module/user';
import { funGetUserByCookies } from '@/module/auth';
const dataUser = [
{
@@ -42,10 +44,11 @@ const dataUser = [
];
export default function NavbarCreateUsers({ grup }: { grup?: string }) {
export default function NavbarCreateUsers({ grup, onClose }: { grup?: string, onClose: (val: any) => void }) {
const router = useRouter()
const [selectedFiles, setSelectedFiles] = useState<Record<number, boolean>>({});
const member = useHookstate(globalMemberDivision)
const [dataMember, setDataMember] = useState<TypeUser>([])
const handleFileClick = (index: number) => {
setSelectedFiles((prevSelectedFiles) => ({
@@ -55,11 +58,14 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
};
async function loadData() {
const loadMember = await fetch(API_ADDRESS.apiGetAllUser + '&active=true&idGroup=' + grup);
const loadMember = await fetch(API_ADDRESS.apiGetAllUser + '&active=true&groupID=' + grup);
const user = await funGetUserByCookies();
const hasil = await loadMember.json()
setDataMember(hasil.filter((i: any) => i.id != user.id))
}
useShallowEffect(() => {
loadData()
}, []);
return (
@@ -86,7 +92,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
spacing={{ base: 20, sm: "xl" }}
verticalSpacing={{ base: "md", sm: "xl" }}
>
{dataUser.map((v, index) => {
{dataMember.map((v, index) => {
const isSelected = selectedFiles[index];
return (
<Box key={index} mb={10}>
@@ -100,7 +106,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
onClick={() => handleFileClick(index)}
>
<Center>
<Avatar src={v.img} alt="it's me" size="xl" />
<Avatar src={"https://i.pravatar.cc/1000?img=37"} alt="it's me" size="xl" />
</Center>
<Text mt={20} ta="center">
{v.name}
@@ -119,7 +125,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
size="lg"
radius={30}
fullWidth
onClick={() => router.push("/division/create")}
onClick={() => { onClose(true) }}
>
Simpan
</Button>

View File

@@ -1,18 +1,25 @@
import { prisma } from "@/module/_global";
import { funGetUserByCookies } from "@/module/auth";
import _ from "lodash";
import { NextRequest } from "next/server";
export async function getAllUser(req: NextRequest) {
try {
let fixGroup
const searchParams = req.nextUrl.searchParams;
const idGroup = searchParams.get("idGroup");;
const idVillage = "121212";
const idGroup = searchParams.get("groupID");
const active = searchParams.get("active");
const user = await funGetUserByCookies();
if (idGroup == null || idGroup == undefined) {
fixGroup = user.idGroup
} else {
fixGroup = idGroup
}
const users = await prisma.user.findMany({
where: {
isActive: active == "true" ? true : false,
idVillage: String(idVillage),
idGroup: String(idGroup),
},
select: {