├── .watchmanconfig ├── assets ├── icon.png └── splash.png ├── .gitignore ├── babel.config.js ├── package.json ├── app.json ├── App.js └── yarn.lock /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathvarun/react-navigation-v3/HEAD/assets/icon.png -------------------------------------------------------------------------------- /assets/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nathvarun/react-navigation-v3/HEAD/assets/splash.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/**/* 2 | .expo/* 3 | npm-debug.* 4 | *.jks 5 | *.p12 6 | *.key 7 | *.mobileprovision 8 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = function(api) { 2 | api.cache(true); 3 | return { 4 | presets: ['babel-preset-expo'], 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "node_modules/expo/AppEntry.js", 3 | "scripts": { 4 | "start": "expo start", 5 | "android": "expo start --android", 6 | "ios": "expo start --ios", 7 | "eject": "expo eject" 8 | }, 9 | "dependencies": { 10 | "expo": "^31.0.2", 11 | "react": "16.5.0", 12 | "react-native": "https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz", 13 | "react-navigation": "^3.0.8" 14 | }, 15 | "devDependencies": { 16 | "babel-preset-expo": "^5.0.0" 17 | }, 18 | "private": true 19 | } 20 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "expo": { 3 | "name": "react-navigation-v3-youtube", 4 | "slug": "react-navigation-v3-youtube", 5 | "privacy": "public", 6 | "sdkVersion": "31.0.0", 7 | "platforms": [ 8 | "ios", 9 | "android" 10 | ], 11 | "version": "1.0.0", 12 | "orientation": "portrait", 13 | "icon": "./assets/icon.png", 14 | "splash": { 15 | "image": "./assets/splash.png", 16 | "resizeMode": "contain", 17 | "backgroundColor": "#ffffff" 18 | }, 19 | "updates": { 20 | "fallbackToCacheTimeout": 0 21 | }, 22 | "assetBundlePatterns": [ 23 | "**/*" 24 | ], 25 | "ios": { 26 | "supportsTablet": true 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import { View, Text, StyleSheet, Button } from 'react-native'; 3 | import Icon from '@expo/vector-icons/Ionicons'; 4 | /** 5 | * - AppSwitchNavigator 6 | * - WelcomeScreen 7 | * - Login Button 8 | * - Sign Up Button 9 | * - AppDrawerNavigator 10 | * - Dashboard - DashboardStackNavigator(needed for header and to change the header based on the tab) 11 | * - DashboardTabNavigator 12 | * - Tab 1 - FeedStack 13 | * - Tab 2 - ProfileStack 14 | * - Tab 3 - SettingsStack 15 | * - Any files you don't want to be a part of the Tab Navigator can go here. 16 | */ 17 | 18 | import { 19 | createSwitchNavigator, 20 | createAppContainer, 21 | createDrawerNavigator, 22 | createBottomTabNavigator, 23 | createStackNavigator 24 | } from 'react-navigation'; 25 | class App extends Component { 26 | render() { 27 | return ; 28 | } 29 | } 30 | export default App; 31 | 32 | class WelcomeScreen extends Component { 33 | render() { 34 | return ( 35 | 36 |