diff --git a/public/icon-192x192.png b/public/icon-192x192.png index 807489a..4a2d41b 100644 Binary files a/public/icon-192x192.png and b/public/icon-192x192.png differ diff --git a/public/icon2-192x192.png b/public/icon2-192x192.png new file mode 100644 index 0000000..807489a Binary files /dev/null and b/public/icon2-192x192.png differ diff --git a/src/app/(application)/web-push/page.tsx b/src/app/(application)/web-push/page.tsx index 24e988c..0162ceb 100644 --- a/src/app/(application)/web-push/page.tsx +++ b/src/app/(application)/web-push/page.tsx @@ -2,10 +2,10 @@ import { NotificationManager } from "@/module/_global/components/notification_ma const publicKey = process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY!; -console.log( - process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY, - process.env.VAPID_PRIVATE_KEY -); +// console.log( +// process.env.NEXT_PUBLIC_VAPID_PUBLIC_KEY, +// process.env.VAPID_PRIVATE_KEY +// ); export default function Page() { return ( diff --git a/src/app/api/home/route.ts b/src/app/api/home/route.ts index a447f50..6f6b3d2 100644 --- a/src/app/api/home/route.ts +++ b/src/app/api/home/route.ts @@ -1,6 +1,6 @@ import { prisma } from "@/module/_global"; import { funGetUserByCookies } from "@/module/auth"; -import _, { ceil } from "lodash"; +import _, { ceil, some } from "lodash"; import moment from "moment"; import "moment/locale/id"; import { NextResponse } from "next/server"; @@ -35,11 +35,21 @@ export async function GET(request: Request) { isActive: true, } } - } else { + } else if (roleUser == "admin" || roleUser == "cosupadmin") { kondisi = { isActive: true, idGroup: idGroup } + } else { + kondisi = { + isActive: true, + idGroup: idGroup, + ProjectMember: { + some: { + idUser: user.id + } + } + } } const data = await prisma.project.findMany({ @@ -133,17 +143,31 @@ export async function GET(request: Request) { kondisi = { isActive: true, Division: { + isActive: true, idVillage: idVillage, Group: { isActive: true, } } } + } else if (roleUser == "admin" || roleUser == "cosupadmin") { + kondisi = { + isActive: true, + Division: { + isActive: true, + idGroup: idGroup + } + } } else { kondisi = { isActive: true, Division: { - idGroup: idGroup + isActive: true, + DivisionMember: { + some: { + idUser: user.id + } + } } } } @@ -185,18 +209,33 @@ export async function GET(request: Request) { isActive: true, category: 'FILE', Division: { + isActive: true, idVillage: idVillage, Group: { isActive: true, } } } + } else if (roleUser == "admin" || roleUser == "cosupadmin") { + kondisi = { + isActive: true, + category: 'FILE', + Division: { + isActive: true, + idGroup: idGroup + } + } } else { kondisi = { isActive: true, category: 'FILE', Division: { - idGroup: idGroup + isActive: true, + DivisionMember: { + some: { + idUser: user.id + } + } } } } @@ -284,7 +323,7 @@ export async function GET(request: Request) { dateEnd: true, createdAt: true, status: true, - idDivision:true, + idDivision: true, DivisionCalendar: { select: { title: true, @@ -327,18 +366,33 @@ export async function GET(request: Request) { isActive: true, status: 1, Division: { + isActive: true, idVillage: idVillage, Group: { isActive: true, } } } + } else if (roleUser == "admin" || roleUser == "cosupadmin") { + kondisi = { + isActive: true, + status: 1, + Division: { + idGroup: idGroup, + isActive: true + } + } } else { kondisi = { isActive: true, status: 1, Division: { - idGroup: idGroup + isActive: true, + DivisionMember: { + some: { + idUser: user.id + } + } } } } diff --git a/src/app/api/send-notification/route.ts b/src/app/api/send-notification/route.ts index 81fc90e..8e6bea9 100644 --- a/src/app/api/send-notification/route.ts +++ b/src/app/api/send-notification/route.ts @@ -36,9 +36,9 @@ export async function POST() { const subscriptionData = sub.data as any; await webpush.sendNotification(subscriptionData, notificationPayload); - console.log( - `Notification sent successfully to ${subscriptionData.endpoint}` - ); + // console.log( + // `Notification sent successfully to ${subscriptionData.endpoint}` + // ); successCount++; } catch (error: any) { console.error( diff --git a/src/app/api/user/route.ts b/src/app/api/user/route.ts index 6fed7bf..80ea26a 100644 --- a/src/app/api/user/route.ts +++ b/src/app/api/user/route.ts @@ -167,7 +167,7 @@ export async function POST(request: Request) { const cekPhone = await prisma.user.count({ where: { - phone: data.phone + phone: "62" + data.phone }, }); @@ -177,7 +177,7 @@ export async function POST(request: Request) { data: { nik: data.nik, name: data.name, - phone: data.phone, + phone: "62" + data.phone, email: data.email, gender: data.gender, idGroup: groupFix, diff --git a/src/module/project/ui/create_project.tsx b/src/module/project/ui/create_project.tsx index 66b0d80..30d7680 100644 --- a/src/module/project/ui/create_project.tsx +++ b/src/module/project/ui/create_project.tsx @@ -42,6 +42,7 @@ export default function CreateProject() { const roleLogin = useHookstate(globalRole) const isMobile = useMediaQuery('(max-width: 369px)'); const tema = useHookstate(TEMA) + const [loadingModal, setLoadingModal] = useState(false) const [body, setBody] = useState({ idGroup: "", @@ -102,6 +103,7 @@ export default function CreateProject() { async function onSubmit() { try { + setLoadingModal(true) const fd = new FormData(); for (let i = 0; i < fileForm.length; i++) { fd.append(`file${i}`, fileForm[i]); @@ -130,6 +132,9 @@ export default function CreateProject() { } catch (error) { console.error(error) toast.error("Gagal menambahkan kegiatan, coba lagi nanti"); + } finally { + setLoadingModal(false) + setModal(false) } } @@ -494,13 +499,15 @@ export default function CreateProject() { - setModal(false)} + setModal(false)} description="Apakah Anda yakin ingin menambahkan data?" onYes={(val) => { if (val) { onSubmit() + }else{ + setModal(false) } - setModal(false) + }} /> ); diff --git a/src/module/task/ui/create_task.tsx b/src/module/task/ui/create_task.tsx index 1600c41..f6e5bec 100644 --- a/src/module/task/ui/create_task.tsx +++ b/src/module/task/ui/create_task.tsx @@ -24,7 +24,7 @@ import { useWibuRealtime } from "wibu-realtime"; export default function CreateTask() { const router = useRouter() const param = useParams<{ id: string }>() - const [openDrawer, setOpenDrawer] = useState(false) + const [loadingModal, setLoadingModal] = useState(false) const [openDrawerFile, setOpenDrawerFile] = useState(false) const [openDrawerTask, setOpenDrawerTask] = useState(false) const [openMember, setOpenMember] = useState(false) @@ -66,6 +66,7 @@ export default function CreateTask() { async function onSubmit() { try { + setLoadingModal(true) const fd = new FormData(); for (let i = 0; i < fileForm.length; i++) { fd.append(`file${i}`, fileForm[i]); @@ -95,6 +96,9 @@ export default function CreateTask() { } catch (error) { console.error(error) toast.error("Gagal menambahkan tugas divisi, coba lagi nanti"); + } finally { + setLoadingModal(false) + setOpenModal(false) } } @@ -412,13 +416,14 @@ export default function CreateTask() { - setOpenModal(false)} + setOpenModal(false)} description="Apakah Anda yakin ingin menambahkan data?" onYes={(val) => { if (val) { onSubmit() + } else { + setOpenModal(false) } - setOpenModal(false) }} /> ); diff --git a/src/module/user/member/ui/create_member.tsx b/src/module/user/member/ui/create_member.tsx index 208ff1a..9f8ceca 100644 --- a/src/module/user/member/ui/create_member.tsx +++ b/src/module/user/member/ui/create_member.tsx @@ -423,7 +423,7 @@ export default function CreateMember() { error={ touched.phone && ( listData.phone == "" ? "Nomor Telepon Tidak Boleh Kosong" : - listData.phone.length < 10 ? "Nomor Telepon harus 10 digit" : null + listData.phone.length < 10 ? "Nomor Telepon Tidak Valid" : null ) } />