From 3de8e628b6ed142c554a73f70628671d5779d008 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 10:42:11 +0800 Subject: [PATCH 1/7] upd: tampilan Deskripsi: - update tampilan select anggota No Issues --- components/imageWithLabel.tsx | 2 +- constants/Styles.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/imageWithLabel.tsx b/components/imageWithLabel.tsx index dddfcfe..0bda9b4 100644 --- a/components/imageWithLabel.tsx +++ b/components/imageWithLabel.tsx @@ -11,7 +11,7 @@ type Props = { export default function ImageWithLabel({ src, label, onClick }: Props) { return ( - + {label} diff --git a/constants/Styles.ts b/constants/Styles.ts index b76b1d3..726a5f1 100644 --- a/constants/Styles.ts +++ b/constants/Styles.ts @@ -94,6 +94,9 @@ const Styles = StyleSheet.create({ mv15: { marginVertical: 15 }, + mh03: { + marginHorizontal: 3 + }, mh05: { marginHorizontal: 5 }, From 7d5ec511f57f637325fa5c6ad3fe379f18ab901d Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 11:18:38 +0800 Subject: [PATCH 2/7] upd: input date Deskripsi: - on submit value pada ios - on cancel value pada android No Issues' --- components/inputDate.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/components/inputDate.tsx b/components/inputDate.tsx index 40f7710..f627855 100644 --- a/components/inputDate.tsx +++ b/components/inputDate.tsx @@ -28,7 +28,7 @@ type Props = { export function InputDate({ label, value, placeholder, onChange, info, disable, error, errorText, required, mode, round, width, }: Props) { const [modal, setModal] = useState(false); const [valueFix, setValueFix] = useState(new Date()) - const [valueFirst, setValueFirst] = useState("") + const [valueFirst, setValueFirst] = useState(mode == "date" ? dayjs(new Date()).format("DD-MM-YYYY") : mode == "time" ? dayjs(new Date()).format("HH:mm") : "") const onChangeDate = (type: string, selectedDate: any) => { if (type === "set") { @@ -45,6 +45,8 @@ export function InputDate({ label, value, placeholder, onChange, info, disable, onChange(formatted) setModal(false) } + } else if (type === "dismissed") { + setModal(false) } }; @@ -100,11 +102,8 @@ export function InputDate({ label, value, placeholder, onChange, info, disable, value={valueFix} mode={mode} display="spinner" - onChange={(event, date) => { - onChangeDate(event.type, date) - }} + onChange={(event, date) => { onChangeDate(event.type, date) }} onTouchCancel={() => setModal(false)} - /> ) @@ -115,7 +114,7 @@ export function InputDate({ label, value, placeholder, onChange, info, disable, mode={mode} display="inline" onChange={(event, date) => { onChangeDate(event.type, date) }} - onTouchCancel={() => setModal(false)} + onTouchCancel={() => { setModal(false) }} /> ) ) From 92c58524f68a9297fe8ac6bacab25ed1771fd218 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 12:04:58 +0800 Subject: [PATCH 3/7] upd : salin link Deskripsi: - detail kalender event divisi > dapat di copy No Issues --- .../calendar/[detail]/index.tsx | 16 +++++++++++++--- bun.lockb | Bin 479824 -> 480400 bytes ios/Podfile.lock | 6 ++++++ package.json | 1 + 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx index 39f4029..f9f81fb 100644 --- a/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/calendar/[detail]/index.tsx @@ -13,9 +13,10 @@ import { apiDeleteCalendarMember, apiGetCalendarOne, apiGetDivisionOneFeature } import { setUpdateCalendar } from "@/lib/calendarUpdate" import { useAuthSession } from "@/providers/AuthProvider" import { MaterialCommunityIcons } from "@expo/vector-icons" +import Clipboard from "@react-native-clipboard/clipboard" import { router, Stack, useLocalSearchParams } from "expo-router" import { useEffect, useState } from "react" -import { RefreshControl, SafeAreaView, ScrollView, View } from "react-native" +import { Pressable, RefreshControl, SafeAreaView, ScrollView, View } from "react-native" import Toast from "react-native-toast-message" import { useDispatch, useSelector } from "react-redux" @@ -115,6 +116,11 @@ export default function DetailEventCalendar() { handleLoadMember(); }, [update.member]); + const handleCopy = (text: string) => { + Clipboard.setString(text); + Toast.show({ type: 'small', text1: 'Berhasil menyalin link', }) + }; + async function handleDeleteUser() { try { const hasil = await decryptToken(String(token?.current)); @@ -216,10 +222,14 @@ export default function DetailEventCalendar() { loading ? : - {data?.linkMeet ? data.linkMeet : '-'} + data?.linkMeet ? + { handleCopy(data.linkMeet) }}> + {data.linkMeet} + + : - } - + { loading ? diff --git a/bun.lockb b/bun.lockb index 62f25d9d74f0a9962d658c34781dfd1609f8a70f..3381a391a25a8e8d29a6de631deda492cb778821 100755 GIT binary patch delta 76221 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 P>vW;jD=J(s*R1~o@2o4_ delta 76641 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 Date: Fri, 29 Aug 2025 14:58:16 +0800 Subject: [PATCH 4/7] upd: loading button Deskripsi: - tambah folder bar - rename file pada dokumen divisi No Issues --- .../division/[id]/(fitur-division)/document/index.tsx | 7 +++++-- components/document/headerDocument.tsx | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/(application)/division/[id]/(fitur-division)/document/index.tsx b/app/(application)/division/[id]/(fitur-division)/document/index.tsx index 3668857..a444b4a 100644 --- a/app/(application)/division/[id]/(fitur-division)/document/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/document/index.tsx @@ -65,6 +65,7 @@ type PropsPath = { }; export default function DocumentDivision() { + const [loadingRename, setLoadingRename] = useState(false) const [isShare, setShare] = useState(false) const { token, decryptToken } = useAuthSession() const { id } = useLocalSearchParams<{ id: string }>() @@ -201,6 +202,7 @@ export default function DocumentDivision() { async function handleRename() { try { + setLoadingRename(true) const hasil = await decryptToken(String(token?.current)); const response = await apiDocumentRename({ user: hasil, ...bodyRename }); if (response.success) { @@ -214,7 +216,8 @@ export default function DocumentDivision() { console.error(error); Toast.show({ type: 'small', text1: 'Terjadi kesalahan', }) } finally { - setRename(false); + setLoadingRename(false) + setRename(false) } } @@ -538,7 +541,7 @@ export default function DocumentDivision() { isVisible={isRename} setVisible={() => { setRename(false) }} onSubmit={() => { handleRename() }} - disableSubmit={bodyRename.name == ""} + disableSubmit={bodyRename.name == "" || loadingRename} > state.dokumenUpdate) const [loading, setLoading] = useState(false) + const [loadingFolder, setLoadingFolder] = useState(false) async function handleCreateFolder() { try { + setLoadingFolder(true) const hasil = await decryptToken(String(token?.current)) const response = await apiCreateFolderDocument({ data: { user: hasil, name, path, idDivision: id } }) if (response.success) { @@ -39,6 +41,7 @@ export default function HeaderRightDocument({ path }: { path: string }) { console.error(error) Toast.show({ type: 'small', text1: 'Terjadi kesalahan', }) } finally { + setLoadingFolder(false) setNewFolder(false) } } @@ -148,7 +151,7 @@ export default function HeaderRightDocument({ path }: { path: string }) { title="Buat Folder Baru" isVisible={newFolder} setVisible={() => { setNewFolder(false) }} - disableSubmit={name == ""} + disableSubmit={name == "" || loadingFolder} onSubmit={() => { handleCreateFolder() }} > From c35e2e65bdfe90add650cdd0f1bea1cad44e6070 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 15:23:08 +0800 Subject: [PATCH 5/7] upd: tambah jabatan Deskripsi: - pisah class modal form tambah jabatan supaya bisa double modal No Issues --- .../position/headerRightPositionList.tsx | 133 +----------------- .../position/modalFormCreatePosition.tsx | 133 ++++++++++++++++++ 2 files changed, 137 insertions(+), 129 deletions(-) create mode 100644 components/position/modalFormCreatePosition.tsx diff --git a/components/position/headerRightPositionList.tsx b/components/position/headerRightPositionList.tsx index 2e20af1..549623f 100644 --- a/components/position/headerRightPositionList.tsx +++ b/components/position/headerRightPositionList.tsx @@ -1,93 +1,19 @@ import Styles from "@/constants/Styles" -import { apiCreatePosition } from "@/lib/api" -import { setUpdatePosition } from "@/lib/positionSlice" -import { useAuthSession } from "@/providers/AuthProvider" import { AntDesign } from "@expo/vector-icons" -import { useEffect, useState } from "react" +import { useState } from "react" import { View } from "react-native" -import Toast from "react-native-toast-message" -import { useDispatch, useSelector } from "react-redux" -import { ButtonForm } from "../buttonForm" +import { useSelector } from "react-redux" import ButtonMenuHeader from "../buttonMenuHeader" import DrawerBottom from "../drawerBottom" -import { InputForm } from "../inputForm" import MenuItemRow from "../menuItemRow" import ModalFilter from "../modalFilter" -import ModalSelect from "../modalSelect" -import SelectForm from "../selectForm" +import ModalFormCreatePosition from "./modalFormCreatePosition" export default function HeaderRightPositionList() { - const dispatch = useDispatch() - const update = useSelector((state: any) => state.positionUpdate) - const { token, decryptToken } = useAuthSession() const entityUser = useSelector((state: any) => state.user) const [isVisible, setVisible] = useState(false) const [isVisibleTambah, setVisibleTambah] = useState(false) const [isFilter, setFilter] = useState(false) - const [isSelect, setSelect] = useState(false) - const [choose, setChoose] = useState({ val: '', label: '' }) - const [disable, setDisable] = useState(true) - const [dataForm, setDataForm] = useState({ - name: "", - idGroup: "", - }) - const [error, setError] = useState({ - name: false, - idGroup: false - }); - - function validationForm(val: any, cat: 'name' | 'idGroup') { - if (cat === 'name') { - setDataForm({ ...dataForm, name: val }) - if (val == "") { - setError({ ...error, name: true }) - } else { - setError({ ...error, name: false }) - } - } else if (cat === "idGroup") { - setDataForm({ ...dataForm, idGroup: val }) - if (val == "") { - setError({ ...error, idGroup: true }) - } else { - setError({ ...error, idGroup: false }) - } - } - } - - function checkAll() { - let nilai = false - if (dataForm.name == "") { - nilai = true - } - - if ((entityUser.role == "supadmin" || entityUser.role == "developer") && (dataForm.idGroup == "" || String(dataForm.idGroup) == "null")) { - nilai = true - } - - setDisable(nilai) - } - - useEffect(() => { - checkAll() - }, [dataForm]) - - async function handleTambah() { - try { - setDisable(true) - const hasil = await decryptToken(String(token?.current)) - const response = await apiCreatePosition({ user: hasil, name: dataForm.name, idGroup: dataForm.idGroup }) - dispatch(setUpdatePosition(!update)) - } catch (error) { - console.error(error) - } finally { - setDisable(false) - setVisibleTambah(false) - setVisible(false) - Toast.show({ type: 'small', text1: 'Berhasil menambahkan data', }) - } - - } - return ( <> @@ -121,64 +47,13 @@ export default function HeaderRightPositionList() { setVisibleTambah(false)} title="Tambah Jabatan"> - - - { - (entityUser.role == 'supadmin' || entityUser.role == 'developer') && - { - setVisibleTambah(false) - setTimeout(() => { - setSelect(true) - }, 600) - }} - error={error.idGroup} - errorText="Lembaga Desa harus diisi" - /> - } - { validationForm(value, 'name') }} - error={error.name} - errorText="Nama jabatan harus diisi" - value={dataForm.name} - /> - - - { handleTambah() }} - disabled={disable} /> - - + setVisibleTambah(false)} /> { setFilter(false) setVisible(false) }} open={isFilter} page="position" /> - - { - validationForm(value.val, 'idGroup') - setChoose(value) - setSelect(false) - setTimeout(() => { - setVisibleTambah(true) - }, 600) - }} - title="Lembaga Desa" - open={isSelect} - /> ) } \ No newline at end of file diff --git a/components/position/modalFormCreatePosition.tsx b/components/position/modalFormCreatePosition.tsx new file mode 100644 index 0000000..256a3f3 --- /dev/null +++ b/components/position/modalFormCreatePosition.tsx @@ -0,0 +1,133 @@ +import Styles from "@/constants/Styles" +import { apiCreatePosition } from "@/lib/api" +import { setUpdatePosition } from "@/lib/positionSlice" +import { useAuthSession } from "@/providers/AuthProvider" +import { update } from "@react-native-firebase/database" +import { useEffect, useState } from "react" +import { View } from "react-native" +import Toast from "react-native-toast-message" +import { useDispatch, useSelector } from "react-redux" +import { ButtonForm } from "../buttonForm" +import { InputForm } from "../inputForm" +import SelectForm from "../selectForm" +import ModalSelect from "../modalSelect" + +export default function ModalFormCreatePosition({ onClose }: { onClose: () => void }) { + const dispatch = useDispatch() + const { token, decryptToken } = useAuthSession() + const entityUser = useSelector((state: any) => state.user) + const [choose, setChoose] = useState({ val: '', label: '' }) + const [isSelect, setSelect] = useState(false) + const [disable, setDisable] = useState(true) + const [dataForm, setDataForm] = useState({ + name: "", + idGroup: "", + }) + const [error, setError] = useState({ + name: false, + idGroup: false + }); + + function validationForm(val: any, cat: 'name' | 'idGroup') { + if (cat === 'name') { + setDataForm({ ...dataForm, name: val }) + if (val == "") { + setError({ ...error, name: true }) + } else { + setError({ ...error, name: false }) + } + } else if (cat === "idGroup") { + setDataForm({ ...dataForm, idGroup: val }) + if (val == "") { + setError({ ...error, idGroup: true }) + } else { + setError({ ...error, idGroup: false }) + } + } + } + + function checkAll() { + let nilai = false + if (dataForm.name == "") { + nilai = true + } + + if ((entityUser.role == "supadmin" || entityUser.role == "developer") && (dataForm.idGroup == "" || String(dataForm.idGroup) == "null")) { + nilai = true + } + + setDisable(nilai) + } + + useEffect(() => { + checkAll() + }, [dataForm]) + + async function handleTambah() { + try { + setDisable(true) + const hasil = await decryptToken(String(token?.current)) + const response = await apiCreatePosition({ user: hasil, name: dataForm.name, idGroup: dataForm.idGroup }) + dispatch(setUpdatePosition(!update)) + } catch (error) { + console.error(error) + } finally { + setDisable(false) + Toast.show({ type: 'small', text1: 'Berhasil menambahkan data', }) + onClose() + } + + } + + return ( + <> + + + { + (entityUser.role == 'supadmin' || entityUser.role == 'developer') && + { + setSelect(true) + }} + error={error.idGroup} + errorText="Lembaga Desa harus diisi" + /> + } + { validationForm(value, 'name') }} + error={error.name} + errorText="Nama jabatan harus diisi" + value={dataForm.name} + /> + + + { handleTambah() }} + disabled={disable} /> + + + + { + validationForm(value.val, 'idGroup') + setChoose(value) + setSelect(false) + }} + title="Lembaga Desa" + open={isSelect} + valChoose={choose.val} + /> + + ) +} \ No newline at end of file From 77cd07ad7a9d318df90ad5f9483e224ac1683375 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 16:52:08 +0800 Subject: [PATCH 6/7] upd: upd new folder Deskripsi: - bisa membuat folder baru saat salin atau pindah file pada fitur dokumen divisi No Issues --- components/document/modalNewFolder.tsx | 65 ++++++++++++++++++++++++++ components/document/modalSalinMove.tsx | 5 +- 2 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 components/document/modalNewFolder.tsx diff --git a/components/document/modalNewFolder.tsx b/components/document/modalNewFolder.tsx new file mode 100644 index 0000000..43927ac --- /dev/null +++ b/components/document/modalNewFolder.tsx @@ -0,0 +1,65 @@ +import Styles from "@/constants/Styles"; +import { apiCreateFolderDocument } from "@/lib/api"; +import { useAuthSession } from "@/providers/AuthProvider"; +import { useLocalSearchParams } from "expo-router"; +import { useState } from "react"; +import { Pressable, View } from "react-native"; +import Toast from "react-native-toast-message"; +import Text from "../Text"; +import { InputForm } from "../inputForm"; +import ModalFloat from "../modalFloat"; + +export function ModalNewFolder({ path, onCreated }: { path: string, onCreated: () => void }) { + const { token, decryptToken } = useAuthSession() + const [newFolder, setNewFolder] = useState(false) + const [name, setName] = useState("") + const [loadingFolder, setLoadingFolder] = useState(false) + const { id } = useLocalSearchParams<{ id: string }>(); + + + async function handleCreateFolder() { + try { + setLoadingFolder(true) + const hasil = await decryptToken(String(token?.current)) + const response = await apiCreateFolderDocument({ data: { user: hasil, name, path, idDivision: id } }) + if (response.success) { + Toast.show({ type: 'small', text1: 'Berhasil membuat folder baru', }) + } else { + Toast.show({ type: 'small', text1: response.message, }) + } + } catch (error) { + console.error(error) + Toast.show({ type: 'small', text1: 'Terjadi kesalahan', }) + } finally { + onCreated() + setLoadingFolder(false) + setNewFolder(false) + } + } + + return ( + <> + setNewFolder(true)}> + FOLDER BARU + + + { setNewFolder(false) }} + disableSubmit={name == "" || loadingFolder} + onSubmit={() => { handleCreateFolder() }} + > + + { setName(value) }} + /> + + + + ) +} \ No newline at end of file diff --git a/components/document/modalSalinMove.tsx b/components/document/modalSalinMove.tsx index 670eb8e..01a4e96 100644 --- a/components/document/modalSalinMove.tsx +++ b/components/document/modalSalinMove.tsx @@ -8,6 +8,7 @@ import { Pressable, View } from "react-native" import BorderBottomItem from "../borderBottomItem" import DrawerBottom from "../drawerBottom" import Text from "../Text" +import { ModalNewFolder } from "./modalNewFolder" type Props = { open: boolean @@ -106,9 +107,7 @@ export default function ModalSalinMove({ open, close, category, onConfirm, dataC } - close(false)}> - BATAL - + getData()} /> onConfirm(path)}> {category == 'copy' ? 'SALIN' : 'PINDAH'} From c775b06dc3961d78a1a670249a91787a20bb1428 Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Fri, 29 Aug 2025 16:56:09 +0800 Subject: [PATCH 7/7] upd: load dokumen divisi Deskripsi: - ilangin skeleton loading pada path load data No Issues --- .../[id]/(fitur-division)/document/index.tsx | 33 ++++++++----------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/app/(application)/division/[id]/(fitur-division)/document/index.tsx b/app/(application)/division/[id]/(fitur-division)/document/index.tsx index a444b4a..3f90895 100644 --- a/app/(application)/division/[id]/(fitur-division)/document/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/document/index.tsx @@ -363,25 +363,20 @@ export default function DocumentDivision() { { - loading ? - arrSkeleton.map((item, index) => ( - - )) - : - dataJalur.map((item, index) => ( - { - setPath(item.id); - }} - > - {item.id != "home" && ( - - )} - {item.name} - - )) + dataJalur.map((item, index) => ( + { + setPath(item.id); + }} + > + {item.id != "home" && ( + + )} + {item.name} + + )) }