diff --git a/.env b/.env
index 24829e2..512b20e 100644
--- a/.env
+++ b/.env
@@ -4,4 +4,5 @@
# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB.
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
-DATABASE_URL="postgresql://bip:Production_123d@localhost:5433/sistem_desa_mandiri?schema=public"
\ No newline at end of file
+DATABASE_URL="postgresql://bip:Production_123d@localhost:5433/sistem_desa_mandiri?schema=public"
+URL="http://localhost:3000"
\ No newline at end of file
diff --git a/src/app/(application)/(fitur-division)/calender/create/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/calender/create/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/calender/create/page.tsx
diff --git a/src/app/(application)/(fitur-division)/calender/history/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/calender/history/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/calender/history/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/calender/history/page.tsx
diff --git a/src/app/(application)/(fitur-division)/calender/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/calender/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/calender/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/calender/page.tsx
diff --git a/src/app/(application)/(fitur-division)/calender/update/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/calender/update/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/calender/update/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/calender/update/page.tsx
diff --git a/src/app/(application)/(fitur-division)/discussion/[id]/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/discussion/[id]/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/page.tsx
diff --git a/src/app/(application)/(fitur-division)/discussion/create/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/discussion/create/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/discussion/create/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/discussion/create/page.tsx
diff --git a/src/app/(application)/(fitur-division)/discussion/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/discussion/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/discussion/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/discussion/page.tsx
diff --git a/src/app/(application)/(fitur-division)/discussion/edit/[id]/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/discussion/update/[detail]/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/discussion/edit/[id]/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/discussion/update/[detail]/page.tsx
diff --git a/src/app/(application)/(fitur-division)/document/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/document/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/document/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/document/page.tsx
diff --git a/src/app/(application)/(fitur-division)/task/[id]/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/task/[detail]/page.tsx
similarity index 87%
rename from src/app/(application)/(fitur-division)/task/[id]/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/task/[detail]/page.tsx
index 775b997..915f30b 100644
--- a/src/app/(application)/(fitur-division)/task/[id]/page.tsx
+++ b/src/app/(application)/division/[id]/(fitur-division)/task/[detail]/page.tsx
@@ -6,4 +6,4 @@ function Page() {
)
}
-export default Page
+export default Page
\ No newline at end of file
diff --git a/src/app/(application)/(fitur-division)/task/create/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/task/create/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/task/create/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/task/create/page.tsx
diff --git a/src/app/(application)/(fitur-division)/task/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/task/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/task/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/task/page.tsx
diff --git a/src/app/(application)/(fitur-division)/task/update/[id]/page.tsx b/src/app/(application)/division/[id]/(fitur-division)/task/update/[detail]/page.tsx
similarity index 100%
rename from src/app/(application)/(fitur-division)/task/update/[id]/page.tsx
rename to src/app/(application)/division/[id]/(fitur-division)/task/update/[detail]/page.tsx
diff --git a/src/app/(application)/division/[id]/page.tsx b/src/app/(application)/division/[id]/page.tsx
index 7493c94..9ba7527 100644
--- a/src/app/(application)/division/[id]/page.tsx
+++ b/src/app/(application)/division/[id]/page.tsx
@@ -1,9 +1,9 @@
import { ViewDetailDivision } from '@/module/division_new';
import React from 'react';
-function Page() {
+function Page({ params }: { params: { id: string } }) {
return (
-
+
);
}
diff --git a/src/module/_global/bin/api_address.ts b/src/module/_global/bin/api_address.ts
index b1f6efa..5d0584a 100644
--- a/src/module/_global/bin/api_address.ts
+++ b/src/module/_global/bin/api_address.ts
@@ -38,5 +38,7 @@ export const API_ADDRESS = {
// Division
"apiGetAllDivision": "/api/division/get?path=get-all-division",
+ "apiGetOneDivision": "/api/division/get?path=get-one-division",
+ "apiGetOneDetailDivision": "/api/division/get?path=get-one-detail-division",
"apiCreateDivision": "/api/division/post?path=create-division",
}
\ No newline at end of file
diff --git a/src/module/division_new/api/api_index.ts b/src/module/division_new/api/api_index.ts
index d934ac5..6e5225d 100644
--- a/src/module/division_new/api/api_index.ts
+++ b/src/module/division_new/api/api_index.ts
@@ -1,5 +1,6 @@
import getAllDivision from "./get/getAllDivision";
import getOneDivision from "./get/getOneDivision";
+import getOneDetailDivision from "./get/getOneDetailDivision";
import createDivision from "./post/createDivision";
import deleteDivision from "./post/deleteDivision";
import updateDivision from "./post/updateDivision";
@@ -30,4 +31,9 @@ export const API_INDEX_DIVISION = [
method: "GET",
bin: getOneDivision,
},
+ {
+ path: "get-one-detail-division",
+ method: "GET",
+ bin: getOneDetailDivision,
+ },
];
diff --git a/src/module/division_new/api/get/getOneDetailDivision.ts b/src/module/division_new/api/get/getOneDetailDivision.ts
new file mode 100644
index 0000000..c9e31c0
--- /dev/null
+++ b/src/module/division_new/api/get/getOneDetailDivision.ts
@@ -0,0 +1,41 @@
+import { prisma } from '@/module/_global';
+import { NextRequest } from "next/server";
+
+export default async function getOneDetailDivision(req: NextRequest) {
+ try {
+ const searchParams = req.nextUrl.searchParams
+ const id = searchParams.get('divisionId');
+ const division = await prisma.division.findUnique({
+ where: {
+ id: String(id),
+ },
+ select: {
+ id: true,
+ name: true,
+ },
+ });
+
+ const member = await prisma.divisionMember.findMany({
+ where: {
+ idDivision: String(id),
+ },
+ select: {
+ idUser: true,
+ isLeader: true
+ }
+ })
+
+ const allData = {
+ division: division,
+ member: member
+ }
+ return Response.json(allData);
+ } catch (error) {
+ console.error(error);
+ return Response.json(
+ { message: "Internal Server Error", success: false },
+ { status: 500 }
+ );
+ }
+
+}
\ No newline at end of file
diff --git a/src/module/division_new/components/detail_division/detail_division.tsx b/src/module/division_new/components/detail_division/detail_division.tsx
index e448eb2..ab2585d 100644
--- a/src/module/division_new/components/detail_division/detail_division.tsx
+++ b/src/module/division_new/components/detail_division/detail_division.tsx
@@ -9,18 +9,19 @@ import NavbarDetailDivision from '../ui/navbar_detail_division';
export default function DetailDivision() {
return (
-
-
-
-
-
-
-
-
-
-
-
-
+ <>>
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
);
}
diff --git a/src/module/division_new/components/detail_division/feature_detail_division.tsx b/src/module/division_new/components/detail_division/feature_detail_division.tsx
index 19e26f2..2fc5ad8 100644
--- a/src/module/division_new/components/detail_division/feature_detail_division.tsx
+++ b/src/module/division_new/components/detail_division/feature_detail_division.tsx
@@ -11,7 +11,7 @@ import { IoCalendarOutline } from "react-icons/io5";
import { LuFileSignature } from "react-icons/lu";
import { useRouter } from 'next/navigation';
-export default function FeatureDetailDivision() {
+export default function FeatureDetailDivision({ id }: { id: string }) {
const router = useRouter()
return (
@@ -21,29 +21,29 @@ export default function FeatureDetailDivision() {
style={{
alignItems: "center",
alignContent: "center"
- }}
+ }}
>
router.push('/task')}>
+ }} onClick={() => router.push(id + '/task')}>
-
-
-
+
+
+
-
+
Tugas
23 Tugas
-
+
@@ -55,20 +55,20 @@ export default function FeatureDetailDivision() {
}} onClick={() => router.push('/document')}>
-
-
-
+
+
+
-
+
Dokumen
23 Tugas
-
+
@@ -80,20 +80,20 @@ export default function FeatureDetailDivision() {
}} onClick={() => router.push('/discussion')}>
-
-
-
+
+
+
-
+
Diskusi
23 Tugas
-
+
@@ -105,20 +105,20 @@ export default function FeatureDetailDivision() {
}} onClick={() => router.push('/calender')}>
-
-
-
+
+
+
-
+
Kalender
23 Tugas
-
+
diff --git a/src/module/division_new/components/ui/navbar_detail_division.tsx b/src/module/division_new/components/ui/navbar_detail_division.tsx
index 41dcb28..7a13db7 100644
--- a/src/module/division_new/components/ui/navbar_detail_division.tsx
+++ b/src/module/division_new/components/ui/navbar_detail_division.tsx
@@ -5,11 +5,11 @@ import { useState } from "react";
import { HiMenu } from "react-icons/hi";
import DrawerDetailDivision from "./drawer_detail_division";
-export default function NavbarDetailDivision() {
+export default function NavbarDetailDivision({ title }: { title: string }) {
const [openDrawer, setOpenDrawer] = useState(false)
return (
<>
- (setOpenDrawer(true))} bg={WARNA.bgIcon} size="lg" radius="lg" aria-label="Settings">
diff --git a/src/module/division_new/view/view_detail_division.tsx b/src/module/division_new/view/view_detail_division.tsx
index fe46056..90ee5cc 100644
--- a/src/module/division_new/view/view_detail_division.tsx
+++ b/src/module/division_new/view/view_detail_division.tsx
@@ -1,9 +1,33 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import DetailDivision from '../components/detail_division/detail_division';
+import { Box, Stack } from '@mantine/core';
+import CarouselDivision from '../components/detail_division/carousel_division';
+import FeatureDetailDivision from '../components/detail_division/feature_detail_division';
+import ListDiscussionOnDetailDivision from '../components/detail_division/list_discussion';
+import ListDocumentOnDetailDivision from '../components/detail_division/list_document';
+import ListTaskOnDetailDivision from '../components/detail_division/list_task';
+import NavbarDetailDivision from '../components/ui/navbar_detail_division';
+import { API_ADDRESS } from '@/module/_global';
+
+export default async function ViewDetailDivision({ id }: { id: string }) {
+
+ const res = await fetch(`${process.env.URL + API_ADDRESS.apiGetOneDetailDivision}&divisionId=${id}`);
+ const data = await res.json();
-export default function ViewDetailDivision() {
return (
-
+ //
+
+
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/src/module/group/components/ui/edit_drawer_group.tsx b/src/module/group/components/ui/edit_drawer_group.tsx
index 0d9c735..049ea01 100644
--- a/src/module/group/components/ui/edit_drawer_group.tsx
+++ b/src/module/group/components/ui/edit_drawer_group.tsx
@@ -40,7 +40,7 @@ export default function EditDrawerGroup({
}
}
-
+
useEffect(() => {
getOneGroup();