Commit e54765ba authored by d.arizona's avatar d.arizona

create component, make a screen, etc

parent ee2ff593
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import {View, Text, Image} from 'react-native';
import styles from './Styles/AuthViewStyle';
import { TouchableOpacity } from 'react-native-gesture-handler';
import { Images } from '../Themes';
export default class AuthView extends Component {
// // Prop type warnings
static propTypes = {
close: PropTypes.func,
}
//
// // Defaults for props
static defaultProps = {
}
render() {
return (
<View
style={styles.container}>
<View style={{flexDirection: 'row', alignItems: 'center'}}>
<Image
source={Images.logo_eCartWhite}
style={{width: 85, height: 25, resizeMode: 'stretch'}}
/>
<Text
style={styles.leftText}>
Ingin dapat barang impianmu? Masuk
</Text>
</View>
<TouchableOpacity style={{alignItems: 'center'}} onPress={this.props.close}>
<Text
style={styles.rightText}>
{' '}
X{' '}
</Text>
</TouchableOpacity>
</View>
);
}
}
import React, {Component} from "react";
import PropTypes from "prop-types";
import {View, Text} from "react-native";
import styles from "./Styles/BaseTextStyle";
export default class BaseText extends Component {
// // Prop type warnings
static propTypes = {
type: PropTypes.oneOf(["regular", "light", "italic", "bold", "black"]),
text: PropTypes.string.isRequired,
};
// // Defaults for props
static defaultProps = {
type: "regular",
style: PropTypes.any,
};
render() {
return (
<Text style={[this.props.style, {fontFamily: this.props.type == "regular"? "Nunito-Regular" : this.props.type == "black"? "Nunito-Black": this.props.type == "italic"? "Nunito-Italic" : this.props.type == "light"? "Nunito-Light" : "Nunito-Bold"}]}>
{this.props.text}
</Text>
);
}
}
import { StyleSheet } from 'react-native'
export default StyleSheet.create({
container: {
flexGrow: 1,
paddingHorizontal: 20,
paddingTop: 15,
paddingBottom: 20,
width: '100%',
backgroundColor: '#rgba(76, 201, 240, .9)',
flexDirection: 'row',
justifyContent: 'space-between',
position: 'absolute',
bottom: 0,
zIndex: 10,
},
leftText: {
fontFamily: 'Nunito-Bold',
marginLeft: 5,
color: 'white',
fontSize: 12,
marginLeft: 10,
marginTop: -3,
},
rightText: {
fontFamily: 'Nunito-Bold',
fontSize: 14,
color: 'white',
marginTop: 2,
}
})
import { StyleSheet } from 'react-native'
export default StyleSheet.create({
container: {
flex: 1
}
})
import React, {Component} from 'react';
import {ScrollView, Text, KeyboardAvoidingView, View} from 'react-native';
import {ScrollView, Text, KeyboardAvoidingView, View, TouchableOpacity, StatusBar, NativeModules, Image, StyleSheet, BackHandler, Alert} from 'react-native';
import {connect} from 'react-redux';
import Carousel from 'react-native-snap-carousel';
import FontAwesome from 'react-native-vector-icons/FontAwesome'
import MenuDrawer from 'react-native-side-drawer'
const { StatusBarManager } = NativeModules;
const STATUSBAR_HEIGHT = Platform.OS === 'ios' ? 20: StatusBarManager.HEIGHT;
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/HomePageScreenStyle';
import { Images, Metrics } from '../Themes';
import AuthView from '../Components/AuthView';
import BaseText from '../Components/BaseText';
class HomePageScreen extends Component {
constructor(props) {
super(props)
this.state = {
opacity: 0,
data: [1,2,3,4,5,6,7,8],
activeSlide: 0,
bannerDummy: [Images.jam, Images.sepatu, Images.jaket, Images.celana],
open: false,
authView: true
}
}
toggleOpen = () => {
this.setState({ open: !this.state.open });
};
drawerContent = () => {
return (
<View style={{flexDirection: 'row', height: '110%', width: '100%',}}>
<View style={{width: '75%', backgroundColor: 'white', paddingTop: 20}}>
<View style={{flex: 1, backgroundColor: 'white', justifyContent:'center', alignItems:'center'}}>
<Image source={Images.comingSoon} style={{width: '100%', height: 160, resizeMode:'stretch'}}/>
<BaseText type={"italic"} text={'Under Development'} style={{fontSize: 16, marginLeft: 25, marginTop: -10}}/>
</View>
</View>
<TouchableOpacity style={{width: '25%', backgroundColor: 'transparent',}} onPress={this.toggleOpen}/>
</View>
);
};
handleScroll = (event) => {
var value = event.nativeEvent.contentOffset.y
if ( value <= 100 ) {
this.setState({opacity: value * 2 / 100})
} else {
this.setState({opacity: 1})
}
console.log(value)
}
_renderItem = ({item, index}) => {
return (
<View style={{height: '100%'}}>
<Image source={item} style={{width: Metrics.screenWidth, height: '100%'}}/>
</View>
);
}
backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to exit app?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;
};
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.backAction);
}
componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.backAction);
}
render() {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior="position">
<Text>Home Page Screen</Text>
</KeyboardAvoidingView>
</ScrollView>
<View style={{flex: 1, backgroundColor: 'white'}}>
<StatusBar backgroundColor={'transparent'} translucent={true} barStyle={this.state.open? 'light-content' : this.state.opacity >= .5? 'dark-content' : 'light-content'}/>
<View style={{marginTop: -5}}>
<MenuDrawer
open={this.state.open}
drawerContent={this.drawerContent()}
drawerPercentage={100}
animationTime={50}
overlay={true}
opacity={.6}
>
{/* <View style={{}}> */}
<View style={{zIndex: 1, flexGrow: 1, alignItems: 'center', width: '100%', elevation: this.state.opacity == 1? 10 : 0, position: 'absolute', top: 0, paddingBottom: 10, paddingHorizontal: 25, paddingTop: STATUSBAR_HEIGHT + 20, flexDirection: 'row', justifyContent: 'space-between', backgroundColor:`rgba(255, 255, 255, ${this.state.opacity})`}}>
<View style={{width: '10%'}}>
<FontAwesome onPress={() => this.setState({open: true})} name="bars" size={20} color={this.state.opacity >= .5? '#e3e3e3' : '#FFF'}/>
</View>
<View style={{width: '70%', alignItems:'center', flexDirection: 'row', paddingVertical: 12, paddingHorizontal: 15, backgroundColor: this.state.opacity >= .5? '#f1f1f1' : '#FFF', borderRadius: 25}}>
<FontAwesome name="search" size={15} color={'#4b4b4b'}/>
<Image source={Images.logo_eCart} style={{width: 75, height: 22, marginLeft: 15, resizeMode:'stretch'}}/>
</View>
<View style={{width: '15%'}}>
<Image source={Images.icon_chart} style={{width: 25, height: 20, marginLeft: 20, tintColor: this.state.opacity >= .5? '#e3e3e3' : '#FFF'}}/>
</View>
</View>
<View>
<ScrollView style={{backgroundColor:'white'}} onScroll={this.handleScroll} showsVerticalScrollIndicator={false}>
<View style={{height: 450, width: '100%', backgroundColor:'white'}}>
<Carousel
ref={(c) => { this._carousel = c; }}
data={this.state.bannerDummy}
renderItem={this._renderItem}
sliderWidth={Metrics.screenWidth}
itemWidth={Metrics.screenWidth}
autoplay={true}
loop={true}
loopClonesPerSide={this.state.bannerDummy.length}
// layout={'stack'}
onSnapToItem={(index) => this.setState({ activeSlide: index }) }
/>
</View>
<View style={{width: '100%', backgroundColor:'transparent', marginTop: -100}}>
{this.state.bannerDummy.length > 0 && <View style={{ backgroundColor:'transparent', alignItems:'center', width: "100%", padding: 20, flexDirection: 'row', justifyContent: 'center',}}>
{this.state.bannerDummy.map((item, index) => {
return(
<View key={index} style={{backgroundColor: this.state.activeSlide == index? '#4cc9f0' : '#e6e6e6', width: this.state.activeSlide == index? 10 : 5, height: this.state.activeSlide == index? 10 : 5, borderRadius: 10, marginLeft: index == 0? 0 : 10}}/>
)
})}
</View>}
<View style={{width: '100%', backgroundColor:'white', borderTopLeftRadius: 32, borderTopRightRadius: 32, paddingVertical: 20}}>
<View style={{flexDirection: 'row', paddingHorizontal: 25}}>
<View style={{flex: 1, alignItems: 'center',}}>
<BaseText type={"bold"} text={'KEMEJA'} style={{fontSize: 16, color: '#4b4b4b'}}/>
</View>
<View style={{flex: 1, alignItems: 'center',}}>
<BaseText type={"regular"} text={'JAKET'} style={{color: '#4b4b4b'}}/>
</View>
<View style={{flex: 1, alignItems: 'center',}}>
<BaseText type={"regular"} text={'SEPATU'} style={{color: '#4b4b4b'}}/>
</View>
</View>
<View style={{paddingVertical: 20}}>
<ScrollView horizontal={true} showsHorizontalScrollIndicator={false}>
{this.state.bannerDummy.map((item,index) => {
return (
<View key={index} style={{marginLeft: index == 0? 25 : 20, marginRight: index == this.state.bannerDummy.length - 1? 25 : 0}}>
<Image source={item} style={{height: 300, width: 200, borderRadius: 10,}}/>
</View>
)
})}
</ScrollView>
<View style={{marginTop: 20, alignItems: 'center',}}>
<BaseText type={"regular"} text={'Lihat Lainnya'} style={{textDecorationLine: 'underline', color: '#4b4b4b', fontSize: 12}}/>
</View>
</View>
</View>
</View>
<View style={{width: '100%', backgroundColor:'#4cc9f0', marginTop: -20, borderTopLeftRadius: 32, borderTopRightRadius: 32, paddingHorizontal: 25, paddingTop: 20, paddingBottom: 50}}>
<View style={{flexGrow: 1, flexDirection:'row', alignItems: 'center', justifyContent: 'space-between'}}>
<View style={{flexDirection:'row', alignItems: 'center',}}>
<BaseText type={"bold"} text={'Deals Of The Day'} style={{fontSize: 16, color: 'white'}}/>
<BaseText type={"regular"} text={'00'} style={{backgroundColor: 'white', borderRadius: 5, paddingHorizontal: 5, paddingVertical: 3, marginLeft: 10}}/>
<BaseText type={"regular"} text={':'} style={{color: 'white', marginLeft: 5, fontSize: 16}}/>
<BaseText type={"regular"} text={'55'} style={{backgroundColor: 'white', borderRadius: 5, paddingHorizontal: 5, paddingVertical: 3, marginLeft: 5}}/>
<BaseText type={"regular"} text={':'} style={{color: 'white', marginLeft: 5, fontSize: 16}}/>
<BaseText type={"regular"} text={'12'} style={{backgroundColor: 'white', borderRadius: 5, paddingHorizontal: 5, paddingVertical: 3, marginLeft: 5}}/>
</View>
<BaseText type={"bold"} text={'Lihat Semua'} style={{fontSize: 12, color: 'white'}}/>
</View>
<View style={{flexGrow: 1, width: '100%', borderRadius: 15, backgroundColor:'white', flexDirection: 'row', marginTop: 15, padding: 10}}>
<View style={{width: '40%', alignItems: 'center'}}>
<Image source={Images.bodyShop} style={{width: 100, height: 150}}/>
</View>
<View style={{width: '60%', flexDirection: 'column', paddingVertical: 10}}>
<BaseText type={"regular"} text={'The Body Shop Japanese Cherry Blossom Fragrance Mist 100ml'} style={{marginLeft: 5, color: '#4b4b4b'}}/>
<BaseText type={"light"} text={'Rp. 180.000'} style={{marginLeft: 5, marginVertical: 5, color: '#4b4b4b', fontSize: 12, textDecorationLine: 'line-through', textDecorationStyle: 'solid'}}/>
<BaseText type={"regular"} text={'Rp. 126.000'} style={{ marginLeft: 5, color: '#4cc9f0'}}/>
<BaseText type={"regular"} text={'28 Terjual'} style={{marginLeft: 5, marginTop: 10, color: '#4b4b4b'}}/>
</View>
</View>
</View>
<View style={{width: '100%', backgroundColor:'white', marginTop: -20, borderTopLeftRadius: 32, borderTopRightRadius: 32, paddingTop: 20, paddingBottom: 40, paddingHorizontal: 25}}>
<BaseText type={"bold"} text={'Featured Brand'} style={{fontSize: 16}}/>
<BaseText type={"light"} text={'Sponsored'} style={{color: '#4b4b4b'}}/>
<Image source={Images.beautyProduct} style={{width: '100%', height: 200, marginTop: 15, borderRadius: 15}}/>
</View>
</ScrollView>
</View>
{/* </View> */}
</MenuDrawer>
</View>
{this.state.authView && <AuthView close={() => this.setState({authView: false})}/>}
</View>
);
}
}
......
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/LoginScreenStyle'
class LoginScreen extends Component {
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>LoginScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
)
}
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispatchToProps = (dispatch) => {
return {
}
}
export default connect(mapStateToProps, mapDispatchToProps)(LoginScreen)
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { ScrollView, Text, KeyboardAvoidingView, View, Image, BackHandler, Alert } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/NotificationScreenStyle'
import { Images } from '../Themes'
import BaseText from '../Components/BaseText'
class NotificationScreen extends Component {
backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to exit app?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;
};
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.backAction);
}
componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.backAction);
}
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>NotificationScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
<View style={{flex: 1, backgroundColor: 'white', justifyContent:'center', alignItems:'center'}}>
<Image source={Images.comingSoon} style={{width: '100%', height: 250, resizeMode:'stretch'}}/>
<BaseText type={"italic"} text={'Under Development'} style={{fontSize: 16, marginLeft: 25, marginTop: -30}}/>
</View>
// <ScrollView style={styles.container}>
// <KeyboardAvoidingView behavior='position'>
// <Text>NotificationScreen</Text>
// </KeyboardAvoidingView>
// </ScrollView>
)
}
}
......
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/OtpVerificationScreenStyle'
class OtpVerificationScreen extends Component {
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>OtpVerificationScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
)
}
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispatchToProps = (dispatch) => {
return {
}
}
export default connect(mapStateToProps, mapDispatchToProps)(OtpVerificationScreen)
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { ScrollView, Text, KeyboardAvoidingView, Image, View, BackHandler, Alert } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/ProfileScreenStyle'
import { Images } from '../Themes'
import BaseText from '../Components/BaseText'
class ProfileScreen extends Component {
backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to exit app?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;
};
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.backAction);
}
componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.backAction);
}
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>ProfileScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
<View style={{flex: 1, backgroundColor: 'white', justifyContent:'center', alignItems:'center'}}>
<Image source={Images.comingSoon} style={{width: '100%', height: 250, resizeMode:'stretch'}}/>
<BaseText type={"italic"} text={'Under Development'} style={{fontSize: 16, marginLeft: 25, marginTop: -30}}/>
</View>
)
}
}
......
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/RegisterScreenStyle'
class RegisterScreen extends Component {
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>RegisterScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
)
}
}
const mapStateToProps = (state) => {
return {
}
}
const mapDispatchToProps = (dispatch) => {
return {
}
}
export default connect(mapStateToProps, mapDispatchToProps)(RegisterScreen)
......@@ -2,5 +2,26 @@ import { StyleSheet } from 'react-native'
import { ApplicationStyles } from '../../Themes/'
export default StyleSheet.create({
...ApplicationStyles.screen
...ApplicationStyles.screen,
flag: {
flexDirection: 'column'
},
flagTop: {
width: 110,
height: 56,
backgroundColor: 'red',
},
flagBottom: {
position: 'absolute',
left: 0,
bottom: 0,
width: 0,
height: 0,
borderBottomWidth: 13,
borderBottomColor: 'transparent',
borderLeftWidth: 55,
borderLeftColor: 'green',
borderRightWidth: 55,
borderRightColor: 'blue'
}
})
import { StyleSheet } from 'react-native'
import { ApplicationStyles } from '../../Themes/'
export default StyleSheet.create({
...ApplicationStyles.screen
})
import { StyleSheet } from 'react-native'
import { ApplicationStyles } from '../../Themes/'
export default StyleSheet.create({
...ApplicationStyles.screen
})
import { StyleSheet } from 'react-native'
import { ApplicationStyles } from '../../Themes/'
export default StyleSheet.create({
...ApplicationStyles.screen
})
import React, { Component } from 'react'
import { ScrollView, Text, KeyboardAvoidingView } from 'react-native'
import { ScrollView, Text, KeyboardAvoidingView, View, Image, Alert, BackHandler } from 'react-native'
import { connect } from 'react-redux'
// Add Actions - replace 'Your' with whatever your reducer is called :)
// import YourActions from '../Redux/YourRedux'
// Styles
import styles from './Styles/WishlistScreenStyle'
import { Images } from '../Themes'
import BaseText from '../Components/BaseText'
class WishlistScreen extends Component {
backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to exit app?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;
};
componentDidMount() {
BackHandler.addEventListener("hardwareBackPress", this.backAction);
}
componentWillUnmount() {
BackHandler.removeEventListener("hardwareBackPress", this.backAction);
}
render () {
return (
<ScrollView style={styles.container}>
<KeyboardAvoidingView behavior='position'>
<Text>WishlistScreen</Text>
</KeyboardAvoidingView>
</ScrollView>
<View style={{flex: 1, backgroundColor: 'white', justifyContent:'center', alignItems:'center'}}>
<Image source={Images.comingSoon} style={{width: '100%', height: 250, resizeMode:'stretch'}}/>
<BaseText type={"italic"} text={'Under Development'} style={{fontSize: 16, marginLeft: 25, marginTop: -30}}/>
</View>
)
}
}
......
import { createAppContainer } from 'react-navigation'
import OtpVerificationScreen from '../Containers/OtpVerificationScreen'
import RegisterScreen from '../Containers/RegisterScreen'
import LoginScreen from '../Containers/LoginScreen'
import WishlistScreen from '../Containers/WishlistScreen'
import NotificationScreen from '../Containers/NotificationScreen'
import HomeBottomTabScreen from '../Containers/HomeBottomTabScreen'
......@@ -12,6 +15,9 @@ import HomeNavigation from './HomeNavigation'
// Manifest of possible screens
const PrimaryNav = createStackNavigator({
OtpVerificationScreen: { screen: OtpVerificationScreen },
RegisterScreen: { screen: RegisterScreen },
LoginScreen: { screen: LoginScreen },
WishlistScreen: { screen: WishlistScreen },
NotificationScreen: { screen: NotificationScreen },
HomeBottomTabScreen: { screen: HomeBottomTabScreen },
......
......@@ -41,12 +41,13 @@ function MyTabs() {
return (
<Tab.Navigator
initialRouteName="Feed"
tabBarOptions={{
activeTintColor: '#4cc9f0',
inactiveTintColor: '#cecece',
tabStyle: {backgroundColor:'black'}
}}
tabBar={(props) => <BottomFabBar color="#ffffff" {...props} />}
// screenOptions={}
// tabBarOptions={{
// activeTintColor: '#4cc9f0',
// inactiveTintColor: '#cecece',
// style:{height:300}
// }}
tabBar={(props) => <BottomFabBar activeTintColor='#4cc9f0' inactiveTintColor= '#cecece' color="#f3f3f3" {...props}/>}
>
<Tab.Screen
name="Home"
......
......@@ -21,7 +21,18 @@ const images = {
backButton: require('../Images/Icons/back-button.png'),
closeButton: require('../Images/Icons/close-button.png'),
logo_eCart: require('../Images/logo_eCart.png')
logo_eCart: require('../Images/logo_eCart.png'),
logo_eCartWhite: require('../Images/logo_eCartWhite.png'),
icon_chart: require('../Images/Icons/icon_chart.png'),
//dummy
celana: require('../Images/imageDummy/celana.jpg'),
jaket: require('../Images/imageDummy/jaket.jpeg'),
sepatu: require('../Images/imageDummy/sepatu.jpg'),
jam: require('../Images/imageDummy/jam.jpg'),
beautyProduct: require('../Images/imageDummy/beautyProduct.jpg'),
bodyShop: require('../Images/imageDummy/bodyShop.jpeg'),
comingSoon: require('../Images/imageDummy/comingSoon.png'),
}
export default images
......@@ -31,6 +31,11 @@
9A94E2DB3C984EAEB1EF318C /* Octicons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1B5D4673B9F24124849A44DE /* Octicons.ttf */; };
B7D0EA211E00415CAB1EA30D /* SimpleLineIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 86DC375F938A4F70BA857A97 /* SimpleLineIcons.ttf */; };
088821245FBD4B909667C56A /* Zocial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41DF00A94BF24C08AB94A229 /* Zocial.ttf */; };
8914A9D8E20748B0AE802BB5 /* Nunito-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 857058FD9E9642B0A784A40C /* Nunito-Black.ttf */; };
CF6F57280DC042AE970E79E1 /* Nunito-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C6FE04454C4743F2825D02FB /* Nunito-Bold.ttf */; };
AA65546BBDBE4293810E5EFA /* Nunito-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 0690442D3E474BDA913D1FBD /* Nunito-Italic.ttf */; };
325311DF88534B4D9872AD0F /* Nunito-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 3144B08665A44EFB9D03B4A7 /* Nunito-Light.ttf */; };
D8F54053880B4CBE917EC7D4 /* Nunito-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = CBB5333CE67B42FF81768FA2 /* Nunito-Regular.ttf */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
......@@ -81,6 +86,11 @@
1B5D4673B9F24124849A44DE /* Octicons.ttf */ = {isa = PBXFileReference; name = "Octicons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Octicons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
86DC375F938A4F70BA857A97 /* SimpleLineIcons.ttf */ = {isa = PBXFileReference; name = "SimpleLineIcons.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
41DF00A94BF24C08AB94A229 /* Zocial.ttf */ = {isa = PBXFileReference; name = "Zocial.ttf"; path = "../node_modules/react-native-vector-icons/Fonts/Zocial.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
857058FD9E9642B0A784A40C /* Nunito-Black.ttf */ = {isa = PBXFileReference; name = "Nunito-Black.ttf"; path = "../App/assets/fonts/Nunito-Black.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
C6FE04454C4743F2825D02FB /* Nunito-Bold.ttf */ = {isa = PBXFileReference; name = "Nunito-Bold.ttf"; path = "../App/assets/fonts/Nunito-Bold.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
0690442D3E474BDA913D1FBD /* Nunito-Italic.ttf */ = {isa = PBXFileReference; name = "Nunito-Italic.ttf"; path = "../App/assets/fonts/Nunito-Italic.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
3144B08665A44EFB9D03B4A7 /* Nunito-Light.ttf */ = {isa = PBXFileReference; name = "Nunito-Light.ttf"; path = "../App/assets/fonts/Nunito-Light.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
CBB5333CE67B42FF81768FA2 /* Nunito-Regular.ttf */ = {isa = PBXFileReference; name = "Nunito-Regular.ttf"; path = "../App/assets/fonts/Nunito-Regular.ttf"; sourceTree = "<group>"; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
......@@ -206,6 +216,11 @@
1B5D4673B9F24124849A44DE /* Octicons.ttf */,
86DC375F938A4F70BA857A97 /* SimpleLineIcons.ttf */,
41DF00A94BF24C08AB94A229 /* Zocial.ttf */,
857058FD9E9642B0A784A40C /* Nunito-Black.ttf */,
C6FE04454C4743F2825D02FB /* Nunito-Bold.ttf */,
0690442D3E474BDA913D1FBD /* Nunito-Italic.ttf */,
3144B08665A44EFB9D03B4A7 /* Nunito-Light.ttf */,
CBB5333CE67B42FF81768FA2 /* Nunito-Regular.ttf */,
);
name = Resources;
sourceTree = "<group>";
......@@ -362,6 +377,11 @@
9A94E2DB3C984EAEB1EF318C /* Octicons.ttf in Resources */,
B7D0EA211E00415CAB1EA30D /* SimpleLineIcons.ttf in Resources */,
088821245FBD4B909667C56A /* Zocial.ttf in Resources */,
8914A9D8E20748B0AE802BB5 /* Nunito-Black.ttf in Resources */,
CF6F57280DC042AE970E79E1 /* Nunito-Bold.ttf in Resources */,
AA65546BBDBE4293810E5EFA /* Nunito-Italic.ttf in Resources */,
325311DF88534B4D9872AD0F /* Nunito-Light.ttf in Resources */,
D8F54053880B4CBE917EC7D4 /* Nunito-Regular.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......
......@@ -70,6 +70,11 @@
<string>Octicons.ttf</string>
<string>SimpleLineIcons.ttf</string>
<string>Zocial.ttf</string>
<string>Nunito-Black.ttf</string>
<string>Nunito-Bold.ttf</string>
<string>Nunito-Italic.ttf</string>
<string>Nunito-Light.ttf</string>
<string>Nunito-Regular.ttf</string>
</array>
</dict>
</plist>
......@@ -45,6 +45,8 @@
"react-native-i18n": "2.0.14",
"react-native-safe-area-context": "^3.0.6",
"react-native-screens": "^2.9.0",
"react-native-side-drawer": "^1.2.6",
"react-native-snap-carousel": "^3.9.1",
"react-native-svg": "^12.1.0",
"react-native-vector-icons": "6.1.0",
"react-navigation": "^4.2.2",
......
module.exports = {
project: {
ios: {},
android: {},
},
assets: ['./App/assets/fonts'],
};
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment