@@ -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 (
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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={() => {}}/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
Reference in New Issue
Block a user