From 42d2734c43aae39416a57ae5b55ef52d278d7911 Mon Sep 17 00:00:00 2001 From: lukman Date: Wed, 18 Sep 2024 15:39:21 +0800 Subject: [PATCH 1/2] style : update style and components Deskripsi: - update global - update division - update home - update project - update user - add component natification - add component reload No Issue --- public/assets/img/avatar.png | Bin 0 -> 20021 bytes .../components/notification_custome.tsx | 79 ++++++++++++++ .../_global/components/reload_button_top.tsx | 50 +++++++++ .../_global/components/skeleton_avatar.tsx | 29 +++++ .../skeleton_detail_list_tugas_task.tsx | 100 +++++++++--------- src/module/_global/index.ts | 6 ++ src/module/_global/layout/layout_modal.tsx | 25 +++-- .../division_new/ui/list_discussion.tsx | 2 +- src/module/division_new/ui/list_document.tsx | 2 +- src/module/division_new/ui/list_task.tsx | 2 +- src/module/home/ui/view_home.tsx | 43 ++++---- .../project/ui/list_file_detail_project.tsx | 4 +- .../user/member/ui/navbar_detail_member.tsx | 8 +- src/module/user/profile/ui/profile.tsx | 5 +- 14 files changed, 268 insertions(+), 87 deletions(-) create mode 100644 public/assets/img/avatar.png create mode 100644 src/module/_global/components/notification_custome.tsx create mode 100644 src/module/_global/components/reload_button_top.tsx create mode 100644 src/module/_global/components/skeleton_avatar.tsx diff --git a/public/assets/img/avatar.png b/public/assets/img/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..70840f057c87d1fab43d94f0de6e493eb9af3d75 GIT binary patch literal 20021 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 LNkvXXu0mjfsx-tF literal 0 HcmV?d00001 diff --git a/src/module/_global/components/notification_custome.tsx b/src/module/_global/components/notification_custome.tsx new file mode 100644 index 0000000..3a827e7 --- /dev/null +++ b/src/module/_global/components/notification_custome.tsx @@ -0,0 +1,79 @@ +"use client" +import { Box, Center, Flex, Grid, rem, Text, Transition } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; +import React, { useState } from 'react'; +import { IoCloseOutline, IoNotifications } from 'react-icons/io5'; + +export default function NotificationCustome({ onClose, title, desc, bg, color, onClick, borderColor }: { onClose: () => void, title: string, desc: string, bg: string, color: string, onClick: () => void, borderColor: string }) { + const [opened, setOpened] = useState(false); + + useShallowEffect(() => { + const timer = setTimeout(() => { + setOpened(true); + }, 2000); + return () => clearTimeout(timer); + }, []); + + useShallowEffect(() => { + const timer = setTimeout(() => { + setOpened(false) + }, 6000); + return () => clearTimeout(timer); + }, []); + + function reloadData() { + onClose() + } + return ( + <> +
+ + {(state) => ( +
+ + + + + + + + + {title} + {desc} + + + + + + + + +
+ )} +
+
+ + ); +} diff --git a/src/module/_global/components/reload_button_top.tsx b/src/module/_global/components/reload_button_top.tsx new file mode 100644 index 0000000..3aeb1a5 --- /dev/null +++ b/src/module/_global/components/reload_button_top.tsx @@ -0,0 +1,50 @@ +"use client" +import { Button, Center, Transition } from '@mantine/core'; +import { useShallowEffect } from '@mantine/hooks'; +import React, { useState } from 'react'; +import { IoReload } from 'react-icons/io5'; + +export default function ReloadButtonTop({ onReload, title }: { onReload: () => void, title: string }) { + const [opened, setOpened] = useState(false); + + useShallowEffect(() => { + const timer = setTimeout(() => { + setOpened(true); + }, 2000); + return () => clearTimeout(timer); + }, []); + + function reloadData() { + onReload() + setOpened(false) + } + + return ( + <> +
+ + {(state) => ( +
+ +
+ )} +
+
+ + ); +} diff --git a/src/module/_global/components/skeleton_avatar.tsx b/src/module/_global/components/skeleton_avatar.tsx new file mode 100644 index 0000000..7d3247c --- /dev/null +++ b/src/module/_global/components/skeleton_avatar.tsx @@ -0,0 +1,29 @@ +import { Avatar } from '@mantine/core'; +import React from 'react'; +import bgIcon from "../../../../public/assets/img/avatar.png" + +interface AvatarType { + img: string + size: string + sizeNoImg: string +} + +export default function SkeletonAvatar({ img, size, sizeNoImg }: AvatarType) { + return ( + <> + {img == "" ? + + : + + } + + ); +} diff --git a/src/module/_global/components/skeleton_detail_list_tugas_task.tsx b/src/module/_global/components/skeleton_detail_list_tugas_task.tsx index a6eee3f..a72af80 100644 --- a/src/module/_global/components/skeleton_detail_list_tugas_task.tsx +++ b/src/module/_global/components/skeleton_detail_list_tugas_task.tsx @@ -6,58 +6,60 @@ import { TEMA } from '../bin/val_global'; export default function SkeletonDetailListTugasTask() { const tema = useHookstate(TEMA) return ( - - -
- -
-
- - - - - - - - - - - - - + + + + +
+
+
+ + + + + - - - - + + + + + + + + + + + + + + -
-
-
-
+ + + ); } diff --git a/src/module/_global/index.ts b/src/module/_global/index.ts index bcdf19e..81cab87 100644 --- a/src/module/_global/index.ts +++ b/src/module/_global/index.ts @@ -1,5 +1,6 @@ import prisma from "./bin/prisma"; import { DIR, globalRole, pwd_key_config, TEMA } from "./bin/val_global"; +import SkeletonAvatar from "./components/skeleton_avatar"; import SkeletonDetailDiscussionComment from "./components/skeleton_detail_discussion_comment"; import SkeletonDetailDiscussionMember from "./components/skeleton_detail_discussion_member"; import SkeletonDetailListTugasTask from "./components/skeleton_detail_list_tugas_task"; @@ -18,7 +19,9 @@ import LayoutModalViewFile from "./layout/layout_modal_view_file"; import LayoutNavbarHome from "./layout/layout_navbar_home"; import LayoutNavbarNew from "./layout/layout_navbar_new"; import NoZoom from "./layout/no_zoom"; +import ReloadButtonTop from "./components/reload_button_top"; import ViewFilter from "./view/view_filter"; +import NotificationCustome from "./components/notification_custome"; export { WARNA }; export { LayoutLogin }; @@ -44,3 +47,6 @@ export { funDeleteFile } export { DIR } export { TEMA } export { funCopyFile } +export { SkeletonAvatar } +export { ReloadButtonTop } +export { NotificationCustome } \ No newline at end of file diff --git a/src/module/_global/layout/layout_modal.tsx b/src/module/_global/layout/layout_modal.tsx index d364584..e795a31 100644 --- a/src/module/_global/layout/layout_modal.tsx +++ b/src/module/_global/layout/layout_modal.tsx @@ -1,10 +1,11 @@ -import { Box, Button, Flex, Group, Modal, SimpleGrid, Text } from '@mantine/core'; +import { Button, Flex, Modal, SimpleGrid, Text } from '@mantine/core'; import React, { useState } from 'react'; import { BsQuestionCircleFill } from 'react-icons/bs'; -import { WARNA } from '../fun/WARNA'; +import { useMediaQuery } from '@mantine/hooks'; export default function LayoutModal({ opened, onClose, description, onYes }: { opened: boolean, onClose: () => void, description: string, onYes: (val: boolean) => void }) { const [isValModal, setValModal] = useState(opened) + const isMobile = useMediaQuery('(max-width: 768px)'); return ( {description} - - - - + > + {isMobile ? + <> + + + + : + <> + + + + + } + ); } diff --git a/src/module/division_new/ui/list_discussion.tsx b/src/module/division_new/ui/list_discussion.tsx index cbf498c..9f7b45c 100644 --- a/src/module/division_new/ui/list_discussion.tsx +++ b/src/module/division_new/ui/list_discussion.tsx @@ -17,7 +17,7 @@ export default function ListDiscussionOnDetailDivision() { const param = useParams<{ id: string }>() const [data, setData] = useState([]) const [loading, setLoading] = useState(true); - const isMobile = useMediaQuery('(max-width: 369px)'); + const isMobile = useMediaQuery('(max-width: 399px)'); const tema = useHookstate(TEMA) async function fetchData() { diff --git a/src/module/division_new/ui/list_document.tsx b/src/module/division_new/ui/list_document.tsx index 1bb51e0..ba48fdd 100644 --- a/src/module/division_new/ui/list_document.tsx +++ b/src/module/division_new/ui/list_document.tsx @@ -41,7 +41,7 @@ export default function ListDocumentOnDetailDivision() { useShallowEffect(() => { fetchData() }, [param.id]) - const isMobile = useMediaQuery('(max-width: 369px)'); + const isMobile = useMediaQuery('(max-width: 399px)'); return ( diff --git a/src/module/division_new/ui/list_task.tsx b/src/module/division_new/ui/list_task.tsx index 7ab3fac..43f3b26 100644 --- a/src/module/division_new/ui/list_task.tsx +++ b/src/module/division_new/ui/list_task.tsx @@ -42,7 +42,7 @@ export default function ListTaskOnDetailDivision() { fetchData() }, [param.id]) - const isMobile = useMediaQuery('(max-width: 369px)'); + const isMobile = useMediaQuery('(max-width: 399px)'); return ( diff --git a/src/module/home/ui/view_home.tsx b/src/module/home/ui/view_home.tsx index d94ec00..2d90ef9 100644 --- a/src/module/home/ui/view_home.tsx +++ b/src/module/home/ui/view_home.tsx @@ -1,5 +1,5 @@ "use client" -import { LayoutNavbarHome, TEMA, WARNA } from '@/module/_global'; +import { LayoutNavbarHome, NotificationCustome, ReloadButtonTop, TEMA, WARNA } from '@/module/_global'; import { Box, Group, Notification, Stack, Text } from '@mantine/core'; import React, { useState } from 'react'; import Carosole from './carosole'; @@ -11,36 +11,12 @@ import ListDiscussion from './list_discussion'; import ListEventHome from './list_event'; import ChartProgressHome from './chart_progress_tugas'; import ChartDocumentHome from './chart_document'; -import { useShallowEffect } from '@mantine/hooks'; -import { notifications, Notifications } from '@mantine/notifications'; -import { IoNotifications } from 'react-icons/io5'; -import { ImCheckboxUnchecked } from 'react-icons/im'; import { useHookstate } from '@hookstate/core'; export default function ViewHome() { - const [isNotif, setIsNotif] = useState(true); const tema = useHookstate(TEMA) - useShallowEffect(() => { - if (isNotif) { - notifications.show({ - color: tema.get().utama, - title: Pengumuman Upacara bendera Upacara bendera Upacara bendera Upacara bendera, - message: Upacara bendera Upacara bendera Upacara bendera Upacara bendera Upacara bendera, - icon: , - loading: false, - autoClose: 5000, - position: "top-center", - radius: 'lg', - bg: "white", - style: { - border: `1px solid ${tema.get().utama}`, - }, - onClose: () => setIsNotif(false) - }); - } - }, [isNotif]); return ( <> @@ -49,6 +25,23 @@ export default function ViewHome() { + {/* { + '' + } + } + title='UPDATE' + /> */} + {''}} + onClose={() => {''}} + /> diff --git a/src/module/project/ui/list_file_detail_project.tsx b/src/module/project/ui/list_file_detail_project.tsx index da36a83..85c5292 100644 --- a/src/module/project/ui/list_file_detail_project.tsx +++ b/src/module/project/ui/list_file_detail_project.tsx @@ -121,7 +121,9 @@ export default function ListFileDetailProject() { - {item.name + '.' + item.extension} + {item.name + '.' + item.extension} diff --git a/src/module/user/member/ui/navbar_detail_member.tsx b/src/module/user/member/ui/navbar_detail_member.tsx index 8330044..801c804 100644 --- a/src/module/user/member/ui/navbar_detail_member.tsx +++ b/src/module/user/member/ui/navbar_detail_member.tsx @@ -73,7 +73,13 @@ export default function NavbarDetailMember({ id }: IMember) { gap="xs" >
- + {loading ? : + + }
{loading ? <> diff --git a/src/module/user/profile/ui/profile.tsx b/src/module/user/profile/ui/profile.tsx index 1c4ab10..3b6f9ea 100644 --- a/src/module/user/profile/ui/profile.tsx +++ b/src/module/user/profile/ui/profile.tsx @@ -1,5 +1,5 @@ "use client" -import { LayoutIconBack, LayoutNavbarHome, SkeletonDetailProfile, TEMA, WARNA } from "@/module/_global"; +import { LayoutIconBack, LayoutNavbarHome, SkeletonAvatar, SkeletonDetailProfile, TEMA, WARNA } from "@/module/_global"; import { ActionIcon, Avatar, Box, Grid, Group, Skeleton, Stack, Text } from "@mantine/core"; import { RiIdCardFill } from "react-icons/ri"; import { FaSquarePhone } from "react-icons/fa6"; @@ -72,11 +72,14 @@ export default function Profile() { justify="center" gap="xs" > + {loading ? : + } + {/* */} {loading ? : From 08d4504a5be4fc53b7aeece52ff3962fe7d1b270 Mon Sep 17 00:00:00 2001 From: lukman Date: Wed, 18 Sep 2024 16:03:27 +0800 Subject: [PATCH 2/2] style : update style and components Deskripsi: - update global - update division - update home - update project - update user - add component natification - add component reload No Issue --- .../components/notification_custome.tsx | 21 +++++++++++-------- .../_global/components/reload_button_top.tsx | 7 ++++++- src/module/home/ui/view_home.tsx | 11 ++++------ 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/module/_global/components/notification_custome.tsx b/src/module/_global/components/notification_custome.tsx index 3a827e7..eb47e9e 100644 --- a/src/module/_global/components/notification_custome.tsx +++ b/src/module/_global/components/notification_custome.tsx @@ -3,9 +3,12 @@ import { Box, Center, Flex, Grid, rem, Text, Transition } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import React, { useState } from 'react'; import { IoCloseOutline, IoNotifications } from 'react-icons/io5'; +import { TEMA } from '../bin/val_global'; +import { useHookstate } from '@hookstate/core'; -export default function NotificationCustome({ onClose, title, desc, bg, color, onClick, borderColor }: { onClose: () => void, title: string, desc: string, bg: string, color: string, onClick: () => void, borderColor: string }) { +export default function NotificationCustome({ onClose, title, desc, onClick }: { onClose: () => void, title: string, desc: string, onClick: () => void, }) { const [opened, setOpened] = useState(false); + const tema = useHookstate(TEMA) useShallowEffect(() => { const timer = setTimeout(() => { @@ -49,23 +52,23 @@ export default function NotificationCustome({ onClose, title, desc, bg, color, o - - + + - {title} - {desc} + {title} + {desc} - - + + diff --git a/src/module/_global/components/reload_button_top.tsx b/src/module/_global/components/reload_button_top.tsx index 3aeb1a5..d60bb0d 100644 --- a/src/module/_global/components/reload_button_top.tsx +++ b/src/module/_global/components/reload_button_top.tsx @@ -1,11 +1,14 @@ "use client" +import { useHookstate } from '@hookstate/core'; import { Button, Center, Transition } from '@mantine/core'; import { useShallowEffect } from '@mantine/hooks'; import React, { useState } from 'react'; import { IoReload } from 'react-icons/io5'; +import { TEMA } from '../bin/val_global'; export default function ReloadButtonTop({ onReload, title }: { onReload: () => void, title: string }) { const [opened, setOpened] = useState(false); + const tema = useHookstate(TEMA) useShallowEffect(() => { const timer = setTimeout(() => { @@ -40,7 +43,9 @@ export default function ReloadButtonTop({ onReload, title }: { onReload: () => v alignItems: 'center', }} > - + )} diff --git a/src/module/home/ui/view_home.tsx b/src/module/home/ui/view_home.tsx index 2d90ef9..a9f2f65 100644 --- a/src/module/home/ui/view_home.tsx +++ b/src/module/home/ui/view_home.tsx @@ -25,23 +25,20 @@ export default function ViewHome() {
- {/* { '' } } title='UPDATE' - /> */} - + {/* {''}} onClose={() => {''}} - /> + /> */}