-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4c5bfd4
commit ca4f461
Showing
64 changed files
with
903 additions
and
56 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import React from 'react'; | ||
import T from 'prop-types'; | ||
import { Text } from 'react-native'; | ||
|
||
const DrawerButton = props => ( | ||
<Text style={{ width: 100, height: 50 }} onPress={props.onPress}> | ||
Drawer | ||
</Text> | ||
); | ||
|
||
DrawerButton.propTypes = { | ||
onPress: T.func, | ||
}; | ||
|
||
export default DrawerButton; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
import React from 'react'; | ||
import T from 'prop-types'; | ||
import { Text, View } from 'react-native'; | ||
import { Ionicons } from '@expo/vector-icons'; | ||
import { DrawerActions } from 'react-navigation'; | ||
import { Touchable, Separator } from '../'; | ||
import s from './styles'; | ||
import { colors } from '../../styles'; | ||
|
||
const DrawerItem = ({ | ||
item, | ||
activeItemKey, | ||
navigation, | ||
}) => { | ||
if (item.separator) { | ||
return <Separator />; | ||
} | ||
|
||
const isActive = item.key === activeItemKey; | ||
|
||
const onPress = () => { | ||
if (typeof item.onPress === 'function') { | ||
item.onPress(); | ||
} else { | ||
navigation.navigate(item.key); | ||
} | ||
|
||
// we don't have a navigation.closeDrawer action | ||
// but we still are able to dispatch that action manually | ||
navigation.dispatch(DrawerActions.closeDrawer()); | ||
}; | ||
|
||
return ( | ||
<Touchable onPress={onPress}> | ||
<View style={[s.container, isActive && s.activeContainer]}> | ||
<View style={s.icon}> | ||
<Ionicons | ||
color={isActive | ||
? colors.drawerItem.activeIcon | ||
: colors.drawerItem.icon | ||
} | ||
size={28} | ||
name={item.iconName} | ||
/> | ||
</View> | ||
<Text style={[s.title, isActive && s.activeTitle]}> | ||
{item.label} | ||
</Text> | ||
</View> | ||
</Touchable> | ||
); | ||
}; | ||
|
||
DrawerItem.propTypes = { | ||
item: T.shape({ | ||
label: T.string, | ||
key: T.string, | ||
iconName: T.string, | ||
onPress: T.func, | ||
separator: T.bool, | ||
}), | ||
activeItemKey: T.string, | ||
navigation: T.object, | ||
}; | ||
|
||
export default DrawerItem; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import { StyleSheet } from 'react-native'; | ||
import { colors } from '../../styles'; | ||
|
||
const styles = StyleSheet.create({ | ||
container: { | ||
flex: 1, | ||
height: 58, | ||
backgroundColor: colors.drawerItem.background, | ||
alignItems: 'center', | ||
flexDirection: 'row', | ||
}, | ||
activeContainer: { | ||
backgroundColor: colors.drawerItem.activeBackground, | ||
}, | ||
icon: { | ||
width: 32, | ||
height: 32, | ||
marginRight: 16, | ||
marginLeft: 16, | ||
alignItems: 'center', | ||
justifyContent: 'center', | ||
}, | ||
title: { | ||
fontSize: 17, | ||
fontWeight: '700', | ||
color: colors.drawerItem.text, | ||
}, | ||
activeTitle: { | ||
color: colors.drawerItem.activeText, | ||
}, | ||
borderTop: { | ||
borderTopWidth: StyleSheet.hairlineWidth, | ||
borderTopColor: colors.drawerItem.border, | ||
}, | ||
}); | ||
|
||
export default styles; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import React from 'react'; | ||
import T from 'prop-types'; | ||
import { View, Image } from 'react-native'; | ||
import s from './styles'; | ||
import logo from '../../../assets/images/logo.png'; | ||
|
||
const Logo = ({ | ||
borderBottom, | ||
borderTop, | ||
}) => ( | ||
<View style={[ | ||
s.container, | ||
borderBottom && s.borderBottom, | ||
borderTop && s.borderTop, | ||
]} | ||
> | ||
<Image | ||
source={logo} | ||
style={s.image} | ||
/> | ||
</View> | ||
); | ||
|
||
|
||
Logo.propTypes = { | ||
borderBottom: T.bool, | ||
borderTop: T.bool, | ||
}; | ||
|
||
export default Logo; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import { StyleSheet } from 'react-native'; | ||
import { colors } from '../../styles'; | ||
|
||
const styles = StyleSheet.create({ | ||
container: { | ||
flex: 1, | ||
height: 158, | ||
alignItems: 'center', | ||
justifyContent: 'center', | ||
paddingHorizontal: 34, | ||
}, | ||
image: { | ||
resizeMode: 'contain', | ||
width: '100%', | ||
}, | ||
borderTop: { | ||
borderTopWidth: StyleSheet.hairlineWidth, | ||
borderTopColor: colors.separator, | ||
}, | ||
borderBottom: { | ||
borderBottomWidth: StyleSheet.hairlineWidth, | ||
borderBottomColor: colors.separator, | ||
}, | ||
}); | ||
|
||
export default styles; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import React from 'react'; | ||
import T from 'prop-types'; // eslint-disable-line | ||
import { View } from 'react-native'; | ||
import s from './styles'; | ||
|
||
const Separator = () => ( | ||
<View style={s.separator} /> | ||
); | ||
|
||
|
||
Separator.propTypes = { | ||
|
||
}; | ||
|
||
export default Separator; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
import { StyleSheet } from 'react-native'; | ||
import { colors } from '../../styles'; | ||
|
||
const styles = StyleSheet.create({ | ||
separator: { | ||
flex: 1, | ||
height: 0, | ||
borderTopWidth: StyleSheet.hairlineWidth, | ||
borderTopColor: colors.separator, | ||
}, | ||
}); | ||
|
||
export default styles; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
export { default as Touchable } from './Touchable/Touchable'; | ||
export { default as DrawerButton } from './DrawerButton/DrawerButton'; | ||
export { default as DrawerItem } from './DrawerItem/DrawerItem'; | ||
export { default as Separator } from './Separator/Separator'; | ||
export { default as Logo } from './Logo/Logo'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import AboutUsScreen from '../screens/AboutUsScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.AboutUs]: { screen: AboutUsScreen }, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import SignUpScreen from '../screens/SignUpScreen'; | ||
import SignInScreen from '../screens/SignInScreen'; | ||
import RestorePasswordScreen from '../screens/RestorePasswordScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.SignUp]: { screen: SignUpScreen }, | ||
[screens.SignIn]: { screen: SignInScreen }, | ||
[screens.RestorePassword]: { screen: RestorePasswordScreen }, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
import { createDrawerNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import HomeNavigator from './HomeNavigator'; | ||
import SearchNavigator from './SearchNavigator'; | ||
import CreateQuestionNavigator from './CreateQuestionNavigator'; | ||
import ProfileNavigator from './ProfileNavigator'; | ||
import AboutUsNavigator from './AboutUsNavigator'; | ||
import { Drawer } from './components'; | ||
|
||
export default createDrawerNavigator({ | ||
[screens.Home]: { | ||
screen: HomeNavigator, | ||
drawerLabel: 'Home', | ||
}, | ||
[screens.Search]: { | ||
screen: SearchNavigator, | ||
drawerLabel: 'Search', | ||
}, | ||
[screens.CreateQuestion]: { | ||
screen: CreateQuestionNavigator, | ||
drawerLabel: 'CreateQuestion', | ||
}, | ||
[screens.Profile]: { | ||
screen: ProfileNavigator, | ||
drawerLabel: 'Profile', | ||
}, | ||
[screens.AboutUs]: { | ||
screen: AboutUsNavigator, | ||
drawerLabel: 'About Us', | ||
}, | ||
}, { | ||
drawerWidth: 300, | ||
drawerPosition: 'left', | ||
contentComponent: Drawer, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import CreateQuestionScreen from '../screens/CreateQuestionScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.CreateQuestion]: { screen: CreateQuestionScreen }, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import UserQuestionsScreen from '../screens/UserQuestionsScreen'; | ||
import QuestionScreen from '../screens/QuestionScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.UserQuestions]: { screen: UserQuestionsScreen }, | ||
[screens.Question]: { screen: QuestionScreen }, | ||
}, { | ||
headerTransitionPreset: 'uikit', | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import ProfileScreen from '../screens/ProfileScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.Profile]: { screen: ProfileScreen }, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import { createSwitchNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import AuthorizedApplicationNavigator from './AuthorizedApplicationNavigator'; | ||
import UnauthorizedApplicationNavigator from './UnauthorizedApplicationNavigator'; | ||
|
||
export default createSwitchNavigator({ | ||
[screens.AuthorizedApplication]: { screen: AuthorizedApplicationNavigator }, | ||
[screens.UnauthorizedApplication]: { screen: UnauthorizedApplicationNavigator }, | ||
}, { initialRouteName: screens.UnauthorizedApplication }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { createStackNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import SearchScreen from '../screens/SearchScreen'; | ||
|
||
export default createStackNavigator({ | ||
[screens.Search]: { screen: SearchScreen }, | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import { createDrawerNavigator } from 'react-navigation'; | ||
import { screens } from './'; | ||
import HomeNavigator from './HomeNavigator'; | ||
import AboutUsNavigator from './AboutUsNavigator'; | ||
import AuthNavigator from './AuthNavigator'; | ||
import { UnauthorizedDrawer } from './components'; | ||
|
||
export default createDrawerNavigator({ | ||
[screens.Home]: { | ||
screen: HomeNavigator, | ||
drawerLabel: 'Home', | ||
}, | ||
[screens.AboutUs]: { | ||
screen: AboutUsNavigator, | ||
drawerLabel: 'About Us', | ||
}, | ||
[screens.Auth]: { | ||
screen: AuthNavigator, | ||
drawerLabel: 'Sign Up', | ||
}, | ||
}, { | ||
initialRouteName: screens.Home, | ||
drawerWidth: 300, | ||
drawerPosition: 'left', | ||
contentComponent: UnauthorizedDrawer, | ||
}); |
Oops, something went wrong.