Admin Collaboration Done
# feat - Detail Project - Report Project ## No Issuue
This commit is contained in:
9
src/app/dev/admin/colab/dashboard/loading.tsx
Normal file
9
src/app/dev/admin/colab/dashboard/loading.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<ComponentAdminGlobal_LoadingPage />
|
||||
</>
|
||||
);
|
||||
}
|
||||
20
src/app/dev/admin/colab/dashboard/page.tsx
Normal file
20
src/app/dev/admin/colab/dashboard/page.tsx
Normal file
@@ -0,0 +1,20 @@
|
||||
import { AdminColab_Dashboard } from "@/app_modules/admin/colab";
|
||||
import adminColab_countGroupChat from "@/app_modules/admin/colab/fun/count/count_group_chat";
|
||||
import adminColab_countIsPublish from "@/app_modules/admin/colab/fun/count/count_publish";
|
||||
import adminColab_countIsReject from "@/app_modules/admin/colab/fun/count/count_reject";
|
||||
|
||||
export default async function Page() {
|
||||
const countPublish = await adminColab_countIsPublish();
|
||||
const countRoom = await adminColab_countGroupChat();
|
||||
const countReject = await adminColab_countIsReject()
|
||||
|
||||
return (
|
||||
<>
|
||||
<AdminColab_Dashboard
|
||||
countPublish={countPublish}
|
||||
countRoom={countRoom}
|
||||
countReject={countReject}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
12
src/app/dev/admin/colab/sub-menu/group/page.tsx
Normal file
12
src/app/dev/admin/colab/sub-menu/group/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { AdminColab_TableGroup } from "@/app_modules/admin/colab";
|
||||
import adminColab_getListAllGroupChat from "@/app_modules/admin/colab/fun/get/get_list_all_group_chat";
|
||||
|
||||
export default async function Page() {
|
||||
const listGroup = await adminColab_getListAllGroupChat({page: 1})
|
||||
|
||||
return (
|
||||
<>
|
||||
<AdminColab_TableGroup listGroup={listGroup as any} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
9
src/app/dev/admin/colab/sub-menu/loading.tsx
Normal file
9
src/app/dev/admin/colab/sub-menu/loading.tsx
Normal file
@@ -0,0 +1,9 @@
|
||||
import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page";
|
||||
|
||||
export default async function Page() {
|
||||
return (
|
||||
<>
|
||||
<ComponentAdminGlobal_LoadingPage />
|
||||
</>
|
||||
);
|
||||
}
|
||||
12
src/app/dev/admin/colab/sub-menu/publish/page.tsx
Normal file
12
src/app/dev/admin/colab/sub-menu/publish/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { AdminColab_TablePublish } from "@/app_modules/admin/colab";
|
||||
import adminColab_getListAllPublish from "@/app_modules/admin/colab/fun/get/get_list_all_publish";
|
||||
|
||||
export default async function Page() {
|
||||
const listData = await adminColab_getListAllPublish({ page: 1 });
|
||||
|
||||
return (
|
||||
<>
|
||||
<AdminColab_TablePublish listData={listData} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
12
src/app/dev/admin/colab/sub-menu/reject/page.tsx
Normal file
12
src/app/dev/admin/colab/sub-menu/reject/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import { AdminColab_TableRejected } from "@/app_modules/admin/colab";
|
||||
import adminColab_getListAllRejected from "@/app_modules/admin/colab/fun/get/get_list_all_reject";
|
||||
|
||||
export default async function Page() {
|
||||
const listReject = await adminColab_getListAllRejected({page: 1})
|
||||
|
||||
return (
|
||||
<>
|
||||
<AdminColab_TableRejected listReject={listReject as any} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
27
src/app/dev/colab/detail/group/[id]/page.tsx
Normal file
27
src/app/dev/colab/detail/group/[id]/page.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
import adminColab_getOneRoomChatById from "@/app_modules/admin/colab/fun/get/get_one_room_chat_by_id";
|
||||
import { Colab_GroupChatView } from "@/app_modules/colab";
|
||||
import colab_getMessageByRoomId from "@/app_modules/colab/fun/get/room_chat/get_message_by_room_id";
|
||||
import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token";
|
||||
import _ from "lodash";
|
||||
|
||||
export default async function Page({ params }: { params: { id: string } }) {
|
||||
const roomId = params.id;
|
||||
const userLoginId = await user_getOneUserId();
|
||||
const dataRoom = (await adminColab_getOneRoomChatById({ roomId: roomId }))
|
||||
.data;
|
||||
const selectRoom = _.omit(dataRoom, [
|
||||
"ProjectCollaboration",
|
||||
"ProjectCollaboration_AnggotaRoomChat",
|
||||
]);
|
||||
let listMsg = await colab_getMessageByRoomId({roomId: roomId, page: 1});
|
||||
|
||||
return (
|
||||
<>
|
||||
<Colab_GroupChatView
|
||||
userLoginId={userLoginId}
|
||||
listMsg={listMsg}
|
||||
selectRoom={selectRoom as any}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import colab_getListAnggotaByRoomId from "@/app_modules/colab/fun/get/room_chat/
|
||||
|
||||
export default async function Page({ params }: { params: { id: string } }) {
|
||||
let roomId = params.id;
|
||||
const dataRoom = await colab_getListAnggotaByRoomId(roomId)
|
||||
const dataRoom = await colab_getListAnggotaByRoomId(roomId);
|
||||
|
||||
return (
|
||||
<>
|
||||
|
||||
13
src/app/dev/colab/detail/notifikasi/[id]/page.tsx
Normal file
13
src/app/dev/colab/detail/notifikasi/[id]/page.tsx
Normal file
@@ -0,0 +1,13 @@
|
||||
import { Colab_DetailNotifikasi } from "@/app_modules/colab";
|
||||
import colab_getOneNotifikasiById from "@/app_modules/colab/fun/get/get_one_notifikasi_by_id";
|
||||
|
||||
export default async function Page({ params }: { params: { id: string } }) {
|
||||
let notifId = params.id;
|
||||
const data = await colab_getOneNotifikasiById({ notifId: notifId });
|
||||
|
||||
return (
|
||||
<>
|
||||
<Colab_DetailNotifikasi data={data as any} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import { LayoutColab_Main } from "@/app_modules/colab";
|
||||
import colab_CekNotifikasi from "@/app_modules/colab/fun/get/cek_notifikasi";
|
||||
import React from "react";
|
||||
|
||||
export default async function Layout({
|
||||
@@ -6,9 +7,11 @@ export default async function Layout({
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}) {
|
||||
const cekNotif = await colab_CekNotifikasi();
|
||||
|
||||
return (
|
||||
<>
|
||||
<LayoutColab_Main>{children}</LayoutColab_Main>
|
||||
<LayoutColab_Main cekNotif={cekNotif as any}>{children}</LayoutColab_Main>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { Colab_NotifikasiView } from "@/app_modules/colab";
|
||||
import colab_getListNotifikasiByUserId from "@/app_modules/colab/fun/get/get_list_notifikasi_by_user_id";
|
||||
|
||||
export default async function Page() {
|
||||
const listNotifikasi = await colab_getListNotifikasiByUserId();
|
||||
// console.log(listNotifikasi);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Colab_NotifikasiView />
|
||||
<Colab_NotifikasiView listNotifikasi={listNotifikasi as any} />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
6
src/app/lib/router_admin/router_admin_colab.ts
Normal file
6
src/app/lib/router_admin/router_admin_colab.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export const RouterAdminColab = {
|
||||
dashboard: "/dev/admin/colab/dashboard",
|
||||
table_publish: "/dev/admin/colab/sub-menu/publish",
|
||||
table_group: "/dev/admin/colab/sub-menu/group",
|
||||
table_reject: "/dev/admin/colab/sub-menu/reject",
|
||||
};
|
||||
@@ -22,6 +22,8 @@ export const RouterColab = {
|
||||
detail_proyek_saya: "/dev/colab/detail/proyek/saya/",
|
||||
detail_grup: "/dev/colab/detail/grup/",
|
||||
info_grup: "/dev/colab/detail/info-grup/",
|
||||
detail_notifikasi: "/dev/colab/detail/notifikasi/",
|
||||
group_chat: "/dev/colab/detail/group/",
|
||||
|
||||
// proyek
|
||||
};
|
||||
|
||||
@@ -5,6 +5,7 @@ import useInfiniteScroll, {
|
||||
} from "react-easy-infinite-scroll-hook";
|
||||
import { createItems, loadMore } from "./_util";
|
||||
import { useShallowEffect } from "@mantine/hooks";
|
||||
import { Center, Loader } from "@mantine/core";
|
||||
|
||||
export default function App() {
|
||||
const [data, setData] = useState<any[]>([]);
|
||||
@@ -20,7 +21,7 @@ export default function App() {
|
||||
setIsLoading(true);
|
||||
const newData = await loadMore();
|
||||
|
||||
const d = direction === "up"? [...newData, ...data]: []
|
||||
const d = direction === "up" ? [...newData, ...data] : [];
|
||||
setData(d);
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
@@ -34,22 +35,25 @@ export default function App() {
|
||||
});
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div
|
||||
ref={ref as any}
|
||||
className="List"
|
||||
style={{
|
||||
height: 500,
|
||||
overflowY: "auto",
|
||||
}}
|
||||
>
|
||||
{data.map((key: any) => (
|
||||
<div className="Row" key={key}>
|
||||
{key}
|
||||
</div>
|
||||
))}
|
||||
<Center>
|
||||
<div>
|
||||
<Center>{isLoading && <Loader />}</Center>
|
||||
|
||||
<div
|
||||
ref={ref as any}
|
||||
className="List"
|
||||
style={{
|
||||
height: 500,
|
||||
overflowY: "auto",
|
||||
}}
|
||||
>
|
||||
{data.map((key: any) => (
|
||||
<div className="Row" key={key}>
|
||||
{key}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
{isLoading && <div>Loading...</div>}
|
||||
</div>
|
||||
</Center>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user