diff --git a/navigation/assets/home-active.png b/navigation/assets/home-active.png new file mode 100644 index 0000000..912191c Binary files /dev/null and b/navigation/assets/home-active.png differ diff --git a/navigation/assets/home-deactive.png b/navigation/assets/home-deactive.png new file mode 100644 index 0000000..7c5dd08 Binary files /dev/null and b/navigation/assets/home-deactive.png differ diff --git a/navigation/assets/video-active.png b/navigation/assets/video-active.png new file mode 100644 index 0000000..80fe4ad Binary files /dev/null and b/navigation/assets/video-active.png differ diff --git a/navigation/assets/video-deactive.png b/navigation/assets/video-deactive.png new file mode 100644 index 0000000..309bfe8 Binary files /dev/null and b/navigation/assets/video-deactive.png differ diff --git a/navigation/index.js b/navigation/index.js index bb471b9..fc2d372 100644 --- a/navigation/index.js +++ b/navigation/index.js @@ -1,4 +1,5 @@ import React, { useEffect } from "react"; +import { Image } from "react-native"; import { NavigationContainer } from "@react-navigation/native"; import { createNativeStackNavigator } from "@react-navigation/native-stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; @@ -28,8 +29,15 @@ import Exams from "../src/screens/Exams"; import ShoppingCart from "../src/screens/ShoppingCart"; import Video from "../src/screens/Video"; import VideoDisplay from "../src/screens/VideoDisplay"; +import Contact from "../src/screens/Contact"; import { user } from "../src/redux/actions"; +//assets +import homeDeactiveIcon from "./assets/home-deactive.png"; +import homeActiveIcon from "./assets/home-active.png"; +import videoActiveIcon from "./assets/video-active.png"; +import videoDeactiveIcon from "./assets/video-deactive.png"; + const width = Dimensions.get("window").width; const Tab = createBottomTabNavigator(); @@ -44,12 +52,15 @@ const BottomTabNavigator = () => { tabBarStyle: { backgroundColor: "#CCE6FF", zIndex: 10, + paddingVertical: 10, + height: 60, }, tabBarLabelStyle: { - fontSize: width / 39, - fontFamily: "light", + fontSize: width / 36, + fontFamily: "regular", + marginTop: 5, }, - tabBarShowLabel: false, + tabBarShowLabel: true, // tabBarLabel : 'reza' }} > @@ -70,13 +81,18 @@ const BottomTabNavigator = () => { name="VODTab" component={VODStackScreen} options={{ - tabBarIcon: ({ focused, color }) => ( - - ), + tabBarIcon: ({ focused, color }) => + focused ? ( + + ) : ( + + ), }} /> { name="HomeTab" component={HomeStackScreen} options={{ - tabBarIcon: ({ focused, color }) => ( - - ), + tabBarIcon: ({ focused, color }) => + focused ? ( + + ) : ( + + ), }} /> @@ -156,7 +177,6 @@ const AuthStackScreen = () => { ); }; - const Stack = createNativeStackNavigator(); const Navigation = ({ getStatus, isLogin }) => { useEffect(() => { @@ -178,6 +198,7 @@ const Navigation = ({ getStatus, isLogin }) => { + ); diff --git a/src/components/Drawer.js b/src/components/Drawer.js index 3e086e4..45f8c56 100644 --- a/src/components/Drawer.js +++ b/src/components/Drawer.js @@ -65,6 +65,13 @@ const Drawer = ({ position, setBoxPosition }) => { icon: , toast: "", message: "", + }, + { + name: "تماس با ما", + route: "Contact", + icon: , + toast: "", + message: "", } ]); const navigation = useNavigation(); diff --git a/src/components/Header.js b/src/components/Header.js index 33ff75d..a978f8a 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -1,33 +1,44 @@ -import React from 'react'; -import {View, Text, Dimensions, Image} from 'react-native'; -import tw from 'tailwind-react-native-classnames'; +import React, { useState, useEffect } from "react"; +import { View, Text, Dimensions, Image, ImageBackground } from "react-native"; +import tw from "tailwind-rn"; -const width = Dimensions.get('window').width; -const height = Dimensions.get('window').height; +const width = Dimensions.get("window").width; +const height = Dimensions.get("window").height; -export default function Header({icon, title, description, background}) { +export default function Header({ title, description, background }) { return ( - - - + - {title} - + tw( + "w-full" + ), + { height: "80%" }, + ]} + > + - {description} - + style={[ + { fontSize: width / 25, color: "#196EC0", fontFamily: "bold" }, + tw(" mb-1"), + ]} + > + {title} + + + {description} + ); } diff --git a/src/screens/Activation/index.js b/src/screens/Activation/index.js index 16f786a..bb947cb 100644 --- a/src/screens/Activation/index.js +++ b/src/screens/Activation/index.js @@ -16,7 +16,6 @@ import { connect } from "react-redux"; import tw from "tailwind-rn"; import Header from "../../components/Header"; import Navbar from "../../components/Navbar"; -import Drawer from "../../components/Drawer"; import CustomPressable from "../../components/Pressable"; import Or from "../../components/Or"; @@ -35,12 +34,6 @@ function Activation({}) { message: null, file: null, }); - const [position, setPosition] = useState("100%"); - - const setBoxPosition = () => { - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - setPosition(position === "100%" ? "0%" : "100%"); - }; const onChange = (name, value) => { setFormData({ ...formData, [name]: value }); @@ -55,19 +48,17 @@ function Activation({}) { > - { + return ( + + + + + {info.title.text} + + + {info.description.text} + + + {info?.link?.title} + + + + ); +}; + +export default Box; diff --git a/src/screens/Contact/assets/address.png b/src/screens/Contact/assets/address.png new file mode 100644 index 0000000..a132e33 Binary files /dev/null and b/src/screens/Contact/assets/address.png differ diff --git a/src/screens/Contact/assets/call.png b/src/screens/Contact/assets/call.png new file mode 100644 index 0000000..f9a31df Binary files /dev/null and b/src/screens/Contact/assets/call.png differ diff --git a/src/screens/Contact/assets/contact-bg.png b/src/screens/Contact/assets/contact-bg.png new file mode 100644 index 0000000..cbf872e Binary files /dev/null and b/src/screens/Contact/assets/contact-bg.png differ diff --git a/src/screens/Contact/assets/online-support.png b/src/screens/Contact/assets/online-support.png new file mode 100644 index 0000000..04195e3 Binary files /dev/null and b/src/screens/Contact/assets/online-support.png differ diff --git a/src/screens/Contact/index.js b/src/screens/Contact/index.js index b441d2e..2057f5d 100644 --- a/src/screens/Contact/index.js +++ b/src/screens/Contact/index.js @@ -1,13 +1,116 @@ -import React from 'react' -import { View, Text } from 'react-native'; -import {connect} from 'react-redux'; +import React, { useState, useEffect } from "react"; +import { + View, + Dimensions, + ScrollView, + SafeAreaView, + Platform, + StatusBar, +} from "react-native"; +import { connect } from "react-redux"; +import { faq } from "../../redux/actions"; +import tw from "tailwind-rn"; -function Contact({}) { +import Header from "../../components/Header"; +import Navbar from "../../components/Navbar"; +import Box from './Box'; + +//assets +import onlineSupportIcon from "./assets/online-support.png"; +import callIcon from "./assets/call.png"; +import addressIcon from "./assets/address.png"; +import bgContact from "./assets/contact-bg.png"; + +const { width, height } = Dimensions.get("window"); + +function Contact({ info }) { return ( - - - - ) + + +
+ + {Object.keys(info).map((item, index) => ( + + ))} + + + ); } -export default Contact; +const mapStateToProps = (state) => ({}); + +const mapDispatchToProps = {}; + +export default connect(mapStateToProps, mapDispatchToProps)(Contact); + +Contact.defaultProps = { + info: { + onlineSupport: { + icon: onlineSupportIcon, + title: { text: "پشتیبانی آنلاین", color: "#D3B702" }, + description: { + text: "همکاران ما در قسمت فروش و پشتیبانی، پاسخگوی شما هستند هر سوالی در مورد کتاب‌های ما داشتید بپرسید", + color: "#766600", + }, + link: { + title: "ارتباط با بخش پشتیبانی", + link: "/support", + color: "#766600", + }, + bg: "#D3B70222", + borderColor: "#D3B70255", + }, + call: { + icon: callIcon, + title: { text: "شماره تماس", color: "#06A02A" }, + description: { + text: "در صورت هرگونه سوال شما می‌توانید در ساعات اداری 9 الی 17 با شماره 021۸۸۸۱۴۶۳۷ تماس حاصل فرمایید", + color: "#025816", + }, + link: null, + bg: "#69FF5F22", + borderColor: "#69FF5F55", + }, + address: { + icon: addressIcon, + title: { text: "نشانی", color: "#0EAD98" }, + description: { + text: "نشانی دفتر مرکزی: تهران میدان فردوسی خیابان عباس موسوی پلاک 30", + color: "#066A5C", + }, + link: { + title: "لیست نمایندگی‌های فروش", + link: "/sell", + color: "#0A7769", + }, + bg: "#0A776922", + borderColor: "#0A776955", + }, + }, +}; diff --git a/src/screens/Faq/index.js b/src/screens/Faq/index.js index 018ffb1..d6ca68d 100644 --- a/src/screens/Faq/index.js +++ b/src/screens/Faq/index.js @@ -14,7 +14,6 @@ import { faq } from "../../redux/actions"; import tw from "tailwind-rn"; import Header from "../../components/Header"; import Navbar from "../../components/Navbar"; -import Drawer from "../../components/Drawer"; import Search from "../../components/Search"; import Instance from "./components/Instance"; import bgFaq from "./assets/bgFaq.png"; @@ -22,17 +21,10 @@ import bgFaq from "./assets/bgFaq.png"; const width = Dimensions.get("window").width; function Faq({ list, getFaq, searchResult, search, selectFaq, searchFaq }) { - const [position, setPosition] = useState("100%"); - useEffect(() => { getFaq(); }, []); - const setBoxPosition = () => { - LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - setPosition(position === "100%" ? "0%" : "100%"); - }; - const onChange = (name, value) => {}; return ( @@ -44,9 +36,8 @@ function Faq({ list, getFaq, searchResult, search, selectFaq, searchFaq }) { }} > -