diff --git a/src/app/api/division/route.ts b/src/app/api/division/route.ts
index 855b32e..9e4e5d6 100644
--- a/src/app/api/division/route.ts
+++ b/src/app/api/division/route.ts
@@ -18,6 +18,7 @@ export async function GET(request: Request) {
const roleUser = user.idUserRole
const { searchParams } = new URL(request.url);
const idGroup = searchParams.get("group");
+ const kategori = searchParams.get("cat");
const name = searchParams.get('search');
const page = searchParams.get('page');
const active = searchParams.get("active");
@@ -30,6 +31,7 @@ export async function GET(request: Request) {
}
+ // JIKA (ROLE BUKAN USER DAN COADMIN) ATAU SEMUA ROLE DG KATEGORI == SEMUA
let kondisi: any = {
isActive: active == 'false' ? false : true,
idVillage: String(villaId),
@@ -40,19 +42,23 @@ export async function GET(request: Request) {
}
}
+
+ // JIKA ROLE = USER ATAU COADMIN DAN KATEGORI = MINE (DIVISI SAYA)
if (roleUser != "supadmin" && roleUser != "cosupadmin" && roleUser != "admin") {
- kondisi = {
- isActive: active == 'false' ? false : true,
- idVillage: String(villaId),
- idGroup: grup,
- name: {
- contains: (name == undefined || name == "null") ? "" : name,
- mode: "insensitive"
- },
- DivisionMember: {
- some: {
- isActive: true,
- idUser: String(user.id)
+ if (kategori != "semua") {
+ kondisi = {
+ isActive: active == 'false' ? false : true,
+ idVillage: String(villaId),
+ idGroup: grup,
+ name: {
+ contains: (name == undefined || name == "null") ? "" : name,
+ mode: "insensitive"
+ },
+ DivisionMember: {
+ some: {
+ isActive: true,
+ idUser: String(user.id)
+ }
}
}
}
diff --git a/src/module/division_new/ui/list_division.tsx b/src/module/division_new/ui/list_division.tsx
index ca7882b..67001df 100644
--- a/src/module/division_new/ui/list_division.tsx
+++ b/src/module/division_new/ui/list_division.tsx
@@ -30,6 +30,7 @@ export default function ListDivision() {
const [isRefresh, setRefresh] = useState(false)
const notifLoadPage = useHookstate(globalNotifPage)
const status = searchParams.get('active')
+ const kategori = searchParams.get('cat')
const handleList = () => {
@@ -43,7 +44,7 @@ export default function ListDivision() {
if (isPage == 1) {
setData([])
}
- const response = await funGetAllDivision('?active=' + status + '&search=' + searchQuery + '&group=' + group + '&page=' + isPage)
+ const response = await funGetAllDivision('?active=' + status + '&search=' + searchQuery + '&group=' + group + '&page=' + isPage + '&cat=' + kategori);
if (response.success) {
setJumlah(response.total)
setNameGroup(response.filter.name)
@@ -72,7 +73,7 @@ export default function ListDivision() {
useShallowEffect(() => {
setPage(1)
fetchData(true)
- }, [status, searchQuery])
+ }, [status, searchQuery, kategori])
diff --git a/src/module/division_new/ui/tab_list_division.tsx b/src/module/division_new/ui/tab_list_division.tsx
index 0f7ce8d..656a7a7 100644
--- a/src/module/division_new/ui/tab_list_division.tsx
+++ b/src/module/division_new/ui/tab_list_division.tsx
@@ -4,7 +4,7 @@ import { useHookstate } from "@hookstate/core";
import { Box, rem, Tabs } from "@mantine/core";
import { useRouter, useSearchParams } from "next/navigation";
import { IoMdCheckmarkCircleOutline } from "react-icons/io";
-import { IoCloseCircleOutline } from "react-icons/io5";
+import { IoCloseCircleOutline, IoFileTrayOutline, IoFileTrayStackedOutline } from "react-icons/io5";
import ListDivision from "./list_division";
export default function TabListDivision() {
@@ -13,6 +13,7 @@ export default function TabListDivision() {
const searchParams = useSearchParams();
const status = searchParams.get("active");
const group = searchParams.get("group");
+ const kategori = searchParams.get("cat");
const tema = useHookstate(TEMA)
const roleLogin = useHookstate(globalRole)
@@ -22,40 +23,72 @@ export default function TabListDivision() {
variant="pills"
color={tema.get().bgFiturHome}
radius="xl"
- defaultValue={status == "false" ? "false" : "true"}
+ defaultValue={status == "false" || kategori == "semua" ? "false" : "true"}
>
{
- roleLogin.get() != '' ?
- (roleLogin.get() != "user" && roleLogin.get() != "coadmin") &&
-
- }
- onClick={() => {
- router.push("/division?active=true&group=" + group);
+ roleLogin.get() != ''
+ ?
+ (roleLogin.get() != "user" && roleLogin.get() != "coadmin")
+ ?
+
- Aktif
-
- }
- onClick={() => {
- router.push("/division?active=false&group=" + group);
+ }
+ onClick={() => {
+ router.push("/division?active=true&group=" + group);
+ }}
+ >
+ Aktif
+
+ }
+ onClick={() => {
+ router.push("/division?active=false&group=" + group);
+ }}
+ >
+ Tidak Aktif
+
+
+ :
+
- Tidak Aktif
-
-
+ }
+ onClick={() => {
+ router.push("/division");
+ }}
+ >
+ Divisi Saya
+
+ }
+ onClick={() => {
+ router.push("/division?cat=semua");
+ }}
+ >
+ Semua Divisi
+
+
: <>>
}