# Project Collaboration

## feat
- Tampilan beranda & detailnya
- Tampilan status & detailnya
- Tampilan partisipasi & detailnya
- Tampilan grup diskusi & detailnya
### No issue
This commit is contained in:
2024-04-03 10:26:40 +08:00
parent d767307291
commit 4ab4a71961
87 changed files with 2656 additions and 34 deletions

View File

@@ -1,12 +1,23 @@
import { AdminForum_Main } from "@/app_modules/admin/forum";
import { adminForum_countLaporanKomentar } from "@/app_modules/admin/forum/fun/count/fun_count_laporan_komentar";
import { adminForum_countLaporanPosting } from "@/app_modules/admin/forum/fun/count/fun_count_laporan_posting";
import { adminForum_countPublish } from "@/app_modules/admin/forum/fun/count/fun_count_publish";
export default async function Page() {
// await new Promise((a, b) => {
// setTimeout(a, 4000);
// });
const countPublish = await adminForum_countPublish();
const countLaporanPosting = await adminForum_countLaporanPosting()
const countLaporanKomentar = await adminForum_countLaporanKomentar();
return (
<>
<AdminForum_Main />
<AdminForum_Main
countPublish={countPublish}
countLaporanPosting={countLaporanPosting}
countLaporanKomentar={countLaporanKomentar}
/>
</>
);
}

View File

@@ -0,0 +1,14 @@
import { LayoutColab_Create } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_Create>{children}</LayoutColab_Create>
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_Create } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_Create />
</>
);
}

View File

@@ -0,0 +1,14 @@
import { LayoutColab_DetailGrupDiskusi } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_DetailGrupDiskusi>{children}</LayoutColab_DetailGrupDiskusi>
</>
);
}

View File

@@ -0,0 +1,7 @@
import { Colab_DetailGrupDiskusi } from "@/app_modules/colab";
export default async function Page() {
return<>
<Colab_DetailGrupDiskusi/>
</>
}

View File

@@ -0,0 +1,14 @@
import { LayoutColab_MainDetail } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_MainDetail>{children}</LayoutColab_MainDetail>
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,13 @@
import { Colab_MainDetail } from "@/app_modules/colab";
import { User_getUserId } from "@/app_modules/fun_global/get_user_token";
export default async function Page({ params }: { params: { id: string } }) {
let colabId = params.id
const userLoginId = await User_getUserId()
return (
<>
<Colab_MainDetail />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { LayoutColab_DetailPartisipasiProyek } from "@/app_modules/colab";
export default async function Layout({ children }: { children: any }) {
return (
<>
<LayoutColab_DetailPartisipasiProyek>{children}</LayoutColab_DetailPartisipasiProyek>
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_DetailPartisipasiProyek } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_DetailPartisipasiProyek />
</>
);
}

View File

@@ -0,0 +1,15 @@
import { LayoutColab_DetailStatusPublish } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_DetailStatusPublish>{children}</LayoutColab_DetailStatusPublish>
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_DetailStatusPublish } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_DetailStatusPublish />
</>
);
}

View File

@@ -0,0 +1,16 @@
import { LayoutColab_DetailStatusReject } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_DetailStatusReject>
{children}
</LayoutColab_DetailStatusReject>
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_DetailStatusReject } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_DetailStatusReject />
</>
);
}

View File

@@ -0,0 +1,16 @@
import { LayoutColab_DetailStatusReview } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_DetailStatusReview>
{children}
</LayoutColab_DetailStatusReview>
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_DetailStatusReview } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_DetailStatusReview />
</>
);
}

View File

@@ -0,0 +1,14 @@
import { LayoutColab_Edit } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_Edit>{children}</LayoutColab_Edit>
</>
);
}

View File

@@ -0,0 +1,7 @@
import { Colab_Edit } from "@/app_modules/colab";
export default async function Page(){
return<>
<Colab_Edit/>
</>
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,7 @@
import { Colab_Beranda } from "@/app_modules/colab";
export default async function Page() {
return<>
<Colab_Beranda/>
</>
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import Colab_GrupDiskus from "@/app_modules/colab/main/grup";
export default async function Page() {
return (
<>
<Colab_GrupDiskus />
</>
);
}

View File

@@ -0,0 +1,14 @@
import { LayoutColab_Main } from "@/app_modules/colab";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<LayoutColab_Main>{children}</LayoutColab_Main>
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,10 @@
import { Colab_Proyek } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_Proyek />
</>
);
}

