From 95297bab3861331f9391c8fa66e5c6921ca8a39d Mon Sep 17 00:00:00 2001 From: "Hetmann W. Iohan" Date: Fri, 25 Jan 2019 11:10:23 +0200 Subject: [PATCH] Camping App - release --- camping-app/.gitignore | 8 + camping-app/.watchmanconfig | 1 + camping-app/App.js | 67 ++++ camping-app/__tests__/App-test.js | 22 ++ camping-app/app.json | 27 ++ .../assets/fonts/SpaceMono-Regular.ttf | Bin 0 -> 93252 bytes camping-app/assets/images/icon.png | Bin 0 -> 45360 bytes camping-app/assets/images/robot-dev.png | Bin 0 -> 12912 bytes camping-app/assets/images/robot-prod.png | Bin 0 -> 12124 bytes camping-app/assets/images/splash.png | Bin 0 -> 7178 bytes camping-app/babel.config.js | 6 + camping-app/components/StyledText.js | 8 + camping-app/components/TabBarIcon.js | 17 + .../components/__tests__/StyledText-test.js | 10 + camping-app/constants/Colors.js | 14 + camping-app/constants/Layout.js | 12 + camping-app/mock/campings.js | 34 ++ camping-app/modules/campings.js | 92 +++++ camping-app/modules/index.js | 13 + camping-app/navigation/AppNavigator.js | 10 + camping-app/navigation/MainTabNavigator.js | 60 +++ camping-app/navigation/ScreensNavigator.js | 10 + camping-app/package.json | 28 ++ camping-app/screens/Campings.js | 354 ++++++++++++++++++ camping-app/screens/HomeScreen.js | 188 ++++++++++ camping-app/screens/LinksScreen.js | 27 ++ camping-app/screens/Settings.js | 272 ++++++++++++++ camping-app/screens/SettingsScreen.js | 14 + 28 files changed, 1294 insertions(+) create mode 100644 camping-app/.gitignore create mode 100644 camping-app/.watchmanconfig create mode 100644 camping-app/App.js create mode 100644 camping-app/__tests__/App-test.js create mode 100644 camping-app/app.json create mode 100755 camping-app/assets/fonts/SpaceMono-Regular.ttf create mode 100644 camping-app/assets/images/icon.png create mode 100644 camping-app/assets/images/robot-dev.png create mode 100644 camping-app/assets/images/robot-prod.png create mode 100644 camping-app/assets/images/splash.png create mode 100644 camping-app/babel.config.js create mode 100644 camping-app/components/StyledText.js create mode 100644 camping-app/components/TabBarIcon.js create mode 100644 camping-app/components/__tests__/StyledText-test.js create mode 100644 camping-app/constants/Colors.js create mode 100644 camping-app/constants/Layout.js create mode 100644 camping-app/mock/campings.js create mode 100644 camping-app/modules/campings.js create mode 100644 camping-app/modules/index.js create mode 100644 camping-app/navigation/AppNavigator.js create mode 100644 camping-app/navigation/MainTabNavigator.js create mode 100644 camping-app/navigation/ScreensNavigator.js create mode 100644 camping-app/package.json create mode 100644 camping-app/screens/Campings.js create mode 100644 camping-app/screens/HomeScreen.js create mode 100644 camping-app/screens/LinksScreen.js create mode 100644 camping-app/screens/Settings.js create mode 100644 camping-app/screens/SettingsScreen.js diff --git a/camping-app/.gitignore b/camping-app/.gitignore new file mode 100644 index 0000000..d1c27ac --- /dev/null +++ b/camping-app/.gitignore @@ -0,0 +1,8 @@ +node_modules/**/* +.expo/* +npm-debug.* +*.jks +*.p12 +*.key +*.mobileprovision +yarn.* diff --git a/camping-app/.watchmanconfig b/camping-app/.watchmanconfig new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/camping-app/.watchmanconfig @@ -0,0 +1 @@ +{} diff --git a/camping-app/App.js b/camping-app/App.js new file mode 100644 index 0000000..7ba03b4 --- /dev/null +++ b/camping-app/App.js @@ -0,0 +1,67 @@ +import React from 'react'; +import { Provider } from 'react-redux'; +import { Platform, StatusBar, StyleSheet, View } from 'react-native'; +import { AppLoading, Asset, Font, Icon } from 'expo'; +import AppNavigator from './navigation/AppNavigator'; + +import store from './modules'; + +export default class App extends React.Component { + state = { + isLoadingComplete: false, + }; + + render() { + if (!this.state.isLoadingComplete && !this.props.skipLoadingScreen) { + return ( + + ); + } else { + return ( + + + {Platform.OS === 'ios' && } + + + + ); + } + } + + _loadResourcesAsync = async () => { + return Promise.all([ + Asset.loadAsync([ + require('./assets/images/robot-dev.png'), + require('./assets/images/robot-prod.png'), + ]), + Font.loadAsync({ + // This is the font that we are using for our tab bar + ...Icon.Ionicons.font, + // We include SpaceMono because we use it in HomeScreen.js. Feel free + // to remove this if you are not using it in your app + 'space-mono': require('./assets/fonts/SpaceMono-Regular.ttf'), + }), + ]); + }; + + _handleLoadingError = error => { + // In this case, you might want to report the error to your error + // reporting service, for example Sentry + console.warn(error); + }; + + _handleFinishLoading = () => { + this.setState({ isLoadingComplete: true }); + }; +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + }, +}); diff --git a/camping-app/__tests__/App-test.js b/camping-app/__tests__/App-test.js new file mode 100644 index 0000000..2d73499 --- /dev/null +++ b/camping-app/__tests__/App-test.js @@ -0,0 +1,22 @@ +import 'react-native'; +import React from 'react'; +import App from '../App'; +import renderer from 'react-test-renderer'; +import NavigationTestUtils from 'react-navigation/NavigationTestUtils'; + +describe('App snapshot', () => { + jest.useFakeTimers(); + beforeEach(() => { + NavigationTestUtils.resetInternalState(); + }); + + it('renders the loading screen', async () => { + const tree = renderer.create().toJSON(); + expect(tree).toMatchSnapshot(); + }); + + it('renders the root without loading screen', async () => { + const tree = renderer.create().toJSON(); + expect(tree).toMatchSnapshot(); + }); +}); diff --git a/camping-app/app.json b/camping-app/app.json new file mode 100644 index 0000000..21754a6 --- /dev/null +++ b/camping-app/app.json @@ -0,0 +1,27 @@ +{ + "expo": { + "name": "camping", + "slug": "camping", + "privacy": "public", + "sdkVersion": "32.0.0", + "platforms": [ + "ios", + "android" + ], + "version": "0.0.1", + "orientation": "portrait", + "icon": "./assets/images/icon.png", + "splash": { + "backgroundColor": "#E9E542" + }, + "updates": { + "fallbackToCacheTimeout": 0 + }, + "assetBundlePatterns": [ + "**/*" + ], + "ios": { + "supportsTablet": true + } + } +} \ No newline at end of file diff --git a/camping-app/assets/fonts/SpaceMono-Regular.ttf b/camping-app/assets/fonts/SpaceMono-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..28d7ff717769d29e5d1f036bfa91eea660ce8a24 GIT binary patch literal 93252 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%0Ay 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 Fe*iU3xyt|m literal 0 HcmV?d00001 diff --git a/camping-app/babel.config.js b/camping-app/babel.config.js new file mode 100644 index 0000000..2900afe --- /dev/null +++ b/camping-app/babel.config.js @@ -0,0 +1,6 @@ +module.exports = function(api) { + api.cache(true); + return { + presets: ['babel-preset-expo'], + }; +}; diff --git a/camping-app/components/StyledText.js b/camping-app/components/StyledText.js new file mode 100644 index 0000000..24c7b9b --- /dev/null +++ b/camping-app/components/StyledText.js @@ -0,0 +1,8 @@ +import React from 'react'; +import { Text } from 'react-native'; + +export class MonoText extends React.Component { + render() { + return ; + } +} diff --git a/camping-app/components/TabBarIcon.js b/camping-app/components/TabBarIcon.js new file mode 100644 index 0000000..2f1ebed --- /dev/null +++ b/camping-app/components/TabBarIcon.js @@ -0,0 +1,17 @@ +import React from 'react'; +import { Icon } from 'expo'; + +import Colors from '../constants/Colors'; + +export default class TabBarIcon extends React.Component { + render() { + return ( + + ); + } +} \ No newline at end of file diff --git a/camping-app/components/__tests__/StyledText-test.js b/camping-app/components/__tests__/StyledText-test.js new file mode 100644 index 0000000..04453f8 --- /dev/null +++ b/camping-app/components/__tests__/StyledText-test.js @@ -0,0 +1,10 @@ +import 'react-native'; +import React from 'react'; +import { MonoText } from '../StyledText'; +import renderer from 'react-test-renderer'; + +it('renders correctly', () => { + const tree = renderer.create(Snapshot test!).toJSON(); + + expect(tree).toMatchSnapshot(); +}); diff --git a/camping-app/constants/Colors.js b/camping-app/constants/Colors.js new file mode 100644 index 0000000..d8bd415 --- /dev/null +++ b/camping-app/constants/Colors.js @@ -0,0 +1,14 @@ +const tintColor = '#2f95dc'; + +export default { + tintColor, + tabIconDefault: '#ccc', + tabIconSelected: tintColor, + tabBar: '#fefefe', + errorBackground: 'red', + errorText: '#fff', + warningBackground: '#EAEB5E', + warningText: '#666804', + noticeBackground: tintColor, + noticeText: '#fff', +}; diff --git a/camping-app/constants/Layout.js b/camping-app/constants/Layout.js new file mode 100644 index 0000000..1a15a93 --- /dev/null +++ b/camping-app/constants/Layout.js @@ -0,0 +1,12 @@ +import { Dimensions } from 'react-native'; + +const width = Dimensions.get('window').width; +const height = Dimensions.get('window').height; + +export default { + window: { + width, + height, + }, + isSmallDevice: width < 375, +}; diff --git a/camping-app/mock/campings.js b/camping-app/mock/campings.js new file mode 100644 index 0000000..5a047d3 --- /dev/null +++ b/camping-app/mock/campings.js @@ -0,0 +1,34 @@ +const campings = [ + { + id: 1, + type: 'rv', + name: 'Camping Paradise', + description: 'Popular spot for trekkers.', + rating: 4.9, + distance: 2.9, + price: 'Free', + image: 'https://images.unsplash.com/photo-1525811902-f2342640856e?fit=crop&w=900&h=600&q=130', + latlng: { + latitude: 37.79335, + longitude: -122.4424, + } + }, + { + id: 2, + type: 'tent', + name: 'Lake Florida', + description: 'This is for all sunset lovers.', + rating: 4.9, + distance: 2.9, + price: 'Free', + image: 'https://images.unsplash.com/photo-1506535995048-638aa1b62b77?fit=crop&w=900&h=600&q=130', + latlng: { + latitude: 37.78865, + longitude: -122.4324, + } + }, +]; + +export { + campings, +}; \ No newline at end of file diff --git a/camping-app/modules/campings.js b/camping-app/modules/campings.js new file mode 100644 index 0000000..35314f6 --- /dev/null +++ b/camping-app/modules/campings.js @@ -0,0 +1,92 @@ + +// Actions +const SET_CAMPINGS = "Spots/campings/SET_CAMPINGS"; +const SET_LOCATION = "Spots/campings/SET_LOCATION"; +const SET_FILTERS = "Spots/campings/SET_FILTERS"; +const SET_LOADING = "Spots/campings/SET_LOADING"; + +// Initial state +const INITIAL_STATE = { + spots: [], + mylocation: { + latitude: 37.79035, + longitude: -122.4384, + }, + filters: { + sort: 'distance', + type: 'all', + price: 'free', + option_full: true, + option_rated: true, + option_free: false, + }, + loading: false, +}; + +// Reducer +export default function reducer(state = INITIAL_STATE, action = {}) { + switch (action.type) { + case SET_CAMPINGS: + return { + ...state, + spots: action.payload + } + case SET_LOCATION: + return { + ...state, + location: action.payload + } + case SET_FILTERS: + return { + ...state, + filters: { + ...state.filters, + ...action.payload + } + } + case SET_LOADING: + return { + ...state, + loading: action.payload + } + default: + return state; + } +}; + +// Actions +export function setCampings(payload) { + return dispatch => { + dispatch({ + type: SET_CAMPINGS, + payload + }) + } +}; + +export function setLocation(payload) { + return dispatch => { + dispatch({ + type: SET_LOCATION, + payload + }) + } +}; + +export function setFilters(payload) { + return dispatch => { + dispatch({ + type: SET_FILTERS, + payload + }) + } +}; + +export function setLoading(payload) { + return dispatch => { + dispatch({ + type: SET_LOADING, + payload + }) + } +}; \ No newline at end of file diff --git a/camping-app/modules/index.js b/camping-app/modules/index.js new file mode 100644 index 0000000..076eab9 --- /dev/null +++ b/camping-app/modules/index.js @@ -0,0 +1,13 @@ +import { createStore, combineReducers, applyMiddleware } from 'redux'; +import thunk from 'redux-thunk'; +import campings from './campings'; + +const middlewares = [thunk]; +const store = createStore( + combineReducers({ + campings: campings, + }), + applyMiddleware(...middlewares) +); + +export default store; \ No newline at end of file diff --git a/camping-app/navigation/AppNavigator.js b/camping-app/navigation/AppNavigator.js new file mode 100644 index 0000000..b016776 --- /dev/null +++ b/camping-app/navigation/AppNavigator.js @@ -0,0 +1,10 @@ +import React from 'react'; +import { createAppContainer, createSwitchNavigator } from 'react-navigation'; + +import ScreensNavigator from './ScreensNavigator'; + +export default createAppContainer(createSwitchNavigator({ + // You could add another route here for authentication. + // Read more at https://reactnavigation.org/docs/en/auth-flow.html + Main: ScreensNavigator, +})); \ No newline at end of file diff --git a/camping-app/navigation/MainTabNavigator.js b/camping-app/navigation/MainTabNavigator.js new file mode 100644 index 0000000..ce7efd1 --- /dev/null +++ b/camping-app/navigation/MainTabNavigator.js @@ -0,0 +1,60 @@ +import React from 'react'; +import { Platform } from 'react-native'; +import { createStackNavigator, createBottomTabNavigator } from 'react-navigation'; + +import TabBarIcon from '../components/TabBarIcon'; +import HomeScreen from '../screens/HomeScreen'; +import LinksScreen from '../screens/LinksScreen'; +import SettingsScreen from '../screens/SettingsScreen'; + +const HomeStack = createStackNavigator({ + Home: HomeScreen, +}); + +HomeStack.navigationOptions = { + tabBarLabel: 'Home', + tabBarIcon: ({ focused }) => ( + + ), +}; + +const LinksStack = createStackNavigator({ + Links: LinksScreen, +}); + +LinksStack.navigationOptions = { + tabBarLabel: 'Links', + tabBarIcon: ({ focused }) => ( + + ), +}; + +const SettingsStack = createStackNavigator({ + Settings: SettingsScreen, +}); + +SettingsStack.navigationOptions = { + tabBarLabel: 'Settings', + tabBarIcon: ({ focused }) => ( + + ), +}; + +export default createBottomTabNavigator({ + HomeStack, + LinksStack, + SettingsStack, +}); diff --git a/camping-app/navigation/ScreensNavigator.js b/camping-app/navigation/ScreensNavigator.js new file mode 100644 index 0000000..2b51d84 --- /dev/null +++ b/camping-app/navigation/ScreensNavigator.js @@ -0,0 +1,10 @@ +import React from 'react'; +import { createStackNavigator } from 'react-navigation'; + +import Campings from '../screens/Campings'; +import Settings from '../screens/Settings'; + +export default createStackNavigator({ + Campings: Campings, + Settings: Settings, +}); \ No newline at end of file diff --git a/camping-app/package.json b/camping-app/package.json new file mode 100644 index 0000000..0402d28 --- /dev/null +++ b/camping-app/package.json @@ -0,0 +1,28 @@ +{ + "main": "node_modules/expo/AppEntry.js", + "scripts": { + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "eject": "expo eject", + "test": "node ./node_modules/jest/bin/jest.js --watchAll" + }, + "jest": { + "preset": "jest-expo" + }, + "dependencies": { + "@expo/samples": "2.1.1", + "expo": "^32.0.0", + "react": "16.5.0", + "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz", + "react-navigation": "^3.0.9", + "react-redux": "^6.0.0", + "redux": "^4.0.1", + "redux-thunk": "^2.3.0" + }, + "devDependencies": { + "babel-preset-expo": "^5.0.0", + "jest-expo": "^32.0.0" + }, + "private": true +} diff --git a/camping-app/screens/Campings.js b/camping-app/screens/Campings.js new file mode 100644 index 0000000..0e56b4c --- /dev/null +++ b/camping-app/screens/Campings.js @@ -0,0 +1,354 @@ +import React from 'react'; +import { + ImageBackground, + Platform, + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, + Dimensions, + SafeAreaView, +} from 'react-native'; +import { connect } from 'react-redux'; +import { MapView } from 'expo'; +import { Ionicons, FontAwesome, Foundation, SimpleLineIcons } from '@expo/vector-icons'; + +import { setLocation, setFilters, setCampings } from '../modules/campings'; +import * as mock from '../mock/campings'; + +const { Marker } = MapView; +const { width, height } = Dimensions.get('screen'); + +class Campings extends React.Component { + static navigationOptions = { + header: null, + }; + + componentDidMount() { + this.props.setCampings(mock.campings); + } + + handleTab = (tabKey) => { + this.props.setFilters({ type: tabKey }); + } + + renderHeader() { + return ( + + + + + + + + + + + Detected Location + + + Northern Islands + + + + + this.props.navigation.navigate('Settings')}> + + + + + {this.renderTabs()} + + ) + } + + renderMap() { + const campingMarker = ({type}) => ( + + {type === 'rv' ? + + : + } + + ) + const { filters, campings } = this.props; + const mapSpots = filters.type === 'all' ? campings + : campings.filter(camping => camping.type === filters.type); + + return ( + + + + + + + + + {mapSpots.map(marker => ( + + {campingMarker(marker)} + + ))} + + + ) + } + + renderTabs() { + const { filters } = this.props; + + return ( + + + this.handleTab('all')} + > + All Spots + + + + this.handleTab('tent')} + > + Tenting + + + + this.handleTab('rv')} + > + RV Camping + + + + ) + } + + renderList() { + const { filters, campings } = this.props; + const mapSpots = filters.type === 'all' ? campings + : campings.filter(camping => camping.type === filters.type); + + return mapSpots.map( + camping => { + return ( + + + + + + + {camping.name} + + + {camping.description} + + + + + + {camping.rating} + + + + {camping.distance} miles + + + + {camping.price} + + + + + + + + ) + }) + } + + render() { + return ( + + {this.renderHeader()} + + {this.renderMap()} + {this.renderList()} + + + ); + } +} + +const moduleState = state => ({ + campings: state.campings.spots, + filters: state.campings.filters, + mylocation: state.campings.mylocation, +}); + +const moduleActions = { + setLocation, + setCampings, + setFilters, +} + +export default connect(moduleState, moduleActions)(Campings); + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + }, + headerContainer: { + top: 0, + height: height * 0.15, + width: width, + }, + header: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + height: height * 0.15, + paddingHorizontal: 14, + }, + location: { + height: 24, + width: 24, + borderRadius: 14, + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#FF7657', + }, + marker: { + width: 40, + height: 40, + borderRadius: 40, + justifyContent: 'center', + alignItems: 'center', + borderWidth: 1, + borderColor: '#FFF', + }, + rvMarker: { + backgroundColor: '#FFBA5A', + }, + tentMarker: { + backgroundColor: '#FF7657', + }, + settings: { + alignItems: 'center', + justifyContent: 'center', + }, + options: { + flex: 1, + paddingHorizontal: 14, + }, + tabs: { + flex: 1, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'flex-end', + }, + tab: { + paddingHorizontal: 14, + marginHorizontal: 10, + borderBottomWidth: 3, + borderBottomColor: 'transparent', + }, + tabTitle: { + fontWeight: 'bold', + fontSize: 14, + marginBottom: 10, + }, + activeTab: { + borderBottomColor: '#FF7657', + }, + activeTabTitle: { + color: '#FF7657', + }, + map: { + flex: 1, + }, + camping: { + flex: 1, + flexDirection: 'row', + borderBottomColor: '#A5A5A5', + borderBottomWidth: 0.5, + padding: 20, + }, + campingDetails: { + flex: 2, + paddingLeft: 20, + flexDirection: 'column', + justifyContent: 'space-around', + }, + campingInfo: { + flexDirection: 'row', + alignItems: 'center', + marginRight: 14, + }, + campingImage: { + width: width * 0.30, + height: width * 0.25, + borderRadius: 6, + }, + myMarker: { + zIndex: 2, + width: 60, + height: 60, + borderRadius: 60, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'rgba(51, 83, 251, 0.2)' + }, + myMarkerDot: { + width: 12, + height: 12, + borderRadius: 12, + backgroundColor: '#3353FB' + } +}); diff --git a/camping-app/screens/HomeScreen.js b/camping-app/screens/HomeScreen.js new file mode 100644 index 0000000..0d3548e --- /dev/null +++ b/camping-app/screens/HomeScreen.js @@ -0,0 +1,188 @@ +import React from 'react'; +import { + Image, + Platform, + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, +} from 'react-native'; +import { WebBrowser } from 'expo'; + +import { MonoText } from '../components/StyledText'; + +export default class HomeScreen extends React.Component { + static navigationOptions = { + header: null, + }; + + render() { + return ( + + + + + + + + {this._maybeRenderDevelopmentModeWarning()} + + Get started by opening + + + screens/HomeScreen.js + + + + Change this text and your app will automatically reload. + + + + + + Help, it didn’t automatically reload! + + + + + + This is a tab bar. You can edit it in: + + + navigation/MainTabNavigator.js + + + + ); + } + + _maybeRenderDevelopmentModeWarning() { + if (__DEV__) { + const learnMoreButton = ( + + Learn more + + ); + + return ( + + Development mode is enabled, your app will be slower but you can use useful development + tools. {learnMoreButton} + + ); + } else { + return ( + + You are not in development mode, your app will run at full speed. + + ); + } + } + + _handleLearnMorePress = () => { + WebBrowser.openBrowserAsync('https://docs.expo.io/versions/latest/guides/development-mode'); + }; + + _handleHelpPress = () => { + WebBrowser.openBrowserAsync( + 'https://docs.expo.io/versions/latest/guides/up-and-running.html#can-t-see-your-changes' + ); + }; +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + }, + developmentModeText: { + marginBottom: 20, + color: 'rgba(0,0,0,0.4)', + fontSize: 14, + lineHeight: 19, + textAlign: 'center', + }, + contentContainer: { + paddingTop: 30, + }, + welcomeContainer: { + alignItems: 'center', + marginTop: 10, + marginBottom: 20, + }, + welcomeImage: { + width: 100, + height: 80, + resizeMode: 'contain', + marginTop: 3, + marginLeft: -10, + }, + getStartedContainer: { + alignItems: 'center', + marginHorizontal: 50, + }, + homeScreenFilename: { + marginVertical: 7, + }, + codeHighlightText: { + color: 'rgba(96,100,109, 0.8)', + }, + codeHighlightContainer: { + backgroundColor: 'rgba(0,0,0,0.05)', + borderRadius: 3, + paddingHorizontal: 4, + }, + getStartedText: { + fontSize: 17, + color: 'rgba(96,100,109, 1)', + lineHeight: 24, + textAlign: 'center', + }, + tabBarInfoContainer: { + position: 'absolute', + bottom: 0, + left: 0, + right: 0, + ...Platform.select({ + ios: { + shadowColor: 'black', + shadowOffset: { height: -3 }, + shadowOpacity: 0.1, + shadowRadius: 3, + }, + android: { + elevation: 20, + }, + }), + alignItems: 'center', + backgroundColor: '#fbfbfb', + paddingVertical: 20, + }, + tabBarInfoText: { + fontSize: 17, + color: 'rgba(96,100,109, 1)', + textAlign: 'center', + }, + navigationFilename: { + marginTop: 5, + }, + helpContainer: { + marginTop: 15, + alignItems: 'center', + }, + helpLink: { + paddingVertical: 15, + }, + helpLinkText: { + fontSize: 14, + color: '#2e78b7', + }, +}); diff --git a/camping-app/screens/LinksScreen.js b/camping-app/screens/LinksScreen.js new file mode 100644 index 0000000..7bb4a62 --- /dev/null +++ b/camping-app/screens/LinksScreen.js @@ -0,0 +1,27 @@ +import React from 'react'; +import { ScrollView, StyleSheet } from 'react-native'; +import { ExpoLinksView } from '@expo/samples'; + +export default class LinksScreen extends React.Component { + static navigationOptions = { + title: 'Links', + }; + + render() { + return ( + + {/* Go ahead and delete ExpoLinksView and replace it with your + * content, we just wanted to provide you with some helpful links */} + + + ); + } +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + paddingTop: 15, + backgroundColor: '#fff', + }, +}); diff --git a/camping-app/screens/Settings.js b/camping-app/screens/Settings.js new file mode 100644 index 0000000..8de0aa5 --- /dev/null +++ b/camping-app/screens/Settings.js @@ -0,0 +1,272 @@ +import React from 'react'; +import { + ScrollView, + StyleSheet, + Text, + TouchableOpacity, + View, + Dimensions, + SafeAreaView, + Switch +} from 'react-native'; +import { connect } from 'react-redux'; +import { Ionicons, Foundation, FontAwesome } from '@expo/vector-icons'; + +import { setFilters } from '../modules/campings'; + +const { width, height } = Dimensions.get('screen'); + +class Settings extends React.Component { + static navigationOptions = { + header: null, + }; + + state = { + sort: 'distance', + type: 'all', + price: 'free', + option_full: true, + option_rated: true, + option_free: false, + } + + renderHeader() { + return ( + + + this.props.navigation.navigate('Campings')}> + + + + + Filter + + + this.props.navigation.navigate('Campings')}> + + + + + ) + } + + render() { + const { + sort, + type, + price, + option_full, + option_rated, + option_free, + } = this.props.filters; + + const activeType = (key) => type === key; + + return ( + + {this.renderHeader()} + + + + Sort By + + + this.props.setFilters({ sort: 'distance' })} + > + Distance + + this.props.setFilters({ sort: 'ratings' })} + > + Ratings + + this.props.setFilters({ sort: 'reviews' })} + > + Reviews + + + + + + + Type + + + this.props.setFilters({ type: 'all' })} + > + + + + + All + + this.props.setFilters({ type: 'tent' })} + > + + Tenting + + this.props.setFilters({ type: 'rv' })} + > + + RV Camping + + + + + + + Price + + + this.props.setFilters({ price: 'free' })} + > + Free + + this.props.setFilters({ price: '$$' })} + > + $$ + + this.props.setFilters({ price: '$$$' })} + > + $$$ + + this.props.setFilters({ price: '$$$$' })} + > + $$$$ + + + + + + + More Options + + + + Show spots that are full + this.props.setFilters({ option_full: !option_full })} + /> + + + Show only highly rated spots + this.props.setFilters({ option_rated: !option_rated })} + /> + + + Show only Free Spots + this.props.setFilters({ option_free: !option_free })} + /> + + + + + + ); + } +} + +const moduleState = state => ({ + filters: state.campings.filters, + loading: state.campings.loading, +}); + +const moduleActions = { + setFilters, +} + +export default connect(moduleState, moduleActions)(Settings); + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#fff', + }, + header: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + height: height * 0.1, + width: width, + paddingHorizontal: 14, + }, + section: { + flexDirection: 'column', + marginHorizontal: 14, + marginBottom: 14, + paddingBottom: 24, + borderBottomColor: '#EAEAED', + borderBottomWidth: 1, + }, + title: { + fontSize: 18, + marginVertical: 14, + }, + group: { + flexDirection: 'row', + borderRadius: 14, + borderWidth: 1, + borderColor: '#FF7657', + justifyContent: 'space-between', + }, + button: { + flex: 1, + padding: 14, + alignContent: 'center', + alignItems: 'center', + }, + buttonText: { + textAlign: 'center', + fontWeight: '500', + }, + active: { + backgroundColor: '#FF7657', + }, + activeText: { + color: '#FFF' + }, + first: { + borderTopLeftRadius: 13, + borderBottomLeftRadius: 13, + }, + last: { + borderTopRightRadius: 13, + borderBottomRightRadius: 13, + }, + option: { + marginBottom: 14, + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + } +}); diff --git a/camping-app/screens/SettingsScreen.js b/camping-app/screens/SettingsScreen.js new file mode 100644 index 0000000..6957dcb --- /dev/null +++ b/camping-app/screens/SettingsScreen.js @@ -0,0 +1,14 @@ +import React from 'react'; +import { ExpoConfigView } from '@expo/samples'; + +export default class SettingsScreen extends React.Component { + static navigationOptions = { + title: 'app.json', + }; + + render() { + /* Go ahead and delete ExpoConfigView and replace it with your + * content, we just wanted to give you a quick view of your config */ + return ; + } +}