├── 01 Getting Started
├── code
│ └── 01-first-app
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
└── extra-files
│ └── App.js
├── 02 Basics
├── code
│ ├── 01-working-with-core-components
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 02-styling-react-native-apps
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 03-improving-the-layout
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 03a - Flexbox deep dive
│ │ ├── Flexbox cheat sheet - overview.txt
│ │ ├── basics-flexbox-deep-dive-finished.zip
│ │ └── basics-flexbox-deep-dive-start.zip
│ ├── 04-handling-events
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 05-managing-a-list-of-course-goals
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 06-ios-android-styling-differences
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 07-optimizing-lists-with-flatlist
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ └── package.json
│ ├── 08-splitting-components
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 09-utilizing-props
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 10-handling-taps-with-pressable
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 11-adding-android-ripple-and-ios-styling
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 12-styling-the-modal-overlay
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 13-opening-and-closing-the-modal
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ ├── 14-working-with-images
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── goal.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── GoalInput.js
│ │ │ └── GoalItem.js
│ │ └── package.json
│ └── 15-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ ├── images
│ │ │ └── goal.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── GoalInput.js
│ │ └── GoalItem.js
│ │ └── package.json
├── extra-files
│ ├── React Native - Core Components, Styling & Colors - More Information.docx
│ ├── goal.png
│ └── starting-project.zip
└── slides
│ └── slides.pdf
├── 04 Deep Dive Real App
├── code
│ ├── 01-creating-custom-buttons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 02-styling-number-input
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 03-configuring-text-input
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 04-improving-buttons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 05-coloring-components-overall-app
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 06-adding-linear-gradient
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 07-adding-background-image
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 08-getting-started-with-game-logic
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 09-switching-screens
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 10-respecting-device-screen-restrictions-safeareaview
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── PrimaryButton.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 11-managing-colors-globally
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── PrimaryButton.js
│ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 12-creating-using-displaying-random-number
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 13-adding-game-control-buttons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 14-checking-for-game-over
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 15-cascading-styles
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 16-working-with-icons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 17-adding-using-custom-font
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ └── background.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 18-using-styling-nested-text
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 19-adding-logic-to-restart-games
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 20-styling-game-round-logs
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ └── 21-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── fonts
│ │ │ ├── OpenSans-Bold.ttf
│ │ │ └── OpenSans-Regular.ttf
│ │ ├── icon.png
│ │ ├── images
│ │ │ ├── background.png
│ │ │ └── success.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── game
│ │ │ ├── GuessLogItem.js
│ │ │ └── NumberContainer.js
│ │ └── ui
│ │ │ ├── Card.js
│ │ │ ├── InstructionText.js
│ │ │ ├── PrimaryButton.js
│ │ │ └── Title.js
│ │ ├── constants
│ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ ├── GameOverScreen.js
│ │ ├── GameScreen.js
│ │ └── StartGameScreen.js
└── extra-files
│ ├── fonts
│ ├── OpenSans-Bold.ttf
│ └── OpenSans-Regular.ttf
│ ├── images
│ ├── background.png
│ └── success.png
│ ├── logic - random code
│ └── random.js
│ └── starting-project.zip
├── 05 Adaptive UIs
├── code
│ ├── 01-setting-dynamic-widths
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 02-adjusting-image-sizes-with-dimensions-api
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 03-setting-sizes-dynamically
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 04-keyboardavoidingview
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 05-further-improvements
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ └── Title.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ ├── 06-platform-specific-code
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── fonts
│ │ │ │ ├── OpenSans-Bold.ttf
│ │ │ │ └── OpenSans-Regular.ttf
│ │ │ ├── icon.png
│ │ │ ├── images
│ │ │ │ ├── background.png
│ │ │ │ └── success.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── game
│ │ │ │ ├── GuessLogItem.js
│ │ │ │ └── NumberContainer.js
│ │ │ └── ui
│ │ │ │ ├── Card.js
│ │ │ │ ├── InstructionText.js
│ │ │ │ ├── PrimaryButton.js
│ │ │ │ ├── Title.android.js
│ │ │ │ └── Title.ios.js
│ │ ├── constants
│ │ │ ├── colors.android.js
│ │ │ └── colors.ios.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── GameOverScreen.js
│ │ │ ├── GameScreen.js
│ │ │ └── StartGameScreen.js
│ └── 07-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── fonts
│ │ │ ├── OpenSans-Bold.ttf
│ │ │ └── OpenSans-Regular.ttf
│ │ ├── icon.png
│ │ ├── images
│ │ │ ├── background.png
│ │ │ └── success.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── game
│ │ │ ├── GuessLogItem.js
│ │ │ └── NumberContainer.js
│ │ └── ui
│ │ │ ├── Card.js
│ │ │ ├── InstructionText.js
│ │ │ ├── PrimaryButton.js
│ │ │ ├── Title.android.js
│ │ │ └── Title.ios.js
│ │ ├── constants
│ │ ├── colors.android.js
│ │ └── colors.ios.js
│ │ ├── package.json
│ │ └── screens
│ │ ├── GameOverScreen.js
│ │ ├── GameScreen.js
│ │ └── StartGameScreen.js
└── extra-files
│ └── starting-project.zip
├── 06 Navigation
├── code
│ ├── 01-displaying-items-in-a-grid
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── CategoryGridTile.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ └── CategoriesScreen.js
│ ├── 02-getting-started-with-react-navigation
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── CategoryGridTile.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ └── CategoriesScreen.js
│ ├── 03-implementing-navigation-between-two-screens
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── CategoryGridTile.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 04-working-with-route-parameters
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── CategoryGridTile.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 05-adding-images-styling
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 06-styling-screen-headers
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 07-styling-navigation-options-dynamically
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 08-finishing-the-meal-details-screen
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 09-adding-header-buttons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 10-adding-an-icon-button
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ ├── 11-other-navigators-starting-code
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── UserScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 12-adding-drawer-navigation
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── UserScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 13-configuring-the-drawer-navigator
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── UserScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 14-adding-configuring-using-bottom-tabs
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── UserScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 15-nesting-navigators
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ └── 16-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── CategoryGridTile.js
│ │ ├── IconButton.js
│ │ ├── MealDetail
│ │ │ ├── List.js
│ │ │ └── Subtitle.js
│ │ ├── MealDetails.js
│ │ └── MealItem.js
│ │ ├── data
│ │ └── dummy-data.js
│ │ ├── models
│ │ ├── category.js
│ │ └── meal.js
│ │ ├── package.json
│ │ └── screens
│ │ ├── CategoriesScreen.js
│ │ ├── FavoritesScreen.js
│ │ ├── MealDetailScreen.js
│ │ └── MealsOverviewScreen.js
├── extra-files
│ ├── Setting the Default Screen.docx
│ ├── dummy-data.js
│ ├── models.zip
│ ├── other-navigators-starting-project.zip
│ └── starting-project.zip
└── slides
│ └── slides.pdf
├── 07 Redux and Context
├── code
│ ├── 01-getting-started-with-context-api
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ └── context
│ │ │ └── favorites-context.js
│ ├── 02-managing-app-wide-state-with-context
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ └── context
│ │ │ └── favorites-context.js
│ ├── 03-using-created-context
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealItem.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ └── context
│ │ │ └── favorites-context.js
│ ├── 04-managing-favorite-meals
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealsList
│ │ │ │ ├── MealItem.js
│ │ │ │ └── MealsList.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ └── context
│ │ │ └── favorites-context.js
│ ├── 05-getting-started-with-redux
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealsList
│ │ │ │ ├── MealItem.js
│ │ │ │ └── MealsList.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ ├── context
│ │ │ └── favorites-context.js
│ │ │ └── redux
│ │ │ └── store.js
│ ├── 06-working-with-redux-slices
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealsList
│ │ │ │ ├── MealItem.js
│ │ │ │ └── MealsList.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ ├── context
│ │ │ └── favorites-context.js
│ │ │ └── redux
│ │ │ ├── favorites.js
│ │ │ └── store.js
│ ├── 07-managing-redux-state
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── CategoryGridTile.js
│ │ │ ├── IconButton.js
│ │ │ ├── MealDetail
│ │ │ │ ├── List.js
│ │ │ │ └── Subtitle.js
│ │ │ ├── MealDetails.js
│ │ │ └── MealsList
│ │ │ │ ├── MealItem.js
│ │ │ │ └── MealsList.js
│ │ ├── data
│ │ │ └── dummy-data.js
│ │ ├── models
│ │ │ ├── category.js
│ │ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── CategoriesScreen.js
│ │ │ ├── FavoritesScreen.js
│ │ │ ├── MealDetailScreen.js
│ │ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ │ ├── context
│ │ │ └── favorites-context.js
│ │ │ └── redux
│ │ │ ├── favorites.js
│ │ │ └── store.js
│ └── 08-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── CategoryGridTile.js
│ │ ├── IconButton.js
│ │ ├── MealDetail
│ │ │ ├── List.js
│ │ │ └── Subtitle.js
│ │ ├── MealDetails.js
│ │ └── MealsList
│ │ │ ├── MealItem.js
│ │ │ └── MealsList.js
│ │ ├── data
│ │ └── dummy-data.js
│ │ ├── models
│ │ ├── category.js
│ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ ├── CategoriesScreen.js
│ │ ├── FavoritesScreen.js
│ │ ├── MealDetailScreen.js
│ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ ├── context
│ │ └── favorites-context.js
│ │ └── redux
│ │ ├── favorites.js
│ │ └── store.js
└── extra-files
│ ├── Redux vs React Context API.txt
│ └── starting-project.zip
├── 08 Practice App
├── code
│ ├── 01-the-starting-setup
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 02-adding-navigation
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 03-adding-global-colors
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 04-adding-dummy-expense-data
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── ExpensesOutput
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 05-outputting-a-list-of-expenses
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── ExpensesOutput
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 06-improving-app-layout-styling
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── ExpensesOutput
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 07-working-on-expense-list-items
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ ├── 08-formatting-dates
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ └── util
│ │ │ └── date.js
│ ├── 09-navigating-programmatically
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ └── util
│ │ │ └── date.js
│ ├── 10-supporting-different-editing-modes
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ └── util
│ │ │ └── date.js
│ ├── 11-adding-custom-buttons
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ └── util
│ │ │ └── date.js
│ ├── 12-managing-app-wide-state
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ ├── store
│ │ │ └── expenses-context.js
│ │ └── util
│ │ │ └── date.js
│ ├── 13-using-context
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── ExpensesOutput
│ │ │ │ ├── ExpenseItem.js
│ │ │ │ ├── ExpensesList.js
│ │ │ │ ├── ExpensesOutput.js
│ │ │ │ └── ExpensesSummary.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AllExpenses.js
│ │ │ ├── ManageExpense.js
│ │ │ └── RecentExpenses.js
│ │ ├── store
│ │ │ └── expenses-context.js
│ │ └── util
│ │ │ └── date.js
│ └── 14-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ │ ├── constants
│ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ │ ├── store
│ │ └── expenses-context.js
│ │ └── util
│ │ └── date.js
└── extra-files
│ └── styles.js
├── 09 User Input
└── code
│ ├── 01-starting-code
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 02-configuring-the-form-input-elements
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 03-added-styling
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 04-setting-the-form-layout
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 05-handling-user-input-generic
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 06-managing-form-state-and-submission
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 07-setting-using-default-values
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 08-adding-validation
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 09-adding-error-styling
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ └── 10-finished
│ ├── App.js
│ ├── app.json
│ ├── assets
│ ├── adaptive-icon.png
│ ├── favicon.png
│ ├── icon.png
│ └── splash.png
│ ├── babel.config.js
│ ├── components
│ ├── ExpensesOutput
│ │ ├── ExpenseItem.js
│ │ ├── ExpensesList.js
│ │ ├── ExpensesOutput.js
│ │ └── ExpensesSummary.js
│ ├── ManageExpense
│ │ ├── ExpenseForm.js
│ │ └── Input.js
│ └── UI
│ │ ├── Button.js
│ │ └── IconButton.js
│ ├── constants
│ └── styles.js
│ ├── package.json
│ ├── screens
│ ├── AllExpenses.js
│ ├── ManageExpense.js
│ └── RecentExpenses.js
│ ├── store
│ └── expenses-context.js
│ └── util
│ └── date.js
├── 10 Http
└── code
│ ├── 01-starting-code
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ └── date.js
│ ├── 02-sending-post-requests
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ ├── date.js
│ │ └── http.js
│ ├── 03-transforming-using-fetched-data
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ ├── date.js
│ │ └── http.js
│ ├── 04-using-response-data-from-post
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ ├── date.js
│ │ └── http.js
│ ├── 05-updating-and-deleting
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ └── IconButton.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ ├── date.js
│ │ └── http.js
│ ├── 06-managing-loading-state
│ ├── App.js
│ ├── app.json
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── components
│ │ ├── ExpensesOutput
│ │ │ ├── ExpenseItem.js
│ │ │ ├── ExpensesList.js
│ │ │ ├── ExpensesOutput.js
│ │ │ └── ExpensesSummary.js
│ │ ├── ManageExpense
│ │ │ ├── ExpenseForm.js
│ │ │ └── Input.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ ├── IconButton.js
│ │ │ └── LoadingOverlay.js
│ ├── constants
│ │ └── styles.js
│ ├── package.json
│ ├── screens
│ │ ├── AllExpenses.js
│ │ ├── ManageExpense.js
│ │ └── RecentExpenses.js
│ ├── store
│ │ └── expenses-context.js
│ └── util
│ │ ├── date.js
│ │ └── http.js
│ └── 07-handling-request-errors
│ ├── App.js
│ ├── app.json
│ ├── assets
│ ├── adaptive-icon.png
│ ├── favicon.png
│ ├── icon.png
│ └── splash.png
│ ├── babel.config.js
│ ├── components
│ ├── ExpensesOutput
│ │ ├── ExpenseItem.js
│ │ ├── ExpensesList.js
│ │ ├── ExpensesOutput.js
│ │ └── ExpensesSummary.js
│ ├── ManageExpense
│ │ ├── ExpenseForm.js
│ │ └── Input.js
│ └── UI
│ │ ├── Button.js
│ │ ├── ErrorOverlay.js
│ │ ├── IconButton.js
│ │ └── LoadingOverlay.js
│ ├── constants
│ └── styles.js
│ ├── package.json
│ ├── screens
│ ├── AllExpenses.js
│ ├── ManageExpense.js
│ └── RecentExpenses.js
│ ├── store
│ └── expenses-context.js
│ └── util
│ ├── date.js
│ └── http.js
├── 11 Auth
├── code
│ ├── 01-starting-code
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 02-controlling-signup-login-screens
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ ├── 03-creating-new-users
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 04-logging-users-in
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 05-auth-error-handling
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 06-storing-managing-the-user-auth-state
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ ├── store
│ │ │ └── auth-context.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 07-protecting-screens
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ ├── store
│ │ │ └── auth-context.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 08-adding-logout
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ ├── store
│ │ │ └── auth-context.js
│ │ └── util
│ │ │ └── auth.js
│ ├── 09-accessing-protected-resources
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Auth
│ │ │ │ ├── AuthContent.js
│ │ │ │ ├── AuthForm.js
│ │ │ │ └── Input.js
│ │ │ └── ui
│ │ │ │ ├── Button.js
│ │ │ │ ├── FlatButton.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── LoginScreen.js
│ │ │ ├── SignupScreen.js
│ │ │ └── WelcomeScreen.js
│ │ ├── store
│ │ │ └── auth-context.js
│ │ └── util
│ │ │ └── auth.js
│ └── 10-storing-auth-tokens-on-the-device
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── Auth
│ │ │ ├── AuthContent.js
│ │ │ ├── AuthForm.js
│ │ │ └── Input.js
│ │ └── ui
│ │ │ ├── Button.js
│ │ │ ├── FlatButton.js
│ │ │ ├── IconButton.js
│ │ │ └── LoadingOverlay.js
│ │ ├── constants
│ │ └── styles.js
│ │ ├── package.json
│ │ ├── screens
│ │ ├── LoginScreen.js
│ │ ├── SignupScreen.js
│ │ └── WelcomeScreen.js
│ │ ├── store
│ │ └── auth-context.js
│ │ └── util
│ │ └── auth.js
├── extra-files
│ └── A Note About Token Expiration.docx
└── slides
│ └── slides.pdf
├── 12 Native Features
├── code
│ ├── 01-editing-the-favorite-place-items
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── Places
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 02-adding-an-add-place-screen-navigation
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ └── Places
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 03-adding-a-header-button
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 04-global-colors-styling
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 05-taking-photos-on-ios
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 06-showing-an-image-preview
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ └── IconButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 07-creating-a-custom-button
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 08-getting-started-with-the-location-picker
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 09-locating-users
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ └── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ ├── 10-adding-a-location-preview
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 11-adding-an-interactive-map
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 12-allowing-map-interaction
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 13-previewing-picked-locations
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 14-converting-picked-location-to-human-readable-address
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 15-outputting-a-list-of-places
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ └── location.js
│ ├── 16-sqlite-getting-started
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ ├── database.js
│ │ │ └── location.js
│ ├── 17-inserting-places-into-the-db
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ ├── database.js
│ │ │ └── location.js
│ ├── 18-fetching-places-from-the-database
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ ├── database.js
│ │ │ └── location.js
│ ├── 19-fetching-place-detail-data
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ │ ├── adaptive-icon.png
│ │ │ ├── favicon.png
│ │ │ ├── icon.png
│ │ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ │ ├── Places
│ │ │ │ ├── ImagePicker.js
│ │ │ │ ├── LocationPicker.js
│ │ │ │ ├── PlaceForm.js
│ │ │ │ ├── PlaceItem.js
│ │ │ │ └── PlacesList.js
│ │ │ └── UI
│ │ │ │ ├── Button.js
│ │ │ │ ├── IconButton.js
│ │ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ │ └── colors.js
│ │ ├── models
│ │ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ │ ├── AddPlace.js
│ │ │ ├── AllPlaces.js
│ │ │ ├── Map.js
│ │ │ └── PlaceDetails.js
│ │ └── util
│ │ │ ├── database.js
│ │ │ └── location.js
│ └── 20-finished
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── Places
│ │ │ ├── ImagePicker.js
│ │ │ ├── LocationPicker.js
│ │ │ ├── PlaceForm.js
│ │ │ ├── PlaceItem.js
│ │ │ └── PlacesList.js
│ │ └── UI
│ │ │ ├── Button.js
│ │ │ ├── IconButton.js
│ │ │ └── OutlinedButton.js
│ │ ├── constants
│ │ └── colors.js
│ │ ├── models
│ │ └── place.js
│ │ ├── package.json
│ │ ├── screens
│ │ ├── AddPlace.js
│ │ ├── AllPlaces.js
│ │ ├── Map.js
│ │ └── PlaceDetails.js
│ │ └── util
│ │ ├── database.js
│ │ └── location.js
└── extra-files
│ └── colors.js
├── 13 No expo
└── slides
│ └── slides.pdf
├── 14 Publish
├── code
│ └── 01-starting-code
│ │ ├── App.js
│ │ ├── app.json
│ │ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ │ ├── babel.config.js
│ │ ├── components
│ │ ├── CategoryGridTile.js
│ │ ├── IconButton.js
│ │ ├── MealDetail
│ │ │ ├── List.js
│ │ │ └── Subtitle.js
│ │ ├── MealDetails.js
│ │ └── MealsList
│ │ │ ├── MealItem.js
│ │ │ └── MealsList.js
│ │ ├── data
│ │ └── dummy-data.js
│ │ ├── models
│ │ ├── category.js
│ │ └── meal.js
│ │ ├── package.json
│ │ ├── screens
│ │ ├── CategoriesScreen.js
│ │ ├── FavoritesScreen.js
│ │ ├── MealDetailScreen.js
│ │ └── MealsOverviewScreen.js
│ │ └── store
│ │ ├── context
│ │ └── favorites-context.js
│ │ └── redux
│ │ ├── favorites.js
│ │ └── store.js
├── extra-files
│ ├── Configuring Android Apps.txt
│ ├── Useful links.txt
│ ├── assets-1
│ │ ├── adaptive-icon.png
│ │ ├── assets.zip
│ │ ├── icon.png
│ │ └── splash.png
│ └── assets-2
│ │ └── icons.zip
└── slides
│ └── slides.pdf
├── 15 Push Notifcations
├── Configuring Scheduled Notifications.docx
└── Local Notifications - Permissions.docx
├── 17 JavaScript Refresher
├── 01-core-js-syntax.zip
├── 02-let-and-const.zip
├── 03-arrow-functions.zip
├── 04-objects.zip
├── 05-arrays.zip
├── 06-arrays-and-reference-types.zip
├── 07-spread-and-rest.zip
├── 08-destructuring.zip
├── 09-async-code.zip
├── Project Setup.txt
└── Useful links.txt
├── 18 ReactJS Refresher
├── react-refresher-01-react-starting-project.zip
├── react-refresher-02-react-basics.zip
├── react-refresher-03-first-basic-component.zip
├── react-refresher-04-passing-props.zip
├── react-refresher-05-outputting-a-list-of-data.zip
├── react-refresher-06-handling-events.zip
├── react-refresher-07-parent-child-communication.zip
├── react-refresher-08-state.zip
└── react-refresher-09-two-way-binding.zip
├── LICENSE
├── README.md
├── Section 2 Quizzes - React Native Basics [Course Goals App].pdf
└── Section 5 Quiz - Building Adaptive User Interfaces.pdf
/01 Getting Started/code/01-first-app/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/01 Getting Started/code/01-first-app/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/01 Getting Started/code/01-first-app/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/01 Getting Started/code/01-first-app/assets/favicon.png
--------------------------------------------------------------------------------
/01 Getting Started/code/01-first-app/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/01 Getting Started/code/01-first-app/assets/icon.png
--------------------------------------------------------------------------------
/01 Getting Started/code/01-first-app/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/01 Getting Started/code/01-first-app/assets/splash.png
--------------------------------------------------------------------------------
/01 Getting Started/code/01-first-app/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/01-working-with-core-components/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/01-working-with-core-components/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/01-working-with-core-components/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/01-working-with-core-components/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/01-working-with-core-components/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/01-working-with-core-components/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/01-working-with-core-components/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/01-working-with-core-components/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/01-working-with-core-components/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/02-styling-react-native-apps/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/02-styling-react-native-apps/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/02-styling-react-native-apps/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/02-styling-react-native-apps/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/02-styling-react-native-apps/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/02-styling-react-native-apps/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/02-styling-react-native-apps/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/02-styling-react-native-apps/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/02-styling-react-native-apps/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/03-improving-the-layout/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/03-improving-the-layout/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/03-improving-the-layout/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/03-improving-the-layout/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/03-improving-the-layout/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/03-improving-the-layout/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/03-improving-the-layout/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/03-improving-the-layout/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/03-improving-the-layout/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/03a - Flexbox deep dive/Flexbox cheat sheet - overview.txt:
--------------------------------------------------------------------------------
1 | Flexbox cheat sheet/overview
2 | https://reactnative.dev/docs/flexbox
--------------------------------------------------------------------------------
/02 Basics/code/04-handling-events/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/04-handling-events/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/04-handling-events/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/04-handling-events/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/04-handling-events/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/04-handling-events/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/04-handling-events/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/04-handling-events/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/04-handling-events/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/05-managing-a-list-of-course-goals/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/05-managing-a-list-of-course-goals/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/05-managing-a-list-of-course-goals/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/05-managing-a-list-of-course-goals/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/05-managing-a-list-of-course-goals/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/05-managing-a-list-of-course-goals/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/05-managing-a-list-of-course-goals/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/06-ios-android-styling-differences/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/06-ios-android-styling-differences/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/06-ios-android-styling-differences/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/06-ios-android-styling-differences/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/06-ios-android-styling-differences/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/06-ios-android-styling-differences/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/06-ios-android-styling-differences/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/07-optimizing-lists-with-flatlist/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/07-optimizing-lists-with-flatlist/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/07-optimizing-lists-with-flatlist/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/07-optimizing-lists-with-flatlist/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/07-optimizing-lists-with-flatlist/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/07-optimizing-lists-with-flatlist/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/07-optimizing-lists-with-flatlist/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/08-splitting-components/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/08-splitting-components/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/08-splitting-components/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/08-splitting-components/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/08-splitting-components/components/GoalInput.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/08-splitting-components/components/GoalInput.js
--------------------------------------------------------------------------------
/02 Basics/code/09-utilizing-props/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/09-utilizing-props/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/09-utilizing-props/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/09-utilizing-props/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/09-utilizing-props/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/09-utilizing-props/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/09-utilizing-props/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/09-utilizing-props/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/09-utilizing-props/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/10-handling-taps-with-pressable/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/10-handling-taps-with-pressable/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/10-handling-taps-with-pressable/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/10-handling-taps-with-pressable/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/10-handling-taps-with-pressable/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/10-handling-taps-with-pressable/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/10-handling-taps-with-pressable/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/11-adding-android-ripple-and-ios-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/12-styling-the-modal-overlay/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/12-styling-the-modal-overlay/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/12-styling-the-modal-overlay/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/12-styling-the-modal-overlay/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/12-styling-the-modal-overlay/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/12-styling-the-modal-overlay/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/12-styling-the-modal-overlay/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/12-styling-the-modal-overlay/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/12-styling-the-modal-overlay/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/13-opening-and-closing-the-modal/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/13-opening-and-closing-the-modal/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/13-opening-and-closing-the-modal/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/13-opening-and-closing-the-modal/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/13-opening-and-closing-the-modal/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/13-opening-and-closing-the-modal/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/13-opening-and-closing-the-modal/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/14-working-with-images/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/14-working-with-images/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/14-working-with-images/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/assets/images/goal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/14-working-with-images/assets/images/goal.png
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/14-working-with-images/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/14-working-with-images/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/15-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/15-finished/assets/favicon.png
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/15-finished/assets/icon.png
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/assets/images/goal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/15-finished/assets/images/goal.png
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/code/15-finished/assets/splash.png
--------------------------------------------------------------------------------
/02 Basics/code/15-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/02 Basics/extra-files/goal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/extra-files/goal.png
--------------------------------------------------------------------------------
/02 Basics/extra-files/starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/extra-files/starting-project.zip
--------------------------------------------------------------------------------
/02 Basics/slides/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/02 Basics/slides/slides.pdf
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/01-creating-custom-buttons/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/01-creating-custom-buttons/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/01-creating-custom-buttons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/02-styling-number-input/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/02-styling-number-input/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/02-styling-number-input/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/02-styling-number-input/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/02-styling-number-input/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/02-styling-number-input/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/02-styling-number-input/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/03-configuring-text-input/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/03-configuring-text-input/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/03-configuring-text-input/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/03-configuring-text-input/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/03-configuring-text-input/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/04-improving-buttons/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/04-improving-buttons/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/04-improving-buttons/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/04-improving-buttons/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/04-improving-buttons/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/04-improving-buttons/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/04-improving-buttons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/04-improving-buttons/screens/GameScreen.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/04-improving-buttons/screens/GameScreen.js
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/05-coloring-components-overall-app/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/06-adding-linear-gradient/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/06-adding-linear-gradient/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/06-adding-linear-gradient/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/06-adding-linear-gradient/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/06-adding-linear-gradient/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/07-adding-background-image/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/07-adding-background-image/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/07-adding-background-image/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/08-getting-started-with-game-logic/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/09-switching-screens/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/09-switching-screens/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/09-switching-screens/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/09-switching-screens/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/09-switching-screens/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/09-switching-screens/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/09-switching-screens/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/09-switching-screens/screens/GameScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function GameScreen() {
4 | return Game Screen!
5 | }
6 |
7 | export default GameScreen;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/10-respecting-device-screen-restrictions-safeareaview/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/11-managing-colors-globally/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/11-managing-colors-globally/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/11-managing-colors-globally/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/12-creating-using-displaying-random-number/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/13-adding-game-control-buttons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/14-checking-for-game-over/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/14-checking-for-game-over/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/14-checking-for-game-over/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/14-checking-for-game-over/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/14-checking-for-game-over/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/14-checking-for-game-over/screens/GameOverScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function GameOverScreen() {
4 | return Game is over!
5 | }
6 |
7 | export default GameOverScreen;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/15-cascading-styles/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/15-cascading-styles/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/15-cascading-styles/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/15-cascading-styles/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/15-cascading-styles/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/15-cascading-styles/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/15-cascading-styles/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/15-cascading-styles/screens/GameOverScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function GameOverScreen() {
4 | return Game is over!
5 | }
6 |
7 | export default GameOverScreen;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/16-working-with-icons/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/16-working-with-icons/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/16-working-with-icons/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/16-working-with-icons/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/16-working-with-icons/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/16-working-with-icons/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/16-working-with-icons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/16-working-with-icons/screens/GameOverScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function GameOverScreen() {
4 | return Game is over!
5 | }
6 |
7 | export default GameOverScreen;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/17-adding-using-custom-font/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/17-adding-using-custom-font/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/17-adding-using-custom-font/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/17-adding-using-custom-font/screens/GameOverScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function GameOverScreen() {
4 | return Game is over!
5 | }
6 |
7 | export default GameOverScreen;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/18-using-styling-nested-text/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/19-adding-logic-to-restart-games/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/20-styling-game-round-logs/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/20-styling-game-round-logs/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/20-styling-game-round-logs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/favicon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/fonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/fonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/icon.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/images/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/images/background.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/images/success.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/code/21-finished/assets/splash.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/04 Deep Dive Real App/code/21-finished/constants/colors.js:
--------------------------------------------------------------------------------
1 | const Colors = {
2 | primary500: '#72063c',
3 | primary600: '#640233',
4 | primary700: '#4e0329',
5 | primary800: '#3b021f',
6 | accent500: '#ddb52f'
7 | };
8 |
9 | export default Colors;
--------------------------------------------------------------------------------
/04 Deep Dive Real App/extra-files/fonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/extra-files/fonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/04 Deep Dive Real App/extra-files/fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/extra-files/fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/04 Deep Dive Real App/extra-files/images/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/extra-files/images/background.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/extra-files/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/extra-files/images/success.png
--------------------------------------------------------------------------------
/04 Deep Dive Real App/extra-files/starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/04 Deep Dive Real App/extra-files/starting-project.zip
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/01-setting-dynamic-widths/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/01-setting-dynamic-widths/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/02-adjusting-image-sizes-with-dimensions-api/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/03-setting-sizes-dynamically/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/03-setting-sizes-dynamically/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/04-keyboardavoidingview/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/04-keyboardavoidingview/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/04-keyboardavoidingview/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/assets/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/04-keyboardavoidingview/assets/images/success.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/04-keyboardavoidingview/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/04-keyboardavoidingview/constants/colors.js:
--------------------------------------------------------------------------------
1 | const Colors = {
2 | primary500: '#72063c',
3 | primary600: '#640233',
4 | primary700: '#4e0329',
5 | primary800: '#3b021f',
6 | accent500: '#ddb52f'
7 | };
8 |
9 | export default Colors;
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/05-further-improvements/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/05-further-improvements/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/05-further-improvements/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/assets/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/05-further-improvements/assets/images/success.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/05-further-improvements/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/05-further-improvements/constants/colors.js:
--------------------------------------------------------------------------------
1 | const Colors = {
2 | primary500: '#72063c',
3 | primary600: '#640233',
4 | primary700: '#4e0329',
5 | primary800: '#3b021f',
6 | accent500: '#ddb52f'
7 | };
8 |
9 | export default Colors;
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/06-platform-specific-code/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/06-platform-specific-code/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/06-platform-specific-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/06-platform-specific-code/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/06-platform-specific-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/06-platform-specific-code/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/06-platform-specific-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/favicon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/fonts/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/fonts/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/icon.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/images/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/images/background.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/images/success.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/code/07-finished/assets/splash.png
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/constants/colors.android.js:
--------------------------------------------------------------------------------
1 | const Colors = {
2 | primary500: '#72063c',
3 | primary600: '#640233',
4 | primary700: '#4e0329',
5 | primary800: '#3b021f',
6 | accent500: '#ddb52f'
7 | };
8 |
9 | export default Colors;
--------------------------------------------------------------------------------
/05 Adaptive UIs/code/07-finished/constants/colors.ios.js:
--------------------------------------------------------------------------------
1 | const Colors = {
2 | primary500: '#72063c',
3 | primary600: '#640233',
4 | primary700: '#4e0329',
5 | primary800: '#3b021f',
6 | accent500: '#ddb52f'
7 | };
8 |
9 | export default Colors;
--------------------------------------------------------------------------------
/05 Adaptive UIs/extra-files/starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/05 Adaptive UIs/extra-files/starting-project.zip
--------------------------------------------------------------------------------
/06 Navigation/code/01-displaying-items-in-a-grid/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/01-displaying-items-in-a-grid/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/01-displaying-items-in-a-grid/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/01-displaying-items-in-a-grid/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/01-displaying-items-in-a-grid/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/01-displaying-items-in-a-grid/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/01-displaying-items-in-a-grid/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/01-displaying-items-in-a-grid/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/02-getting-started-with-react-navigation/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/03-implementing-navigation-between-two-screens/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/04-working-with-route-parameters/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/04-working-with-route-parameters/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/04-working-with-route-parameters/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/04-working-with-route-parameters/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/04-working-with-route-parameters/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/04-working-with-route-parameters/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/04-working-with-route-parameters/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/05-adding-images-styling/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/05-adding-images-styling/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/05-adding-images-styling/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/05-adding-images-styling/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/05-adding-images-styling/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/06-styling-screen-headers/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/06-styling-screen-headers/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/06-styling-screen-headers/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/06-styling-screen-headers/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/06-styling-screen-headers/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/07-styling-navigation-options-dynamically/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/08-finishing-the-meal-details-screen/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/09-adding-header-buttons/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/09-adding-header-buttons/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/09-adding-header-buttons/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/09-adding-header-buttons/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/09-adding-header-buttons/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/10-adding-an-icon-button/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/10-adding-an-icon-button/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/10-adding-an-icon-button/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/10-adding-an-icon-button/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/10-adding-an-icon-button/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/11-other-navigators-starting-code/App.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | export default function App() {
4 | return Todo...;
5 | }
6 |
--------------------------------------------------------------------------------
/06 Navigation/code/11-other-navigators-starting-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/11-other-navigators-starting-code/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/11-other-navigators-starting-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/11-other-navigators-starting-code/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/11-other-navigators-starting-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/12-adding-drawer-navigation/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/12-adding-drawer-navigation/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/12-adding-drawer-navigation/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/12-adding-drawer-navigation/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/12-adding-drawer-navigation/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/12-adding-drawer-navigation/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/12-adding-drawer-navigation/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/13-configuring-the-drawer-navigator/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/13-configuring-the-drawer-navigator/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/13-configuring-the-drawer-navigator/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/14-adding-configuring-using-bottom-tabs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/15-nesting-navigators/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/15-nesting-navigators/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/15-nesting-navigators/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/15-nesting-navigators/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/15-nesting-navigators/screens/FavoritesScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function FavoritesScreen() {
4 | return The favorites screen!;
5 | }
6 |
7 | export default FavoritesScreen;
8 |
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/16-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/16-finished/assets/favicon.png
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/16-finished/assets/icon.png
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/code/16-finished/assets/splash.png
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/06 Navigation/code/16-finished/screens/FavoritesScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function FavoritesScreen() {
4 | return The favorites screen!;
5 | }
6 |
7 | export default FavoritesScreen;
8 |
--------------------------------------------------------------------------------
/06 Navigation/extra-files/Setting the Default Screen.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/extra-files/Setting the Default Screen.docx
--------------------------------------------------------------------------------
/06 Navigation/extra-files/models.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/extra-files/models.zip
--------------------------------------------------------------------------------
/06 Navigation/extra-files/other-navigators-starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/extra-files/other-navigators-starting-project.zip
--------------------------------------------------------------------------------
/06 Navigation/extra-files/starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/extra-files/starting-project.zip
--------------------------------------------------------------------------------
/06 Navigation/slides/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/06 Navigation/slides/slides.pdf
--------------------------------------------------------------------------------
/07 Redux and Context/code/01-getting-started-with-context-api/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/01-getting-started-with-context-api/screens/FavoritesScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function FavoritesScreen() {
4 | return The favorites screen!;
5 | }
6 |
7 | export default FavoritesScreen;
8 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/02-managing-app-wide-state-with-context/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/03-using-created-context/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/03-using-created-context/assets/favicon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/03-using-created-context/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/03-using-created-context/assets/icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/03-using-created-context/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/03-using-created-context/assets/splash.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/03-using-created-context/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/03-using-created-context/screens/FavoritesScreen.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function FavoritesScreen() {
4 | return The favorites screen!;
5 | }
6 |
7 | export default FavoritesScreen;
8 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/04-managing-favorite-meals/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/04-managing-favorite-meals/assets/icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/04-managing-favorite-meals/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/04-managing-favorite-meals/assets/splash.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/04-managing-favorite-meals/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/05-getting-started-with-redux/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/05-getting-started-with-redux/store/redux/store.js:
--------------------------------------------------------------------------------
1 | import { configureStore } from '@reduxjs/toolkit';
2 |
3 | export const store = configureStore({
4 | reducer: {}
5 | });
--------------------------------------------------------------------------------
/07 Redux and Context/code/06-working-with-redux-slices/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/06-working-with-redux-slices/assets/icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/06-working-with-redux-slices/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/07-managing-redux-state/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/07-managing-redux-state/assets/favicon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/07-managing-redux-state/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/07-managing-redux-state/assets/icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/07-managing-redux-state/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/07-managing-redux-state/assets/splash.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/07-managing-redux-state/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/07-managing-redux-state/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/08-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/08-finished/assets/favicon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/08-finished/assets/icon.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/code/08-finished/assets/splash.png
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/07 Redux and Context/code/08-finished/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/07 Redux and Context/extra-files/Redux vs React Context API.txt:
--------------------------------------------------------------------------------
1 | Redux vs React Context API
2 | https://academind.com/tutorials/reactjs-redux-vs-context-api
3 |
--------------------------------------------------------------------------------
/07 Redux and Context/extra-files/starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/07 Redux and Context/extra-files/starting-project.zip
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/01-the-starting-setup/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/01-the-starting-setup/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/01-the-starting-setup/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/01-the-starting-setup/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/screens/AllExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function AllExpenses() {
4 | return AllExpenses Screen;
5 | }
6 |
7 | export default AllExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/01-the-starting-setup/screens/RecentExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function RecentExpenses() {
4 | return RecentExpenses Screen;
5 | }
6 |
7 | export default RecentExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/02-adding-navigation/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/02-adding-navigation/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/02-adding-navigation/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/02-adding-navigation/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/screens/AllExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function AllExpenses() {
4 | return AllExpenses Screen;
5 | }
6 |
7 | export default AllExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/02-adding-navigation/screens/RecentExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function RecentExpenses() {
4 | return RecentExpenses Screen;
5 | }
6 |
7 | export default RecentExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/03-adding-global-colors/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/03-adding-global-colors/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/03-adding-global-colors/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/03-adding-global-colors/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/screens/AllExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function AllExpenses() {
4 | return AllExpenses Screen;
5 | }
6 |
7 | export default AllExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/03-adding-global-colors/screens/RecentExpenses.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function RecentExpenses() {
4 | return RecentExpenses Screen;
5 | }
6 |
7 | export default RecentExpenses;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/04-adding-dummy-expense-data/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/04-adding-dummy-expense-data/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/04-adding-dummy-expense-data/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/components/ExpensesOutput/ExpensesList.js:
--------------------------------------------------------------------------------
1 | import { FlatList } from 'react-native';
2 |
3 | function ExpensesList() {
4 | return ;
5 | }
6 |
7 | export default ExpensesList;
--------------------------------------------------------------------------------
/08 Practice App/code/04-adding-dummy-expense-data/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/05-outputting-a-list-of-expenses/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/05-outputting-a-list-of-expenses/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/05-outputting-a-list-of-expenses/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/05-outputting-a-list-of-expenses/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/06-improving-app-layout-styling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/06-improving-app-layout-styling/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/06-improving-app-layout-styling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/06-improving-app-layout-styling/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/06-improving-app-layout-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/06-improving-app-layout-styling/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/07-working-on-expense-list-items/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/07-working-on-expense-list-items/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/07-working-on-expense-list-items/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/07-working-on-expense-list-items/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/08-formatting-dates/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/08-formatting-dates/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/08-formatting-dates/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/08-formatting-dates/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/08-formatting-dates/util/date.js:
--------------------------------------------------------------------------------
1 | export function getFormattedDate(date) {
2 | return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
3 | }
4 |
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/09-navigating-programmatically/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/09-navigating-programmatically/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/09-navigating-programmatically/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/screens/ManageExpense.js:
--------------------------------------------------------------------------------
1 | import { Text } from 'react-native';
2 |
3 | function ManageExpense() {
4 | return ManageExpense Screen;
5 | }
6 |
7 | export default ManageExpense;
8 |
--------------------------------------------------------------------------------
/08 Practice App/code/09-navigating-programmatically/util/date.js:
--------------------------------------------------------------------------------
1 | export function getFormattedDate(date) {
2 | return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
3 | }
4 |
--------------------------------------------------------------------------------
/08 Practice App/code/10-supporting-different-editing-modes/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/10-supporting-different-editing-modes/util/date.js:
--------------------------------------------------------------------------------
1 | export function getFormattedDate(date) {
2 | return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
3 | }
4 |
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/11-adding-custom-buttons/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/11-adding-custom-buttons/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/11-adding-custom-buttons/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/11-adding-custom-buttons/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/11-adding-custom-buttons/util/date.js:
--------------------------------------------------------------------------------
1 | export function getFormattedDate(date) {
2 | return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
3 | }
4 |
--------------------------------------------------------------------------------
/08 Practice App/code/12-managing-app-wide-state/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/12-managing-app-wide-state/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/12-managing-app-wide-state/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/12-managing-app-wide-state/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/12-managing-app-wide-state/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/12-managing-app-wide-state/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/12-managing-app-wide-state/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/12-managing-app-wide-state/util/date.js:
--------------------------------------------------------------------------------
1 | export function getFormattedDate(date) {
2 | return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
3 | }
4 |
--------------------------------------------------------------------------------
/08 Practice App/code/13-using-context/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/13-using-context/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/13-using-context/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/13-using-context/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/13-using-context/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/13-using-context/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/13-using-context/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/13-using-context/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/13-using-context/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/08 Practice App/code/14-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/14-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/14-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/14-finished/assets/favicon.png
--------------------------------------------------------------------------------
/08 Practice App/code/14-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/14-finished/assets/icon.png
--------------------------------------------------------------------------------
/08 Practice App/code/14-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/08 Practice App/code/14-finished/assets/splash.png
--------------------------------------------------------------------------------
/08 Practice App/code/14-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/01-starting-code/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/01-starting-code/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/01-starting-code/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/01-starting-code/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/01-starting-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/01-starting-code/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/01-starting-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/01-starting-code/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/01-starting-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/02-configuring-the-form-input-elements/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/03-added-styling/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/03-added-styling/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/03-added-styling/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/03-added-styling/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/03-added-styling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/03-added-styling/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/03-added-styling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/03-added-styling/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/03-added-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/04-setting-the-form-layout/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/04-setting-the-form-layout/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/04-setting-the-form-layout/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/04-setting-the-form-layout/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/04-setting-the-form-layout/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/04-setting-the-form-layout/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/04-setting-the-form-layout/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/04-setting-the-form-layout/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/04-setting-the-form-layout/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/05-handling-user-input-generic/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/05-handling-user-input-generic/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/05-handling-user-input-generic/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/05-handling-user-input-generic/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/05-handling-user-input-generic/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/05-handling-user-input-generic/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/05-handling-user-input-generic/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/06-managing-form-state-and-submission/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/07-setting-using-default-values/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/07-setting-using-default-values/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/07-setting-using-default-values/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/07-setting-using-default-values/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/07-setting-using-default-values/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/07-setting-using-default-values/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/07-setting-using-default-values/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/08-adding-validation/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/08-adding-validation/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/08-adding-validation/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/08-adding-validation/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/08-adding-validation/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/08-adding-validation/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/08-adding-validation/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/08-adding-validation/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/08-adding-validation/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/09-adding-error-styling/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/09-adding-error-styling/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/09-adding-error-styling/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/09-adding-error-styling/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/09-adding-error-styling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/09-adding-error-styling/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/09-adding-error-styling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/09-adding-error-styling/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/09-adding-error-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/09 User Input/code/10-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/10-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/09 User Input/code/10-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/10-finished/assets/favicon.png
--------------------------------------------------------------------------------
/09 User Input/code/10-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/10-finished/assets/icon.png
--------------------------------------------------------------------------------
/09 User Input/code/10-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/09 User Input/code/10-finished/assets/splash.png
--------------------------------------------------------------------------------
/09 User Input/code/10-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/01-starting-code/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/01-starting-code/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/01-starting-code/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/01-starting-code/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/01-starting-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/01-starting-code/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/01-starting-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/01-starting-code/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/01-starting-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/02-sending-post-requests/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/02-sending-post-requests/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/02-sending-post-requests/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/02-sending-post-requests/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/02-sending-post-requests/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/02-sending-post-requests/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/02-sending-post-requests/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/02-sending-post-requests/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/02-sending-post-requests/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/03-transforming-using-fetched-data/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/03-transforming-using-fetched-data/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/03-transforming-using-fetched-data/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/03-transforming-using-fetched-data/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/03-transforming-using-fetched-data/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/03-transforming-using-fetched-data/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/03-transforming-using-fetched-data/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/04-using-response-data-from-post/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/04-using-response-data-from-post/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/04-using-response-data-from-post/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/04-using-response-data-from-post/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/04-using-response-data-from-post/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/04-using-response-data-from-post/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/04-using-response-data-from-post/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/04-using-response-data-from-post/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/04-using-response-data-from-post/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/05-updating-and-deleting/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/05-updating-and-deleting/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/05-updating-and-deleting/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/05-updating-and-deleting/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/05-updating-and-deleting/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/05-updating-and-deleting/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/05-updating-and-deleting/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/05-updating-and-deleting/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/05-updating-and-deleting/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/06-managing-loading-state/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/06-managing-loading-state/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/06-managing-loading-state/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/06-managing-loading-state/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/06-managing-loading-state/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/06-managing-loading-state/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/06-managing-loading-state/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/06-managing-loading-state/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/06-managing-loading-state/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/10 Http/code/07-handling-request-errors/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/07-handling-request-errors/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/10 Http/code/07-handling-request-errors/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/07-handling-request-errors/assets/favicon.png
--------------------------------------------------------------------------------
/10 Http/code/07-handling-request-errors/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/07-handling-request-errors/assets/icon.png
--------------------------------------------------------------------------------
/10 Http/code/07-handling-request-errors/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/10 Http/code/07-handling-request-errors/assets/splash.png
--------------------------------------------------------------------------------
/10 Http/code/07-handling-request-errors/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/01-starting-code/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/01-starting-code/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/01-starting-code/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/01-starting-code/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/screens/LoginScreen.js:
--------------------------------------------------------------------------------
1 | import AuthContent from '../components/Auth/AuthContent';
2 |
3 | function LoginScreen() {
4 | return ;
5 | }
6 |
7 | export default LoginScreen;
8 |
--------------------------------------------------------------------------------
/11 Auth/code/01-starting-code/screens/SignupScreen.js:
--------------------------------------------------------------------------------
1 | import AuthContent from '../components/Auth/AuthContent';
2 |
3 | function SignupScreen() {
4 | return ;
5 | }
6 |
7 | export default SignupScreen;
8 |
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/02-controlling-signup-login-screens/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/02-controlling-signup-login-screens/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/02-controlling-signup-login-screens/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/screens/LoginScreen.js:
--------------------------------------------------------------------------------
1 | import AuthContent from '../components/Auth/AuthContent';
2 |
3 | function LoginScreen() {
4 | return ;
5 | }
6 |
7 | export default LoginScreen;
8 |
--------------------------------------------------------------------------------
/11 Auth/code/02-controlling-signup-login-screens/screens/SignupScreen.js:
--------------------------------------------------------------------------------
1 | import AuthContent from '../components/Auth/AuthContent';
2 |
3 | function SignupScreen() {
4 | return ;
5 | }
6 |
7 | export default SignupScreen;
8 |
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/03-creating-new-users/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/03-creating-new-users/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/03-creating-new-users/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/03-creating-new-users/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/03-creating-new-users/screens/LoginScreen.js:
--------------------------------------------------------------------------------
1 | import AuthContent from '../components/Auth/AuthContent';
2 |
3 | function LoginScreen() {
4 | return ;
5 | }
6 |
7 | export default LoginScreen;
8 |
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/04-logging-users-in/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/04-logging-users-in/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/04-logging-users-in/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/04-logging-users-in/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/04-logging-users-in/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/05-auth-error-handling/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/05-auth-error-handling/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/05-auth-error-handling/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/05-auth-error-handling/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/05-auth-error-handling/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/06-storing-managing-the-user-auth-state/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/06-storing-managing-the-user-auth-state/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/06-storing-managing-the-user-auth-state/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/06-storing-managing-the-user-auth-state/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/06-storing-managing-the-user-auth-state/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/06-storing-managing-the-user-auth-state/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/07-protecting-screens/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/07-protecting-screens/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/07-protecting-screens/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/07-protecting-screens/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/07-protecting-screens/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/08-adding-logout/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/08-adding-logout/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/08-adding-logout/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/08-adding-logout/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/08-adding-logout/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/09-accessing-protected-resources/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/09-accessing-protected-resources/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/09-accessing-protected-resources/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/09-accessing-protected-resources/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/09-accessing-protected-resources/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/favicon.png
--------------------------------------------------------------------------------
/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/icon.png
--------------------------------------------------------------------------------
/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/code/10-storing-auth-tokens-on-the-device/assets/splash.png
--------------------------------------------------------------------------------
/11 Auth/code/10-storing-auth-tokens-on-the-device/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/11 Auth/code/10-storing-auth-tokens-on-the-device/constants/styles.js:
--------------------------------------------------------------------------------
1 | export const Colors = {
2 | primary100: '#f9beda',
3 | primary500: '#c30b64',
4 | primary800: '#610440',
5 | error100: '#fcdcbf',
6 | error500: '#f37c13',
7 | }
--------------------------------------------------------------------------------
/11 Auth/extra-files/A Note About Token Expiration.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/extra-files/A Note About Token Expiration.docx
--------------------------------------------------------------------------------
/11 Auth/slides/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/11 Auth/slides/slides.pdf
--------------------------------------------------------------------------------
/12 Native Features/code/01-editing-the-favorite-place-items/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/01-editing-the-favorite-place-items/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/02-adding-an-add-place-screen-navigation/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/02-adding-an-add-place-screen-navigation/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/02-adding-an-add-place-screen-navigation/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/03-adding-a-header-button/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/03-adding-a-header-button/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/03-adding-a-header-button/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/03-adding-a-header-button/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/03-adding-a-header-button/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/04-global-colors-styling/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/04-global-colors-styling/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/04-global-colors-styling/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/04-global-colors-styling/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/04-global-colors-styling/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/05-taking-photos-on-ios/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/05-taking-photos-on-ios/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/05-taking-photos-on-ios/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/05-taking-photos-on-ios/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/05-taking-photos-on-ios/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/06-showing-an-image-preview/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/06-showing-an-image-preview/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/06-showing-an-image-preview/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/06-showing-an-image-preview/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/06-showing-an-image-preview/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/07-creating-a-custom-button/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/07-creating-a-custom-button/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/07-creating-a-custom-button/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/07-creating-a-custom-button/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/07-creating-a-custom-button/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/08-getting-started-with-the-location-picker/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/08-getting-started-with-the-location-picker/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/08-getting-started-with-the-location-picker/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/09-locating-users/screens/PlaceDetails.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/09-locating-users/screens/PlaceDetails.js
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/10-adding-a-location-preview/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/10-adding-a-location-preview/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/10-adding-a-location-preview/screens/Map.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/10-adding-a-location-preview/screens/Map.js
--------------------------------------------------------------------------------
/12 Native Features/code/11-adding-an-interactive-map/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/11-adding-an-interactive-map/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/11-adding-an-interactive-map/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/11-adding-an-interactive-map/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/11-adding-an-interactive-map/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/11-adding-an-interactive-map/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/11-adding-an-interactive-map/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/12-allowing-map-interaction/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/12-allowing-map-interaction/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/12-allowing-map-interaction/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/12-allowing-map-interaction/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/13-previewing-picked-locations/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/13-previewing-picked-locations/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/13-previewing-picked-locations/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/13-previewing-picked-locations/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/13-previewing-picked-locations/screens/AllPlaces.js:
--------------------------------------------------------------------------------
1 | import PlacesList from '../components/Places/PlacesList';
2 |
3 | function AllPlaces() {
4 | return ;
5 | }
6 |
7 | export default AllPlaces;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/14-converting-picked-location-to-human-readable-address/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/14-converting-picked-location-to-human-readable-address/screens/AddPlace.js:
--------------------------------------------------------------------------------
1 | import PlaceForm from '../components/Places/PlaceForm';
2 |
3 | function AddPlace() {
4 | return ;
5 | }
6 |
7 | export default AddPlace;
8 |
--------------------------------------------------------------------------------
/12 Native Features/code/15-outputting-a-list-of-places/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/15-outputting-a-list-of-places/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/15-outputting-a-list-of-places/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/16-sqlite-getting-started/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/16-sqlite-getting-started/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/16-sqlite-getting-started/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/16-sqlite-getting-started/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/16-sqlite-getting-started/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/16-sqlite-getting-started/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/16-sqlite-getting-started/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/17-inserting-places-into-the-db/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/18-fetching-places-from-the-database/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/19-fetching-place-detail-data/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/19-fetching-place-detail-data/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/19-fetching-place-detail-data/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/12 Native Features/code/20-finished/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/20-finished/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/20-finished/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/20-finished/assets/favicon.png
--------------------------------------------------------------------------------
/12 Native Features/code/20-finished/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/20-finished/assets/icon.png
--------------------------------------------------------------------------------
/12 Native Features/code/20-finished/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/12 Native Features/code/20-finished/assets/splash.png
--------------------------------------------------------------------------------
/12 Native Features/code/20-finished/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/13 No expo/slides/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/13 No expo/slides/slides.pdf
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/code/01-starting-code/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/code/01-starting-code/assets/favicon.png
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/code/01-starting-code/assets/icon.png
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/code/01-starting-code/assets/splash.png
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function(api) {
2 | api.cache(true);
3 | return {
4 | presets: ['babel-preset-expo'],
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/14 Publish/code/01-starting-code/models/category.js:
--------------------------------------------------------------------------------
1 | class Category {
2 | constructor(id, title, color) {
3 | this.id = id;
4 | this.title = title;
5 | this.color = color;
6 | }
7 | }
8 |
9 | export default Category;
10 |
--------------------------------------------------------------------------------
/14 Publish/extra-files/assets-1/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/extra-files/assets-1/adaptive-icon.png
--------------------------------------------------------------------------------
/14 Publish/extra-files/assets-1/assets.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/extra-files/assets-1/assets.zip
--------------------------------------------------------------------------------
/14 Publish/extra-files/assets-1/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/extra-files/assets-1/icon.png
--------------------------------------------------------------------------------
/14 Publish/extra-files/assets-1/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/extra-files/assets-1/splash.png
--------------------------------------------------------------------------------
/14 Publish/extra-files/assets-2/icons.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/extra-files/assets-2/icons.zip
--------------------------------------------------------------------------------
/14 Publish/slides/slides.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/14 Publish/slides/slides.pdf
--------------------------------------------------------------------------------
/15 Push Notifcations/Configuring Scheduled Notifications.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/15 Push Notifcations/Configuring Scheduled Notifications.docx
--------------------------------------------------------------------------------
/15 Push Notifcations/Local Notifications - Permissions.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/15 Push Notifcations/Local Notifications - Permissions.docx
--------------------------------------------------------------------------------
/17 JavaScript Refresher/01-core-js-syntax.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/01-core-js-syntax.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/02-let-and-const.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/02-let-and-const.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/03-arrow-functions.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/03-arrow-functions.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/04-objects.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/04-objects.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/05-arrays.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/05-arrays.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/06-arrays-and-reference-types.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/06-arrays-and-reference-types.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/07-spread-and-rest.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/07-spread-and-rest.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/08-destructuring.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/08-destructuring.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/09-async-code.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/17 JavaScript Refresher/09-async-code.zip
--------------------------------------------------------------------------------
/17 JavaScript Refresher/Project Setup.txt:
--------------------------------------------------------------------------------
1 | Project Setup
2 |
3 | We'll execute the code examples with NodeJS, hence you should ensure that you have downloaded + installed that from https://nodejs.org/
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-01-react-starting-project.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-01-react-starting-project.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-02-react-basics.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-02-react-basics.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-03-first-basic-component.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-03-first-basic-component.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-04-passing-props.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-04-passing-props.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-05-outputting-a-list-of-data.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-05-outputting-a-list-of-data.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-06-handling-events.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-06-handling-events.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-07-parent-child-communication.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-07-parent-child-communication.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-08-state.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-08-state.zip
--------------------------------------------------------------------------------
/18 ReactJS Refresher/react-refresher-09-two-way-binding.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/18 ReactJS Refresher/react-refresher-09-two-way-binding.zip
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | # React-Native---The-Practical-Guide
5 | Code Repository for React Native - The Practical Guide, published by Packt
6 |
--------------------------------------------------------------------------------
/Section 2 Quizzes - React Native Basics [Course Goals App].pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/Section 2 Quizzes - React Native Basics [Course Goals App].pdf
--------------------------------------------------------------------------------
/Section 5 Quiz - Building Adaptive User Interfaces.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PacktPublishing/React-Native---The-Practical-Guide/78d717d52a3fd73246bb8b3c9192cac0605e9902/Section 5 Quiz - Building Adaptive User Interfaces.pdf
--------------------------------------------------------------------------------