import * as React from 'react';
import { useEffect, useState } from 'react';
import { SafeAreaView, ScrollView, RefreshControl, Alert } from 'react-native';
import NetInfo from "@react-native-community/netinfo";
import CustomHeader from '../../../components/header.js';
import Elements from '../../../components/elements.js';
import Theme from '../../../components/theme.style.js';
import DB from '../../../components/storage/';
import REQUEST from '../../../components/api/';
import CustomSafeArea from '../../../components/safeArea.component.js';
export default function Promos(navigation) {
const [loading, setloading] = useState(false);
const [connected, setconnection] = useState(false);
const [promos, setpromos] = useState([]);
const init = async () => {
setloading(true)
setconnection(true)
await REQUEST("promos", "get", {}, {}, {},
async (res) => {
if(res.status == 1 && res.data.length > 0){
await setpromos(res.data)
}
}, function(err){
Alert.alert("Information", `\n${err.message}`);
}, "Promos", "Fetch")
await setloading(false)
}
useEffect(() => {
NetInfo.fetch().then(state => {
if(state.isConnected){
init()
}else{
Elements.nointernet2(navigation)
}
});
}, [])
const renderPromos = () => {
return promos.map((data, index) => {
const isLastItem = index === promos.length - 1;
return (
{
navigation.navigation.navigate("PromoDetails", {
data: data,
onBackPress: () => null
});
}}
image={{uri: data.image}}
/>
);
});
};
if(!connected){
return (
{
NetInfo.fetch().then(state => {
if(state.isConnected){
init()
}else{
Elements.nointernet2(navigation)
}
})
}}
/>
)
}
return (
}
style={{flex: 1, padding: 10}}
showsVerticalScrollIndicator={false}
>
{renderPromos()}
);
}