upd : banner

Deskripsi:
- home > ketika tidak ada data banner
- banner list > ketika tidak ada data banner

No Issues
This commit is contained in:
2025-08-22 12:00:23 +08:00
parent 1dc69b64d2
commit f5c29e86fa
2 changed files with 61 additions and 35 deletions

View File

@@ -9,6 +9,7 @@ import { Dimensions, Image, View } from "react-native";
import { useSharedValue } from "react-native-reanimated";
import Carousel, { ICarouselInstance } from "react-native-reanimated-carousel";
import { useDispatch, useSelector } from "react-redux";
import Text from "../Text";
export default function CaraouselHome() {
const { decryptToken, token } = useAuthSession()
@@ -21,7 +22,13 @@ export default function CaraouselHome() {
async function handleBannerView() {
const hasil = await decryptToken(String(token?.current))
apiGetBanner({ user: hasil }).then((data) => dispatch(setEntities(data.data)))
apiGetBanner({ user: hasil }).then((data) => {
if (data.data.length > 0) {
dispatch(setEntities(data.data))
} else {
dispatch(setEntities([]))
}
})
}
async function handleUser() {
@@ -40,22 +47,30 @@ export default function CaraouselHome() {
return (
<View style={[Styles.mv15]}>
<Carousel
ref={ref}
width={width}
height={width / 2.5}
data={entities}
loop={true}
autoPlay={true}
autoPlayInterval={5000}
onProgressChange={progress}
renderItem={({ index }) => (
<Image
source={{ uri: `${ConstEnv.url_storage}/files/${entities[index].image}` }}
style={[Styles.caraoselContent]}
{
entities.length > 0 ?
<Carousel
ref={ref}
width={width}
height={width / 2.5}
data={entities}
loop={true}
autoPlay={true}
autoPlayInterval={5000}
onProgressChange={progress}
renderItem={({ index }) => (
<Image
source={{ uri: `${ConstEnv.url_storage}/files/${entities[index].image}` }}
style={[Styles.caraoselContent]}
/>
)}
/>
)}
/>
:
<View style={[Styles.caraoselContent, { height: width / 2.5 }]}>
<Text style={[Styles.textDefault, Styles.cWhite, { textAlign: 'center' }]}>BANNER</Text>
</View>
}
</View>
)
}