# Project Collaboration
## feat - Tampilan beranda & detailnya - Tampilan status & detailnya - Tampilan partisipasi & detailnya - Tampilan grup diskusi & detailnya ### No issue
This commit is contained in:
@@ -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}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
14
src/app/dev/colab/create/layout.tsx
Normal file
14
src/app/dev/colab/create/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/create/page.tsx
Normal file
9
src/app/dev/colab/create/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_Create } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_Create />
|
||||
</>
|
||||
);
|
||||
}
|
||||
14
src/app/dev/colab/detail/grup/[id]/layout.tsx
Normal file
14
src/app/dev/colab/detail/grup/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
7
src/app/dev/colab/detail/grup/[id]/page.tsx
Normal file
7
src/app/dev/colab/detail/grup/[id]/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Colab_DetailGrupDiskusi } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return<>
|
||||
<Colab_DetailGrupDiskusi/>
|
||||
</>
|
||||
}
|
||||
14
src/app/dev/colab/detail/main_detail/[id]/layout.tsx
Normal file
14
src/app/dev/colab/detail/main_detail/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/main_detail/[id]/loading.tsx
Normal file
9
src/app/dev/colab/detail/main_detail/[id]/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
13
src/app/dev/colab/detail/main_detail/[id]/page.tsx
Normal file
13
src/app/dev/colab/detail/main_detail/[id]/page.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { Colab_DetailPartisipasiProyek } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_DetailPartisipasiProyek />
|
||||
</>
|
||||
);
|
||||
}
|
||||
15
src/app/dev/colab/detail/status/publish/[id]/layout.tsx
Normal file
15
src/app/dev/colab/detail/status/publish/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/publish/[id]/loading.tsx
Normal file
9
src/app/dev/colab/detail/status/publish/[id]/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/publish/[id]/page.tsx
Normal file
9
src/app/dev/colab/detail/status/publish/[id]/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_DetailStatusPublish } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_DetailStatusPublish />
|
||||
</>
|
||||
);
|
||||
}
|
||||
16
src/app/dev/colab/detail/status/reject/[id]/layout.tsx
Normal file
16
src/app/dev/colab/detail/status/reject/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/reject/[id]/loading.tsx
Normal file
9
src/app/dev/colab/detail/status/reject/[id]/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/reject/[id]/page.tsx
Normal file
9
src/app/dev/colab/detail/status/reject/[id]/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_DetailStatusReject } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_DetailStatusReject />
|
||||
</>
|
||||
);
|
||||
}
|
||||
16
src/app/dev/colab/detail/status/review/[id]/layout.tsx
Normal file
16
src/app/dev/colab/detail/status/review/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/review/[id]/loading.tsx
Normal file
9
src/app/dev/colab/detail/status/review/[id]/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/detail/status/review/[id]/page.tsx
Normal file
9
src/app/dev/colab/detail/status/review/[id]/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_DetailStatusReview } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_DetailStatusReview />
|
||||
</>
|
||||
);
|
||||
}
|
||||
14
src/app/dev/colab/edit/[id]/layout.tsx
Normal file
14
src/app/dev/colab/edit/[id]/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
7
src/app/dev/colab/edit/[id]/page.tsx
Normal file
7
src/app/dev/colab/edit/[id]/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Colab_Edit } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page(){
|
||||
return<>
|
||||
<Colab_Edit/>
|
||||
</>
|
||||
}
|
||||
9
src/app/dev/colab/main/beranda/loading.tsx
Normal file
9
src/app/dev/colab/main/beranda/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
7
src/app/dev/colab/main/beranda/page.tsx
Normal file
7
src/app/dev/colab/main/beranda/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import { Colab_Beranda } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return<>
|
||||
<Colab_Beranda/>
|
||||
</>
|
||||
}
|
||||
9
src/app/dev/colab/main/grup/loading.tsx
Normal file
9
src/app/dev/colab/main/grup/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/main/grup/page.tsx
Normal file
9
src/app/dev/colab/main/grup/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import Colab_GrupDiskus from "@/app_modules/colab/main/grup";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_GrupDiskus />
|
||||
</>
|
||||
);
|
||||
}
|
||||
14
src/app/dev/colab/main/layout.tsx
Normal file
14
src/app/dev/colab/main/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/main/proyek/loading.tsx
Normal file
9
src/app/dev/colab/main/proyek/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
10
src/app/dev/colab/main/proyek/page.tsx
Normal file
10
src/app/dev/colab/main/proyek/page.tsx
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Colab_Proyek } from "@/app_modules/colab";
|
||||
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_Proyek />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/main/status/loading.tsx
Normal file
9
src/app/dev/colab/main/status/loading.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/main/status/page.tsx
Normal file
9
src/app/dev/colab/main/status/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_Status } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_Status />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/colab/splash/page.tsx
Normal file
9
src/app/dev/colab/splash/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_Splash } from "@/app_modules/colab";
|
||||
|
||||
export default function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_Splash />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -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}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
19
src/app/dev/forum/proyek/layout.tsx
Normal file
19
src/app/dev/forum/proyek/layout.tsx
Normal 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>
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/forum/proyek/page.tsx
Normal file
9
src/app/dev/forum/proyek/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import { Colab_PartisipasiProyek } from "@/app_modules/colab";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<Colab_PartisipasiProyek />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -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>
|
||||
);
|
||||
}
|
||||
|
||||
24
src/app/lib/router_hipmi/router_colab.ts
Normal file
24
src/app/lib/router_hipmi/router_colab.ts
Normal 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
|
||||
};
|
||||
3
src/app/makuro/gs_coba.ts
Normal file
3
src/app/makuro/gs_coba.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { atomWithStorage } from "jotai/utils";
|
||||
|
||||
export const gs_coba_chat = atomWithStorage<any[]>("gs_coba_chat", []);
|
||||
@@ -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 /> */}
|
||||
</>
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user