Merge pull request 'amalia/28-agustus-25' (#31) from amalia/28-agustus-25 into join

Reviewed-on: bip/mobile-darmasaba#31
This commit is contained in:
2025-08-28 17:41:58 +08:00
10 changed files with 13 additions and 39 deletions

View File

@@ -99,7 +99,7 @@ export default function CreateAnnouncement() {
headerTitleAlign: "center",
headerRight: () => (
<ButtonSaveHeader
disable={disableBtn || loading ? true : false}
disable={disableBtn || divisionMember.length == 0 || loading ? true : false}
category="create"
onPress={() => {
divisionMember.length == 0

View File

@@ -114,7 +114,7 @@ export default function Announcement() {
</View>
}
title={item.title}
desc={item.desc.replace(/<[^>]*>?/gm, '')}
desc={item.desc.replace(/<[^>]*>?/gm, '').replace(/\r?\n|\r/g, ' ')}
rightTopInfo={item.createdAt}
/>
)

View File

@@ -153,7 +153,7 @@ export default function Discussion() {
status != "false" && <LabelStatus category={item.status === 1 ? "success" : "error"} text={item.status === 1 ? "BUKA" : "TUTUP"} size="small" />
}
rightTopInfo={item.createdAt}
desc={item.desc}
desc={item.desc.replace(/<[^>]*>?/gm, ' ').replace(/\r?\n|\r/g, ' ')}
leftBottomInfo={
<View style={[Styles.rowItemsCenter]}>
<Ionicons name="chatbox-ellipses-outline" size={18} color="grey" style={Styles.mr05} />
@@ -176,34 +176,6 @@ export default function Discussion() {
/>
}
/>
// data.map((item: any, i: number) => {
// return (
// <BorderBottomItem
// key={i}
// onPress={() => { router.push(`/discussion/${item.id}`) }}
// borderType="bottom"
// icon={
// <View style={[Styles.iconContent, ColorsStatus.lightGreen]}>
// <MaterialIcons name="chat" size={25} color={'#384288'} />
// </View>
// }
// title={item.title}
// subtitle={
// status != "false" && <LabelStatus category={item.status === 1 ? "success" : "error"} text={item.status === 1 ? "BUKA" : "TUTUP"} size="small" />
// }
// rightTopInfo={item.createdAt}
// desc={item.desc}
// leftBottomInfo={
// <View style={[Styles.rowItemsCenter]}>
// <Ionicons name="chatbox-ellipses-outline" size={18} color="grey" style={Styles.mr05} />
// <Text style={[Styles.textInformation, Styles.cGray, Styles.mb05]}>Diskusikan</Text>
// </View>
// }
// rightBottomInfo={`${item.total_komentar} Komentar`}
// />
// )
// })
:
<Text style={[Styles.textDefault, Styles.cGray, { textAlign: 'center' }]}>Tidak ada data</Text>
}

View File

@@ -7,6 +7,7 @@ import ImageUser from "@/components/imageNew"
import SectionCancel from "@/components/sectionCancel"
import Skeleton from "@/components/skeleton"
import SkeletonTwoItem from "@/components/skeletonTwoItem"
import Text from "@/components/Text"
import { ColorsStatus } from "@/constants/ColorsStatus"
import { ConstEnv } from "@/constants/ConstEnv"
import Styles from "@/constants/Styles"
@@ -15,7 +16,7 @@ import { useAuthSession } from "@/providers/AuthProvider"
import { Feather, MaterialCommunityIcons, MaterialIcons } from "@expo/vector-icons"
import { router, Stack, useLocalSearchParams } from "expo-router"
import { useEffect, useState } from "react"
import { Pressable, SafeAreaView, ScrollView, Text, View } from "react-native"
import { Pressable, SafeAreaView, ScrollView, View } from "react-native"
import Toast from "react-native-toast-message"
import { useSelector } from "react-redux"

View File

@@ -51,9 +51,8 @@ export default function CreateDivisionAddAdmin() {
async function handleAddMember() {
try {
setLoading(true)
dispatch(setFormCreateDivision({ ...update, admin: selectMember }))
const hasil = await decryptToken(String(token?.current))
const response = await apiCreateDivision({ ...update, user: hasil })
const response = await apiCreateDivision({ ...update, admin: selectMember, user: hasil })
if (response.success) {
Toast.show({ type: 'small', text1: 'Berhasil membuat divisi', })
dispatch(setFormCreateDivision({ admin: [], member: [], data: { idGroup: '', name: '', desc: '' } }))

View File

@@ -122,7 +122,7 @@ export default function EditProfile() {
}
} else if (cat == "phone") {
setData({ ...data, phone: val });
if (val == "" || !(val.length >= 10 && val.length <= 15)) {
if (val == "" || !(val.length >= 9 && val.length <= 16)) {
setError({ ...error, phone: true });
} else {
setError({ ...error, phone: false });

View File

@@ -117,7 +117,7 @@ export default function CreateMember() {
}
} else if (cat == "phone") {
setDataForm({ ...dataForm, phone: val });
if (val == "" || !(val.length >= 10 && val.length <= 15)) {
if (val == "" || !(val.length >= 9 && val.length <= 16)) {
setError({ ...error, phone: true });
} else {
setError({ ...error, phone: false });

View File

@@ -149,7 +149,7 @@ export default function EditMember() {
}
} else if (cat == "phone") {
setData({ ...data, phone: val });
if (val == "" || !(val.length >= 10 && val.length <= 15)) {
if (val == "" || !(val.length >= 9 && val.length <= 16)) {
setError({ ...error, phone: true });
} else {
setError({ ...error, phone: false });

View File

@@ -48,7 +48,7 @@ export default function BorderBottomItem({ title, subtitle, icon, desc, onPress,
</View>
</View>
{desc && <Text style={[Styles.textDefault, Styles.mt05, { textAlign: 'justify', color: textColorFix }]} numberOfLines={descEllipsize == false ? 0 : 2} ellipsizeMode='tail'>{desc}</Text>}
{desc && <Text style={[Styles.textDefault, Styles.mt05, { textAlign: 'left', color: textColorFix }]} numberOfLines={descEllipsize == false ? 0 : 2} ellipsizeMode='tail'>{desc}</Text>}
{
(leftBottomInfo || rightBottomInfo) &&
(

View File

@@ -7,7 +7,9 @@ const divisionCreate = createSlice({
idGroup: "",
name: "",
desc: "",
}, member: [], admin: [],
},
member: [],
admin: [],
},
reducers: {
setFormCreateDivision: (state, action) => {