View File

@@ -0,0 +1,9 @@
import ComponentGlobal_V2_LoadingPage from "@/app_modules/component_global/loading_page_v2";
export default async function Page() {
return (
<>
<ComponentGlobal_V2_LoadingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_Status } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_Status />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_Splash } from "@/app_modules/colab";
export default function Page() {
return (
<>
<Colab_Splash />
</>
);
}

View File

@@ -1,3 +1,4 @@
import { Forum_Beranda } from "@/app_modules/forum";
import { forum_getListAllPosting } from "@/app_modules/forum/fun/get/get_list_all_posting";
import { User_getUserId } from "@/app_modules/fun_global/get_user_token";
@@ -7,7 +8,10 @@ export default async function Page() {
const userLoginId = await User_getUserId();
return (
<>
<Forum_Beranda listForum={listForum as any} userLoginId={userLoginId} />
<Forum_Beranda
listForum={listForum as any}
userLoginId={userLoginId}
/>
</>
);
}

View File

@@ -0,0 +1,19 @@
import ComponentColab_HeaderTamplate from "@/app_modules/colab/component/header_tamplate";
import { AppShell } from "@mantine/core";
import React from "react";
export default async function Layout({
children,
}: {
children: React.ReactNode;
}) {
return (
<>
<AppShell
header={<ComponentColab_HeaderTamplate title="Partisipasi Proyek" />}
>
{children}
</AppShell>
</>
);
}

View File

@@ -0,0 +1,9 @@
import { Colab_PartisipasiProyek } from "@/app_modules/colab";
export default async function Page() {
return (
<>
<Colab_PartisipasiProyek />
</>
);
}

View File

@@ -1,8 +1,11 @@
import MqttLoader from '@/util/mqtt_loader';
import RootStyleRegistry from './emotion';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<RootStyleRegistry>{children}</RootStyleRegistry>
<RootStyleRegistry>
<MqttLoader />
{children}</RootStyleRegistry>
);
}

View File

@@ -0,0 +1,24 @@
export const RouterColab = {
//splash
splash: "/dev/colab/splash",
//main
beranda: "/dev/colab/main/beranda",
status: "/dev/colab/main/status",
proyek: "/dev/colab/main/proyek",
grup_diskusi: "/dev/colab/main/grup",
// create
create: "/dev/colab/create",
edit: "/dev/colab/edit/",
//detail
main_detail: "/dev/colab/detail/main_detail/",
status_review: "/dev/colab/detail/status/review/",
status_reject: "/dev/colab/detail/status/reject/",
status_publish: "/dev/colab/detail/status/publish/",
partisipasi_proyek: "/dev/colab/detail/proyek/partisipasi/",
detail_grup: "/dev/colab/detail/grup/",
// proyek
};

View File

@@ -0,0 +1,3 @@
import { atomWithStorage } from "jotai/utils";
export const gs_coba_chat = atomWithStorage<any[]>("gs_coba_chat", []);

View File

@@ -1,8 +1,58 @@
import { Text } from "@mantine/core";
"use client";
import { Box, Paper, SimpleGrid, Stack, Text, TextInput } from "@mantine/core";
import ViewMakuro from "./_server/makuro_view";
import mqtt_client from "@/util/mqtt_client";
import { useState } from "react";
import { useAtom } from "jotai";
import { gs_coba_chat } from "./gs_coba";
export default function Page() {
return <>
<ViewMakuro />
const [data1, setData1] = useState("");
const [data2, setData2] = useState("");
const [msg, setMsg] = useAtom(gs_coba_chat);
return (
<>
<SimpleGrid cols={2} mt={"lg"}>
<Stack align="center" justify="center">
<TextInput
label="User 1"
value={data1}
onChange={(val) => setData1(val.currentTarget.value)}
/>
<button
onClick={() => {
mqtt_client.publish("example_hipmi", data1);
setData1("");
}}
>
kirim
</button>
</Stack>
<Stack align="center" justify="center">
<TextInput
label="User 2"
value={data2}
onChange={(val) => setData2(val.currentTarget.value)}
/>
<button
onClick={() => {
mqtt_client.publish("example_hipmi", data2);
setData2("");
}}
>
kirim
</button>
</Stack>
</SimpleGrid>
<Stack align="center" justify="center" mt={"xl"}>
<Paper withBorder shadow="lg" p={"lg"}>
{msg}
</Paper>
</Stack>
{/* <ViewMakuro /> */}
</>
}
);
}