diff --git a/app/(application)/discussion/[id].tsx b/app/(application)/discussion/[id].tsx index 101e2e7..04c1c42 100644 --- a/app/(application)/discussion/[id].tsx +++ b/app/(application)/discussion/[id].tsx @@ -160,7 +160,6 @@ export default function DetailDiscussionGeneral() { : } - // rightTopInfo={data?.createdAt} desc={data?.desc} leftBottomInfo={ @@ -224,7 +223,11 @@ export default function DetailDiscussionGeneral() { { (komentar != '' && data?.status === 1 && data?.isActive && (memberDiscussion || (entityUser.role != "user" && entityUser.role != "coadmin"))) && handleKomentar() - }}> + }} + style={[ + Platform.OS == 'android' && Styles.mb15, + ]} + > } diff --git a/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx b/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx index 529ba7f..94624f4 100644 --- a/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx @@ -324,12 +324,15 @@ export default function DiscussionDetail() { entityUser.role == "cosupadmin") && handleKomentar(); }} + style={[ + Platform.OS == 'android' && Styles.mb15, + ]} > diff --git a/app/(application)/division/[id]/(fitur-division)/document/index.tsx b/app/(application)/division/[id]/(fitur-division)/document/index.tsx index 3f90895..5f7db4d 100644 --- a/app/(application)/division/[id]/(fitur-division)/document/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/document/index.tsx @@ -18,6 +18,7 @@ import Styles from "@/constants/Styles"; import { apiDocumentDelete, apiDocumentRename, + apiGetDivisionOneFeature, apiGetDocument, apiShareDocument, } from "@/lib/api"; @@ -85,6 +86,8 @@ export default function DocumentDivision() { const update = useSelector((state: any) => state.dokumenUpdate) const [refreshing, setRefreshing] = useState(false) const [loadingOpen, setLoadingOpen] = useState(false) + const [isMemberDivision, setIsMemberDivision] = useState(false) + const entityUser = useSelector((state: any) => state.user) const [bodyRename, setBodyRename] = useState({ id: "", name: "", @@ -93,6 +96,24 @@ export default function DocumentDivision() { extension: "", }); + async function handleCheckMember() { + try { + const hasil = await decryptToken(String(token?.current)); + const response = await apiGetDivisionOneFeature({ + id, + user: hasil, + cat: "check-member", + }); + setIsMemberDivision(response.data); + } catch (error) { + console.error(error); + } + } + + useEffect(() => { + handleCheckMember() + }, [id]) + async function handleLoad(loading: boolean) { try { setLoading(loading) @@ -347,7 +368,7 @@ export default function DocumentDivision() { }} /> ) : ( - + ), }} /> @@ -407,6 +428,7 @@ export default function DocumentDivision() { : `${item.name}.${item.extension}` } dateTime={item.createdAt} + canChecked={(entityUser.role != "user" && entityUser.role != "coadmin") || isMemberDivision} onChecked={() => { handleCheckboxChange(index); }} diff --git a/app/(application)/division/[id]/(fitur-division)/task/[detail]/index.tsx b/app/(application)/division/[id]/(fitur-division)/task/[detail]/index.tsx index 8eb62fd..8c8d437 100644 --- a/app/(application)/division/[id]/(fitur-division)/task/[detail]/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/task/[detail]/index.tsx @@ -125,7 +125,7 @@ export default function DetailTaskDivision() { - + diff --git a/components/document/headerDocument.tsx b/components/document/headerDocument.tsx index 5893234..03fe8ed 100644 --- a/components/document/headerDocument.tsx +++ b/components/document/headerDocument.tsx @@ -15,7 +15,7 @@ import { InputForm } from "../inputForm"; import MenuItemRow from "../menuItemRow"; import ModalFloat from "../modalFloat"; -export default function HeaderRightDocument({ path }: { path: string }) { +export default function HeaderRightDocument({ path, isMember }: { path: string, isMember: boolean }) { const [isVisible, setVisible] = useState(false); const [newFolder, setNewFolder] = useState(false); const { id } = useLocalSearchParams<{ id: string }>(); @@ -25,6 +25,7 @@ export default function HeaderRightDocument({ path }: { path: string }) { const update = useSelector((state: any) => state.dokumenUpdate) const [loading, setLoading] = useState(false) const [loadingFolder, setLoadingFolder] = useState(false) + const entityUser = useSelector((state: any) => state.user) async function handleCreateFolder() { try { @@ -102,11 +103,14 @@ export default function HeaderRightDocument({ path }: { path: string }) { return ( <> - { - setVisible(true); - }} - /> + { + ((entityUser.role != "user" && entityUser.role != "coadmin") || isMember) && + { + setVisible(true); + }} + /> + } void onPress?: () => void + canChecked?: boolean } -export default function ItemFile({ category, checked, dateTime, title, onChecked, onPress }: Props) { +export default function ItemFile({ category, checked, dateTime, title, onChecked, onPress, canChecked }: Props) { return ( @@ -43,18 +44,22 @@ export default function ItemFile({ category, checked, dateTime, title, onChecked - + {title} {dateTime} - - { - checked - ? - : - } + { + !canChecked ? <> + : + + { + checked + ? + : + } - + + } diff --git a/components/inputForm.tsx b/components/inputForm.tsx index 294db84..71cba17 100644 --- a/components/inputForm.tsx +++ b/components/inputForm.tsx @@ -44,7 +44,11 @@ export function InputForm({ label, value, placeholder, onChange, info, disable, round && Styles.round30, { backgroundColor: bg && bg == 'white' ? 'white' : 'transparent' }, error && { borderColor: "red" }, - Platform.OS == 'ios' ? { paddingVertical: 10 } : { paddingVertical: 0 }, + Platform.OS == 'ios' ? { paddingVertical: 10 } : { paddingVertical: 0, minHeight: 40 }, + { alignItems: 'center' }, + multiline + ? { alignItems: "flex-end" } // multiline: tombol send di bawah + : { alignItems: "center" }, // default: tetap di tengah ]}> {itemRight != undefined ? itemRight : itemLeft} diff --git a/components/task/sectionMemberTask.tsx b/components/task/sectionMemberTask.tsx index 8bdb89b..39971cc 100644 --- a/components/task/sectionMemberTask.tsx +++ b/components/task/sectionMemberTask.tsx @@ -26,7 +26,7 @@ type Props = { position: string; }; -export default function SectionMemberTask({ refreshing, isMemberDivision }: { refreshing: boolean, isMemberDivision: boolean }) { +export default function SectionMemberTask({ refreshing, isAdminDivision }: { refreshing: boolean, isAdminDivision: boolean }) { const [isModal, setModal] = useState(false); const entityUser = useSelector((state: any) => state.user); const { token, decryptToken } = useAuthSession(); @@ -168,7 +168,7 @@ export default function SectionMemberTask({ refreshing, isMemberDivision }: { re { - (entityUser.role != "user" && entityUser.role != "coadmin") || isMemberDivision + (entityUser.role != "user" && entityUser.role != "coadmin") || isAdminDivision ?