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'; import React from 'react';
function Page({ searchParams }: { searchParams: { page: string } }) { function Page({ searchParams }: { searchParams: { page: string } }) {
if (searchParams.page == "anggota") // if (searchParams.page == "anggota")
return <CreateUsers grup=''/> // return <CreateUsers grup=''/>
// if (searchParams.page == "pilih-admin") // if (searchParams.page == "pilih-admin")
// return <CreateAdminDivision /> // return <CreateAdminDivision />
return ( return (

View File

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

View File

@@ -3,7 +3,7 @@ import NavbarCreateUsers from './ui/navbar_create_users';
export default function CreateUsers({ grup }: { grup: string }) { export default function CreateUsers({ grup }: { grup: string }) {
return ( 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 React, { useState } from 'react';
import { HiMagnifyingGlass } from 'react-icons/hi2'; import { HiMagnifyingGlass } from 'react-icons/hi2';
import { globalMemberDivision } from '../../lib/val_division'; import { globalMemberDivision } from '../../lib/val_division';
import { TypeUser } from '@/module/user';
import { funGetUserByCookies } from '@/module/auth';
const dataUser = [ 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 router = useRouter()
const [selectedFiles, setSelectedFiles] = useState<Record<number, boolean>>({}); const [selectedFiles, setSelectedFiles] = useState<Record<number, boolean>>({});
const member = useHookstate(globalMemberDivision) const member = useHookstate(globalMemberDivision)
const [dataMember, setDataMember] = useState<TypeUser>([])
const handleFileClick = (index: number) => { const handleFileClick = (index: number) => {
setSelectedFiles((prevSelectedFiles) => ({ setSelectedFiles((prevSelectedFiles) => ({
@@ -55,11 +58,14 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
}; };
async function loadData() { 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(() => { useShallowEffect(() => {
loadData()
}, []); }, []);
return ( return (
@@ -86,7 +92,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
spacing={{ base: 20, sm: "xl" }} spacing={{ base: 20, sm: "xl" }}
verticalSpacing={{ base: "md", sm: "xl" }} verticalSpacing={{ base: "md", sm: "xl" }}
> >
{dataUser.map((v, index) => { {dataMember.map((v, index) => {
const isSelected = selectedFiles[index]; const isSelected = selectedFiles[index];
return ( return (
<Box key={index} mb={10}> <Box key={index} mb={10}>
@@ -100,7 +106,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
onClick={() => handleFileClick(index)} onClick={() => handleFileClick(index)}
> >
<Center> <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> </Center>
<Text mt={20} ta="center"> <Text mt={20} ta="center">
{v.name} {v.name}
@@ -119,7 +125,7 @@ export default function NavbarCreateUsers({ grup }: { grup?: string }) {
size="lg" size="lg"
radius={30} radius={30}
fullWidth fullWidth
onClick={() => router.push("/division/create")} onClick={() => { onClose(true) }}
> >
Simpan Simpan
</Button> </Button>

View File

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