From d3779fcf5d6d5f80b5d26c1a350721574b9b555c Mon Sep 17 00:00:00 2001 From: amel Date: Thu, 6 Mar 2025 15:37:53 +0800 Subject: [PATCH] upd: division Deskripsi: - ui list diviis - nb: blm selesai No Issues --- app/(application)/_layout.tsx | 7 ++++ app/(application)/division/index.tsx | 47 ++++++++++++++++++++++ app/(application)/feature.tsx | 2 +- components/division/headerDivisionList.tsx | 47 ++++++++++++++++++++++ components/home/fiturHome.tsx | 2 +- components/inputForm.tsx | 4 +- components/inputSearch.tsx | 1 + components/modalFilter.tsx | 2 +- 8 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 app/(application)/division/index.tsx create mode 100644 components/division/headerDivisionList.tsx diff --git a/app/(application)/_layout.tsx b/app/(application)/_layout.tsx index 2650703..c2b02ad 100644 --- a/app/(application)/_layout.tsx +++ b/app/(application)/_layout.tsx @@ -1,5 +1,6 @@ import ButtonBackHeader from "@/components/buttonBackHeader"; import HeaderDiscussionGeneral from "@/components/discussion_general/headerDiscussionGeneral"; +import HeaderRightDivisionList from "@/components/division/headerDivisionList"; import HeaderMemberList from "@/components/member/headerMemberList"; import HeaderRightProjectList from "@/components/project/headerProjectList"; import { Headers } from "@/constants/Headers"; @@ -35,6 +36,12 @@ export default function RootLayout() { headerTitleAlign: 'center', headerRight: () => }} /> + { router.back() }} />, + title: 'Divisi', + headerTitleAlign: 'center', + headerRight: () => + }} /> diff --git a/app/(application)/division/index.tsx b/app/(application)/division/index.tsx new file mode 100644 index 0000000..93a2a9d --- /dev/null +++ b/app/(application)/division/index.tsx @@ -0,0 +1,47 @@ +import ButtonTab from "@/components/buttonTab" +import InputSearch from "@/components/inputSearch" +import Styles from "@/constants/Styles" +import { AntDesign, Feather, MaterialCommunityIcons } from "@expo/vector-icons" +import { router, useLocalSearchParams } from "expo-router" +import { useState } from "react" +import { Pressable, SafeAreaView, ScrollView, Text, View } from "react-native" + +export default function ListDivision() { + const { active } = useLocalSearchParams<{ active?: string }>() + const [isList, setList] = useState(false) + + return ( + + + + + { router.push('/division?active=true') }} + label="Aktif" + icon={} + n={2} /> + { router.push('/division?active=false') }} + label="Tidak Aktif" + icon={} + n={2} /> + + + + { setList(!isList) }}> + + + + + Filter : Dinas + + + + + + ) +} \ No newline at end of file diff --git a/app/(application)/feature.tsx b/app/(application)/feature.tsx index 0979781..1a0e547 100644 --- a/app/(application)/feature.tsx +++ b/app/(application)/feature.tsx @@ -17,7 +17,7 @@ export default function Feature() { /> - } text="Divisi" /> + } text="Divisi" onPress={() => { router.push('/division?active=true') }} /> } text="Kegiatan" onPress={() => { router.push('/project?status=0') }} /> } text="Pengumuman" onPress={() => { router.push('/announcement') }} /> } text="Diskusi" onPress={() => { router.push('/discussion?active=true') }} /> diff --git a/components/division/headerDivisionList.tsx b/components/division/headerDivisionList.tsx new file mode 100644 index 0000000..ec4cf38 --- /dev/null +++ b/components/division/headerDivisionList.tsx @@ -0,0 +1,47 @@ +import { useState } from "react" +import ButtonMenuHeader from "../buttonMenuHeader" +import DrawerBottom from "../drawerBottom" +import { View } from "react-native" +import Styles from "@/constants/Styles" +import MenuItemRow from "../menuItemRow" +import { AntDesign, MaterialCommunityIcons } from "@expo/vector-icons" +import ModalFilter from "../modalFilter" + +export default function HeaderRightDivisionList() { + const [isVisible, setVisible] = useState(false) + const [isFilter, setFilter] = useState(false) + return ( + <> + { setVisible(true) }} /> + + + } + title="Tambah Kegiatan" + onPress={() => { + setVisible(false) + // router.push('/project/create') + }} + /> + } + title="Filter" + onPress={() => { + setVisible(false) + setFilter(true) + }} + /> + } + title="Laporan" + onPress={() => { + setVisible(false) + // router.push('/project/create') + }} + /> + + + { setFilter(false) }} open={isFilter} page="division" /> + + ) +} \ No newline at end of file diff --git a/components/home/fiturHome.tsx b/components/home/fiturHome.tsx index b64503a..c698e71 100644 --- a/components/home/fiturHome.tsx +++ b/components/home/fiturHome.tsx @@ -10,7 +10,7 @@ export default function FiturHome() { Fitur - } text="Divisi" /> + } text="Divisi" onPress={() => { router.push('/division?active=true') }} /> } text="Kegiatan" onPress={() => { router.push('/project?status=0') }} /> } text="Pengumuman" onPress={() => { router.push('/announcement') }} /> } text="Semua" onPress={() => { router.push('/feature') }} /> diff --git a/components/inputForm.tsx b/components/inputForm.tsx index a829607..099944a 100644 --- a/components/inputForm.tsx +++ b/components/inputForm.tsx @@ -32,13 +32,13 @@ export function InputForm({ label, placeholder, onChange, info, error, errorText ) } - + {itemRight != undefined ? itemRight : itemLeft} {error && ({errorText})} diff --git a/components/inputSearch.tsx b/components/inputSearch.tsx index 135cfbd..adf43dc 100644 --- a/components/inputSearch.tsx +++ b/components/inputSearch.tsx @@ -10,6 +10,7 @@ export default function InputSearch({ onChange, width }: { onChange?: (val: stri itemLeft={} onChange={onChange} width={width} + bg="white" /> ) } \ No newline at end of file diff --git a/components/modalFilter.tsx b/components/modalFilter.tsx index 2c34e0b..b594800 100644 --- a/components/modalFilter.tsx +++ b/components/modalFilter.tsx @@ -9,7 +9,7 @@ import { router } from "expo-router" type Props = { open: boolean, close: (value: boolean) => void - page: 'position' | 'member' | 'discussion' | 'project' + page: 'position' | 'member' | 'discussion' | 'project' | 'division' } export default function ModalFilter({ open, close, page }: Props) {