You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

107 lines
2.7 KiB

import React, { useState, useEffect } from "react";
import { connect } from "react-redux";
import { asyncAwesomeAlert } from "../../utils/AsyncWrappers";
import { useNavigation } from "@react-navigation/native";
import {
View,
StyleSheet,
Dimensions,
ScrollView,
SafeAreaView,
Platform,
StatusBar,
LayoutAnimation,
BackHandler,
} from "react-native";
//components
import Navbar from "../../components/Navbar";
import Scroll from "./components/Scroll";
import MyBooks from "./components/MyBooks";
import Videos from "./components/Videos";
import Blogs from "./components/Blogs";
import Drawer from "../../components/Drawer";
import Header from "./components/Header";
//style
import tw from "tailwind-rn";
// Within your render function
const Home = ({ route, blogs, books, userProducts, mobile }) => {
const [position, setPosition] = useState("100%");
const navigation = useNavigation();
const setBoxPosition = () => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
setPosition(position === "100%" ? "0%" : "100%");
};
useEffect(() => {
console.log('route has been changed');
},[route]);
return (
<SafeAreaView
style={{
paddingTop: Platform.OS === "android" ? StatusBar.currentHeight : 0,
position: "relative",
flex: 1,
}}
>
<Navbar
setBoxPosition={setBoxPosition}
headerOptions={{
logo: true,
menu: false,
hamburgerMenu: true,
title: "",
bookmark: false,
qr: true,
back: false,
}}
/>
<Drawer setBoxPosition={setBoxPosition} position={position} />
<ScrollView
contentContainerStyle={styles.contentContainerStyle}
style={[styles.container]}
>
{!mobile && <View style={tw("mt-5")}></View>}
<MyBooks books={userProducts} />
<View style={tw("px-4 w-full")}>
<Header title={"فروشگاه"} route={"Products"} />
</View>
<Scroll books={books} />
<Videos videos={books} />
<Blogs blogs={blogs} />
</ScrollView>
</SafeAreaView>
);
};
// Later on in your styles..
const styles = StyleSheet.create({
contentContainerStyle: {
// paddingBottom: 40,
// flex : 1,
// alignItems: "",
},
container: {
backgroundColor: "white",
flexDirection: "column",
paddingVertical: 0,
paddingHorizontal: 0,
},
});
const mapStateToProps = (state) => ({
blogs: state.blog.list,
books: state.book.list,
userProducts: state.userProduct.list,
mobile: state.publicApi.isMobile,
});
const mapDispatchToProps = {
// getVideos: product.listVOD
};
export default connect(mapStateToProps, mapDispatchToProps)(Home);