From 4111392f17c7d46606eca889861196568775eb11 Mon Sep 17 00:00:00 2001 From: amel Date: Thu, 13 Mar 2025 11:31:30 +0800 Subject: [PATCH] upd: tampilan Deskripsi: - tampilan form tambah banner - button save header tambah banner - tampilan form edit banner - button save header edit banner - padding form input with icon left or right No Issues --- app/(application)/banner/[id].tsx | 12 ++++---- app/(application)/banner/create.tsx | 16 +++++----- app/(application)/discussion/[id].tsx | 1 + .../discussion/[detail]/index.tsx | 11 +++---- app/(application)/notification.tsx | 18 +++++------ components/buttonBackHeader.tsx | 2 +- components/buttonSaveHeader.tsx | 30 +++++++++++++++++++ components/inputForm.tsx | 6 ++-- 8 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 components/buttonSaveHeader.tsx diff --git a/app/(application)/banner/[id].tsx b/app/(application)/banner/[id].tsx index c32ebf8..1823298 100644 --- a/app/(application)/banner/[id].tsx +++ b/app/(application)/banner/[id].tsx @@ -1,13 +1,12 @@ -import AlertKonfirmasi from "@/components/alertKonfirmasi" import ButtonBackHeader from "@/components/buttonBackHeader" -import { ButtonForm } from "@/components/buttonForm" +import ButtonSaveHeader from "@/components/buttonSaveHeader" import { InputForm } from "@/components/inputForm" import Styles from "@/constants/Styles" import { Entypo } from "@expo/vector-icons" import * as ImagePicker from 'expo-image-picker' import { router, Stack } from "expo-router" import { useState } from "react" -import { Image, Pressable, SafeAreaView, ScrollView, Text, ToastAndroid, View } from "react-native" +import { Image, Pressable, SafeAreaView, ScrollView, Text, View } from "react-native" export default function EditBanner() { const [selectedImage, setSelectedImage] = useState(undefined) @@ -33,6 +32,7 @@ export default function EditBanner() { headerLeft: () => { router.back() }} />, headerTitle: 'Edit Banner', headerTitleAlign: 'center', + headerRight: () => }} /> @@ -53,8 +53,8 @@ export default function EditBanner() { ) } - - + {/* { AlertKonfirmasi({ @@ -65,7 +65,7 @@ export default function EditBanner() { router.push('/banner') } }) - }} /> + }} /> */} diff --git a/app/(application)/banner/create.tsx b/app/(application)/banner/create.tsx index 1a975d4..68d9ff4 100644 --- a/app/(application)/banner/create.tsx +++ b/app/(application)/banner/create.tsx @@ -1,13 +1,12 @@ -import AlertKonfirmasi from "@/components/alertKonfirmasi"; import ButtonBackHeader from "@/components/buttonBackHeader"; -import { ButtonForm } from "@/components/buttonForm"; +import ButtonSaveHeader from "@/components/buttonSaveHeader"; import { InputForm } from "@/components/inputForm"; import Styles from "@/constants/Styles"; import { Entypo } from "@expo/vector-icons"; import * as ImagePicker from 'expo-image-picker'; import { router, Stack } from "expo-router"; import { useState } from "react"; -import { Image, Pressable, SafeAreaView, ScrollView, Text, ToastAndroid, View } from "react-native"; +import { Image, Pressable, SafeAreaView, ScrollView, Text, View } from "react-native"; export default function CreateBanner() { const [selectedImage, setSelectedImage] = useState(undefined) @@ -33,6 +32,7 @@ export default function CreateBanner() { headerLeft: () => { router.back() }} />, headerTitle: 'Tambah Banner', headerTitleAlign: 'center', + headerRight: () => }} /> @@ -41,11 +41,11 @@ export default function CreateBanner() { { selectedImage != undefined ? ( - + ) : ( - + Mohon unggah gambar dalam resolusi 1535 x 450 piksel untuk memastikan @@ -53,8 +53,8 @@ export default function CreateBanner() { ) } - - + {/* { AlertKonfirmasi({ @@ -65,7 +65,7 @@ export default function CreateBanner() { router.push('/banner') } }) - }} /> + }} /> */} diff --git a/app/(application)/discussion/[id].tsx b/app/(application)/discussion/[id].tsx index 046efd7..b791cc0 100644 --- a/app/(application)/discussion/[id].tsx +++ b/app/(application)/discussion/[id].tsx @@ -142,6 +142,7 @@ export default function DetailDiscussionGeneral() { type="default" round placeholder="Kirim Komentar" + bg="white" itemRight={ } 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 ba61f66..78a0046 100644 --- a/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx +++ b/app/(application)/division/[id]/(fitur-division)/discussion/[detail]/index.tsx @@ -29,11 +29,12 @@ export default function DiscussionDetail() { - - + } - title="Danantara" + title="Amalia Dwi" subtitle={ } @@ -137,7 +138,7 @@ export default function DiscussionDetail() { - + @@ -32,7 +32,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -43,7 +43,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -54,7 +54,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -65,7 +65,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -76,7 +76,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -87,7 +87,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -98,7 +98,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> @@ -109,7 +109,7 @@ export default function Notification() { desc="Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum temporibus" /> diff --git a/components/buttonBackHeader.tsx b/components/buttonBackHeader.tsx index 7585a9f..86fdb79 100644 --- a/components/buttonBackHeader.tsx +++ b/components/buttonBackHeader.tsx @@ -10,7 +10,7 @@ export default function ButtonBackHeader({ onPress }: Props) { <> } - onPress={onPress} + onPress={() => { onPress && onPress() }} /> ) diff --git a/components/buttonSaveHeader.tsx b/components/buttonSaveHeader.tsx new file mode 100644 index 0000000..6c4cad2 --- /dev/null +++ b/components/buttonSaveHeader.tsx @@ -0,0 +1,30 @@ +import { Feather } from "@expo/vector-icons" +import { ButtonHeader } from "./buttonHeader" +import AlertKonfirmasi from "./alertKonfirmasi" + +type Props = { + category: 'create' | 'update' + onPress?: () => void + disable?: boolean +} + +export default function ButtonSaveHeader({ category, onPress, disable }: Props) { + return ( + <> + } + onPress={() => { + AlertKonfirmasi({ + title: 'Konfirmasi', + desc: category == 'create' ? 'Apakah anda yakin ingin menambahkan data?' : 'Apakah anda yakin mengubah data?', + onPress: () => { + onPress && onPress() + } + }) + } + + } + /> + + ) +} \ No newline at end of file diff --git a/components/inputForm.tsx b/components/inputForm.tsx index f473550..c448d00 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})} @@ -66,7 +66,7 @@ export function InputForm({ label, placeholder, onChange, info, error, errorText onChangeText={onChange} /> {error && ({errorText})} - {info != undefined && ({info})} + {info != undefined && ({info})} ) } \ No newline at end of file