diff --git a/src/module/_global/components/skeleton_list.tsx b/src/module/_global/components/skeleton_list.tsx
new file mode 100644
index 0000000..a61bb3c
--- /dev/null
+++ b/src/module/_global/components/skeleton_list.tsx
@@ -0,0 +1,21 @@
+import { Box, Divider, Grid, Skeleton } from '@mantine/core';
+import React from 'react';
+
+export default function SkeletonList() {
+ return (
+
+ );
+}
+
diff --git a/src/module/_global/components/skeleton_user.tsx b/src/module/_global/components/skeleton_user.tsx
new file mode 100644
index 0000000..899dfac
--- /dev/null
+++ b/src/module/_global/components/skeleton_user.tsx
@@ -0,0 +1,22 @@
+import { Box, Divider, Grid, Skeleton } from '@mantine/core';
+import React from 'react';
+
+export default function SkeletonUser() {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
diff --git a/src/module/_global/index.ts b/src/module/_global/index.ts
index 3f987f4..cc3e59a 100644
--- a/src/module/_global/index.ts
+++ b/src/module/_global/index.ts
@@ -25,6 +25,8 @@ import ViewFilter from "./view/view_filter";
import mtqq_client from "./bin/mqtt_client"
import NotificationCustome from "./components/notification_custome";
import { ScrollProvider } from "./components/scroll_provider";
+import SkeletonUser from "./components/skeleton_user";
+import SkeletonList from "./components/skeleton_list";
export { WARNA };
export { LayoutLogin };
@@ -58,3 +60,5 @@ export { ReloadButtonTop }
export { NotificationCustome }
export { ScrollProvider }
export { currentScroll }
+export { SkeletonUser }
+export { SkeletonList }
diff --git a/src/module/announcement/ui/list_announcement.tsx b/src/module/announcement/ui/list_announcement.tsx
index 966d95e..93f3f89 100644
--- a/src/module/announcement/ui/list_announcement.tsx
+++ b/src/module/announcement/ui/list_announcement.tsx
@@ -1,5 +1,5 @@
'use client'
-import { currentScroll, globalNotifPage, SkeletonSingle, TEMA, WARNA } from '@/module/_global';
+import { currentScroll, globalNotifPage, SkeletonSingle, SkeletonUser, TEMA, WARNA } from '@/module/_global';
import { ActionIcon, Box, Center, Divider, Grid, Group, Spoiler, Stack, Text, TextInput } from '@mantine/core';
import React, { useEffect, useState } from 'react';
import { TfiAnnouncement } from "react-icons/tfi";
@@ -63,13 +63,6 @@ export default function ListAnnouncement() {
}, [isPage])
- // useShallowEffect(() => {
- // if (load.get().category == "announcement") {
- // console.log('masuk sinii', load.get().load)
- // fetchData()
- // }
- // }, [load.get().load])
-
useEffect(() => {
const handleScroll = async () => {
@@ -111,8 +104,8 @@ export default function ListAnnouncement() {
? Array(6)
.fill(null)
.map((_, i) => (
-
-
+
+
))
: (isData.length === 0) ?
@@ -135,7 +128,7 @@ export default function ListAnnouncement() {
{
router.push(`/announcement/${v.id}`)
- }} mb={10}>
+ }}>
-
+
)
})}
diff --git a/src/module/calender/ui/create_user_calender.tsx b/src/module/calender/ui/create_user_calender.tsx
index f538ef0..e2e506b 100644
--- a/src/module/calender/ui/create_user_calender.tsx
+++ b/src/module/calender/ui/create_user_calender.tsx
@@ -176,7 +176,7 @@ export default function CreateUserCalender({ onClose }: { onClose: (val: any) =>
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/calender/ui/create_user_detail_calender.tsx b/src/module/calender/ui/create_user_detail_calender.tsx
index a2a31e9..e5c338f 100644
--- a/src/module/calender/ui/create_user_detail_calender.tsx
+++ b/src/module/calender/ui/create_user_detail_calender.tsx
@@ -183,7 +183,7 @@ export default function CreateUserDetailCalender() {
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/calender/ui/update_list_users.tsx b/src/module/calender/ui/update_list_users.tsx
index 7fcd86c..c59a38b 100644
--- a/src/module/calender/ui/update_list_users.tsx
+++ b/src/module/calender/ui/update_list_users.tsx
@@ -170,7 +170,7 @@ export default function UpdateListUsers({ onClose }: { onClose: (val: any) => vo
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/division_new/ui/create_anggota_division.tsx b/src/module/division_new/ui/create_anggota_division.tsx
index 577457e..64910df 100644
--- a/src/module/division_new/ui/create_anggota_division.tsx
+++ b/src/module/division_new/ui/create_anggota_division.tsx
@@ -148,7 +148,7 @@ export default function CreateAnggotaDivision() {
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/division_new/ui/navbar_create_users.tsx b/src/module/division_new/ui/navbar_create_users.tsx
index 38b3cba..6727c42 100644
--- a/src/module/division_new/ui/navbar_create_users.tsx
+++ b/src/module/division_new/ui/navbar_create_users.tsx
@@ -134,7 +134,7 @@ export default function NavbarCreateUsers({ grup, onClose }: { grup?: string, on
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/project/ui/add_member_detail_project.tsx b/src/module/project/ui/add_member_detail_project.tsx
index a8ecaac..952de33 100644
--- a/src/module/project/ui/add_member_detail_project.tsx
+++ b/src/module/project/ui/add_member_detail_project.tsx
@@ -176,7 +176,7 @@ export default function AddMemberDetailProject() {
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/project/ui/create_date_end_task.tsx b/src/module/project/ui/create_date_end_task.tsx
index 0310803..d5b6155 100644
--- a/src/module/project/ui/create_date_end_task.tsx
+++ b/src/module/project/ui/create_date_end_task.tsx
@@ -58,7 +58,7 @@ export default function ViewDateEndTask({ onClose, onSet }: {onClose: (val: bool
- } title={"Tanggal Tugas"} menu />
+ } title={"Tanggal dan Tugas"} menu />
setTouched({ ...touched, title: true })}
error={
touched.title && (
- title == "" ? "Judul Tidak Boleh Kosong" : null
+ title == "" ? "Judul Tahapan Tidak Boleh Kosong" : null
)
}
/>
diff --git a/src/module/project/ui/create_project.tsx b/src/module/project/ui/create_project.tsx
index 45ab3dd..723f5ec 100644
--- a/src/module/project/ui/create_project.tsx
+++ b/src/module/project/ui/create_project.tsx
@@ -138,15 +138,20 @@ export default function CreateProject() {
-
+
{
(roleLogin.get() == "supadmin") && (
-
+
{
diff --git a/src/module/project/ui/create_users_project.tsx b/src/module/project/ui/create_users_project.tsx
index ca6718a..45cf376 100644
--- a/src/module/project/ui/create_users_project.tsx
+++ b/src/module/project/ui/create_users_project.tsx
@@ -1,8 +1,8 @@
"use client"
-import { LayoutNavbarNew, SkeletonSingle, TEMA } from '@/module/_global';
+import { LayoutNavbarNew, SkeletonList, SkeletonSingle, SkeletonUser, TEMA } from '@/module/_global';
import { useHookstate } from '@hookstate/core';
import { ActionIcon, Avatar, Box, Button, Center, Divider, Flex, Grid, Indicator, Input, rem, SimpleGrid, Skeleton, Stack, Text, TextInput } from '@mantine/core';
-import { useShallowEffect } from '@mantine/hooks';
+import { useMediaQuery, useShallowEffect } from '@mantine/hooks';
import { useRouter } from 'next/navigation';
import React, { useState } from 'react';
import { HiChevronLeft, HiMagnifyingGlass } from 'react-icons/hi2';
@@ -24,6 +24,7 @@ export default function CreateUsersProject({ grup, onClose }: { grup?: string, o
const [openTugas, setOpenTugas] = useState(false)
const [onClickSearch, setOnClickSearch] = useState(false)
const tema = useHookstate(TEMA)
+ const isMobile2 = useMediaQuery("(max-width: 438px)");
const handleFileClick = (index: number) => {
if (selectedFiles.some((i: any) => i.idUser == dataMember[index].id)) {
@@ -136,7 +137,7 @@ export default function CreateUsersProject({ grup, onClose }: { grup?: string, o
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
@@ -175,35 +176,43 @@ export default function CreateUsersProject({ grup, onClose }: { grup?: string, o
.fill(null)
.map((_, i) => (
-
+
))
:
dataMember.map((v, index) => {
const isSelected = selectedFiles.some((i: any) => i.idUser == dataMember[index].id);
return (
- handleFileClick(index)}>
+ handleFileClick(index)}>
-
+
+ base: 11,
+ xs: 11,
+ sm: 11,
+ md: 11,
+ lg: 11,
+ xl: 11,
+ }}>
- {v.name}
+ {v.name}
{isSelected ? : null}
-
+
);
diff --git a/src/module/project/ui/list_project.tsx b/src/module/project/ui/list_project.tsx
index 0739605..1cd8e71 100644
--- a/src/module/project/ui/list_project.tsx
+++ b/src/module/project/ui/list_project.tsx
@@ -1,5 +1,5 @@
"use client"
-import { currentScroll, globalRole, TEMA, WARNA } from '@/module/_global';
+import { currentScroll, globalRole, SkeletonList, SkeletonUser, TEMA, WARNA } from '@/module/_global';
import { ActionIcon, Avatar, Badge, Box, Card, Center, Divider, Flex, Grid, Group, Skeleton, Text, TextInput, Title } from '@mantine/core';
import { useRouter, useSearchParams } from 'next/navigation';
import React, { useEffect, useState } from 'react';
@@ -123,86 +123,91 @@ export default function ListProject() {
- {roleLogin.get() == 'supadmin' && Filter by: {nameGroup}}
- {loading ?
-
-
-
- :
-
- Total Kegiatan
-
- {totalData}
-
-
- }
+ {roleLogin.get() == 'supadmin' && Filter by: {nameGroup}}
+
+ Total Kegiatan
+
+ {totalData}
+
+
{isList ? (
- {isData.map((v, i) => {
- return (
-
- router.push(`/project/${v.id}`)}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {v.title}
-
-
-
-
-
-
-
-
-
+ {loading ?
+ Array(3)
+ .fill(null)
+ .map((_, i) => (
+
+
+
+ ))
+ :
+ _.isEmpty(isData)
+ ?
+
+ Tidak ada Kegiatan
- );
- })}
+ :
+ isData.map((v, i) => {
+ return (
+
+ router.push(`/project/${v.id}`)}>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {v.title}
+
+
+
+
+
+
+
+
+
+
+ );
+ })
+ }
) : (
diff --git a/src/module/task/ui/add_member_detail_task.tsx b/src/module/task/ui/add_member_detail_task.tsx
index dc9b7ef..bdd3a28 100644
--- a/src/module/task/ui/add_member_detail_task.tsx
+++ b/src/module/task/ui/add_member_detail_task.tsx
@@ -211,7 +211,7 @@ export default function AddMemberDetailTask() {
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/task/ui/create_users_project.tsx b/src/module/task/ui/create_users_project.tsx
index d932796..afd1c67 100644
--- a/src/module/task/ui/create_users_project.tsx
+++ b/src/module/task/ui/create_users_project.tsx
@@ -192,7 +192,7 @@ export default function CreateUsersProject({ onClose }: { onClose: (val: any) =>
borderBottom: `1px solid ${"#E0DFDF"}`
}}>
{selectedFiles.length > 0 ? (
-
+
{selectedFiles.map((v: any, i: any) => {
return (
diff --git a/src/module/user/member/ui/tab_list_member.tsx b/src/module/user/member/ui/tab_list_member.tsx
index cbef9d2..7b12e81 100644
--- a/src/module/user/member/ui/tab_list_member.tsx
+++ b/src/module/user/member/ui/tab_list_member.tsx
@@ -1,4 +1,4 @@
-import { currentScroll, globalRole, SkeletonSingle, TEMA } from "@/module/_global"
+import { currentScroll, globalRole, SkeletonSingle, SkeletonUser, TEMA } from "@/module/_global"
import { Box, Text, TextInput, Divider, Avatar, Grid, Group, ActionIcon, Skeleton } from "@mantine/core"
import { useShallowEffect } from "@mantine/hooks"
import { useRouter, useSearchParams } from "next/navigation"
@@ -100,35 +100,13 @@ export default function TabListMember() {
/>
{roleLogin.get() == 'supadmin' && Filter by: {nameGroup}}
{loading
- ? Array(6)
+ ?
+ Array(6)
.fill(null)
.map((_, i) => (
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
))
: