From bc8184b1a402af0c3e54edb79b38ed8e09a6798d Mon Sep 17 00:00:00 2001
From: Leon Jiang <35908040+leonyjiang@users.noreply.github.com>
Date: Thu, 25 Jun 2020 16:28:00 -0700
Subject: cleanup file structure, add react-navigation & basic routes
---
src/App.tsx | 23 +++++++++++++++++++++++
src/__tests__/App-test.tsx | 16 ++++++++++++++++
src/index.ts | 1 +
src/routes/Routes.tsx | 24 ++++++++++++++++++++++++
src/routes/index.ts | 2 ++
src/screens/Login.tsx | 27 +++++++++++++++++++++++++++
src/screens/Registration.tsx | 14 ++++++++++++++
src/screens/index.ts | 2 ++
8 files changed, 109 insertions(+)
create mode 100644 src/App.tsx
create mode 100644 src/__tests__/App-test.tsx
create mode 100644 src/index.ts
create mode 100644 src/routes/Routes.tsx
create mode 100644 src/routes/index.ts
create mode 100644 src/screens/Login.tsx
create mode 100644 src/screens/Registration.tsx
create mode 100644 src/screens/index.ts
(limited to 'src')
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 00000000..6c247f7c
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,23 @@
+/**
+ * Sample React Native App
+ * https://github.com/facebook/react-native
+ *
+ * Generated with the TypeScript template
+ * https://github.com/react-native-community/react-native-template-typescript
+ *
+ * @format
+ */
+
+import React from 'react';
+import Routes from './routes';
+import {NavigationContainer} from '@react-navigation/native';
+
+const App = () => {
+ return (
+
+
+
+ );
+};
+
+export default App;
diff --git a/src/__tests__/App-test.tsx b/src/__tests__/App-test.tsx
new file mode 100644
index 00000000..e362fb52
--- /dev/null
+++ b/src/__tests__/App-test.tsx
@@ -0,0 +1,16 @@
+/**
+ * @format
+ */
+
+import 'react-native';
+import React from 'react';
+import App from '../App';
+
+// Note: test renderer must be required after react-native.
+import renderer from 'react-test-renderer';
+
+jest.mock('react-native/Libraries/Animated/src/NativeAnimatedHelper');
+
+it('renders correctly', () => {
+ renderer.create();
+});
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 00000000..ab7fd11d
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1 @@
+export {default} from './App';
diff --git a/src/routes/Routes.tsx b/src/routes/Routes.tsx
new file mode 100644
index 00000000..9c2efada
--- /dev/null
+++ b/src/routes/Routes.tsx
@@ -0,0 +1,24 @@
+import React from 'react';
+import {createStackNavigator} from '@react-navigation/stack';
+
+import {Login, Registration} from '../screens';
+
+export type RootStackParams = {
+ Login: undefined;
+ Registration: undefined;
+};
+
+const RootStack = createStackNavigator();
+
+interface RoutesProps {}
+
+const Routes: React.FC = ({}) => {
+ return (
+
+
+
+
+ );
+};
+
+export default Routes;
diff --git a/src/routes/index.ts b/src/routes/index.ts
new file mode 100644
index 00000000..cfa05fcb
--- /dev/null
+++ b/src/routes/index.ts
@@ -0,0 +1,2 @@
+export {default} from './Routes';
+export * from './Routes';
diff --git a/src/screens/Login.tsx b/src/screens/Login.tsx
new file mode 100644
index 00000000..0305b907
--- /dev/null
+++ b/src/screens/Login.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+import {RouteProp} from '@react-navigation/native';
+import {StackNavigationProp} from '@react-navigation/stack';
+import {View, Text, Button} from 'react-native';
+
+import {RootStackParams} from '../routes';
+
+type LoginScreenRouteProp = RouteProp;
+type LoginScreenNavigationProp = StackNavigationProp;
+
+interface LoginProps {
+ route: LoginScreenRouteProp;
+ navigation: LoginScreenNavigationProp;
+}
+const Login = ({navigation}: LoginProps) => {
+ return (
+
+ Welcome to Tagg! Login page goes here.
+
+ );
+};
+
+export default Login;
diff --git a/src/screens/Registration.tsx b/src/screens/Registration.tsx
new file mode 100644
index 00000000..44658591
--- /dev/null
+++ b/src/screens/Registration.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import {View, Text} from 'react-native';
+
+interface RegistrationProps {}
+
+const Registration: React.FC = ({}) => {
+ return (
+
+ Registration sequence begins here!
+
+ );
+};
+
+export default Registration;
diff --git a/src/screens/index.ts b/src/screens/index.ts
new file mode 100644
index 00000000..60b26b4c
--- /dev/null
+++ b/src/screens/index.ts
@@ -0,0 +1,2 @@
+export {default as Login} from './Login';
+export {default as Registration} from './Registration';
--
cgit v1.2.3-70-g09d2