├── .gitignore ├── README.md ├── assets ├── icons │ ├── app-icon.png │ └── loading-icon.png └── expo.symbol.white.png ├── package.json ├── components ├── ShutdownPanel.js ├── EmergencyAlertPanel.js ├── NoAccess.js ├── UserDetails.js └── StatsPanel.js ├── app.json ├── example-apps ├── v1-access-control-basic │ ├── AccessControl.js │ └── ExampleApp.js ├── v2-access-control-redux │ ├── AccessControl.js │ └── ExampleApp.js ├── basic-conditional │ └── ExampleApp.js └── v3-access-control-logic │ ├── AccessControl.js │ └── ExampleApp.js ├── App.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .expo 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Supporting demo expo app for medium article: https://medium.com/@duhseekoh/71f1df60f354 2 | -------------------------------------------------------------------------------- /assets/icons/app-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duhseekoh/demo-access-control-in-react/HEAD/assets/icons/app-icon.png -------------------------------------------------------------------------------- /assets/expo.symbol.white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duhseekoh/demo-access-control-in-react/HEAD/assets/expo.symbol.white.png -------------------------------------------------------------------------------- /assets/icons/loading-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duhseekoh/demo-access-control-in-react/HEAD/assets/icons/loading-icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-access-control-post", 3 | "version": "0.0.0", 4 | "description": "No description", 5 | "author": null, 6 | "private": true, 7 | "main": "node_modules/expo/AppEntry.js", 8 | "dependencies": { 9 | "expo": "^27.0.0", 10 | "react": "16.3.1", 11 | "react-native": "https://github.com/expo/react-native/archive/sdk-27.0.0.tar.gz", 12 | "react-native-elements": "0.18.5", 13 | "react-navigation": "^2.2.1", 14 | "react-redux": "5.0.7", 15 | "redux": "^4.0.0-0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /components/ShutdownPanel.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import { View, StyleSheet } from 'react-native'; 3 | import { Button, Card, Text } from 'react-native-elements'; 4 | 5 | const ShutdownPanel = () => { 6 | return ( 7 | 8 | 9 |