Skip to content
This repository was archived by the owner on Aug 28, 2020. It is now read-only.

Commit 1b66d57

Browse files
committed
feat: adding main screens and barcode scanning
1 parent 6b61e82 commit 1b66d57

30 files changed

+845
-442
lines changed

android/app/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ android {
134134
targetSdkVersion rootProject.ext.targetSdkVersion
135135
versionCode 1
136136
versionName "1.0"
137+
missingDimensionStrategy 'react-native-camera', 'general'
137138
}
138139
splits {
139140
abi {

index.tsx index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
* @format
33
*/
44

5-
import 'react-native-gesture-handler';
65
import { AppRegistry } from 'react-native';
76
import App from './src/App';
87
import { name as appName } from './app.json';

ios/Podfile

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ target 'C3POApp' do
7979

8080
pod 'Permission-BluetoothPeripheral', :path => "../node_modules/react-native-permissions/ios/BluetoothPeripheral.podspec"
8181

82+
pod 'RNSVG', :path => '../node_modules/react-native-svg'
83+
8284
target 'C3POAppTests' do
8385
inherit! :complete
8486
# Pods for testing

ios/Podfile.lock

-10
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,6 @@ DEPENDENCIES:
370370
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
371371
- "RNCAsyncStorage (from `../node_modules/@react-native-community/async-storage`)"
372372
- "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
373-
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
374373
- RNReanimated (from `../node_modules/react-native-reanimated`)
375374
- RNScreens (from `../node_modules/react-native-screens`)
376375
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@@ -451,14 +450,8 @@ EXTERNAL SOURCES:
451450
:path: "../node_modules/react-native/ReactCommon"
452451
RNCAsyncStorage:
453452
:path: "../node_modules/@react-native-community/async-storage"
454-
RNCMaskedView:
455-
:path: "../node_modules/@react-native-community/masked-view"
456-
RNGestureHandler:
457-
:path: "../node_modules/react-native-gesture-handler"
458453
RNReanimated:
459454
:path: "../node_modules/react-native-reanimated"
460-
RNScreens:
461-
:path: "../node_modules/react-native-screens"
462455
Yoga:
463456
:path: "../node_modules/react-native/ReactCommon/yoga"
464457

@@ -504,10 +497,7 @@ SPEC CHECKSUMS:
504497
React-RCTVibration: 4356114dbcba4ce66991096e51a66e61eda51256
505498
ReactCommon: ed4e11d27609d571e7eee8b65548efc191116eb3
506499
RNCAsyncStorage: 453cd7c335ec9ba3b877e27d02238956b76f3268
507-
RNCMaskedView: 71fc32d971f03b7f03d6ab6b86b730c4ee64f5b6
508-
RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38
509500
RNReanimated: 955cf4068714003d2f1a6e2bae3fb1118f359aff
510-
RNScreens: b5c0e1b2b04512919e78bd3898e144a157ce2363
511501
Yoga: 3ebccbdd559724312790e7742142d062476b698e
512502
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
513503

metro.config.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const { getDefaultConfig } = require('metro-config');
99

1010
module.exports = (async () => {
1111
const {
12-
resolver: { sourceExts }
12+
resolver: { sourceExts, assetExts }
1313
} = await getDefaultConfig();
1414
return {
1515
transformer: {
@@ -19,10 +19,11 @@ module.exports = (async () => {
1919
inlineRequires: false
2020
}
2121
}),
22-
babelTransformerPath: require.resolve('react-native-less-transformer')
22+
babelTransformerPath: require.resolve('./metro.transform.js')
2323
},
2424
resolver: {
25-
sourceExts: [...sourceExts, 'less']
25+
assetExts: assetExts.filter(ext => ext !== 'svg'),
26+
sourceExts: [...sourceExts, 'less', 'svg']
2627
}
2728
};
2829
})();

metro.transform.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const upstreamTransformer = require('metro-react-native-babel-transformer');
2+
const lessTransformer = require('react-native-less-transformer');
3+
const svgTransformer = require('react-native-svg-transformer');
4+
5+
module.exports.transform = function ({ src, filename, options }) {
6+
if (filename.endsWith('.less')) {
7+
return lessTransformer.transform({ src, filename, options });
8+
} else if (filename.endsWith('.svg')) {
9+
return svgTransformer.transform({ src, filename, options });
10+
} else {
11+
return upstreamTransformer.transform({ src, filename, options });
12+
}
13+
};

package.json

+5-11
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,17 @@
3636
"homepage": "https://github.com/secretarium/c3po-app#readme",
3737
"dependencies": {
3838
"@react-native-community/async-storage": "1.9.0",
39-
"@react-native-community/masked-view": "0.1.10",
40-
"@react-navigation/native": "5.1.7",
41-
"@react-navigation/stack": "5.2.14",
4239
"@secretarium/react-native-ble": "https://github.com/secretarium/c3po-react-native-ble#ce5d145a",
4340
"lottie-ios": "3.1.8",
4441
"lottie-react-native": "3.3.2",
4542
"react": "16.13.1",
4643
"react-native": "0.62.2",
47-
"react-native-app-intro-slider": "4.0.2",
48-
"react-native-gesture-handler": "1.6.1",
44+
"react-native-camera": "3.23.1",
4945
"react-native-keep-awake": "4.0.0",
5046
"react-native-permissions": "2.1.3",
51-
"react-native-reanimated": "1.8.0",
52-
"react-native-safe-area-context": "0.7.3",
53-
"react-native-screens": "2.7.0",
47+
"react-native-svg": "12.1.0",
5448
"react-redux": "7.2.0",
49+
"react-router-native": "5.1.2",
5550
"redux": "4.0.5",
5651
"redux-logger": "3.0.6",
5752
"redux-persist": "6.0.0",
@@ -63,8 +58,6 @@
6358
"@babel/runtime": "7.9.2",
6459
"@commitlint/config-conventional": "8.3.4",
6560
"@react-native-community/eslint-config": "1.1.0",
66-
"@react-navigation/native": "5.1.7",
67-
"@react-navigation/stack": "5.2.14",
6861
"@storybook/addon-actions": "5.3.18",
6962
"@storybook/addon-knobs": "5.3.18",
7063
"@storybook/addon-links": "5.3.18",
@@ -78,10 +71,10 @@
7871
"@types/enzyme-adapter-react-16": "1.0.6",
7972
"@types/jest": "25.2.1",
8073
"@types/react-native": "0.62.4",
81-
"@types/react-native-app-intro-slider": "3.0.1",
8274
"@types/react-native-keep-awake": "2.0.2",
8375
"@types/react-redux": "7.1.7",
8476
"@types/react-test-renderer": "16.9.2",
77+
"@types/react-router-native": "5.1.0",
8578
"@types/redux-logger": "3.0.7",
8679
"@types/redux-promise": "0.5.28",
8780
"@typescript-eslint/eslint-plugin": "2.29.0",
@@ -109,6 +102,7 @@
109102
"metro-react-native-babel-preset": "0.59.0",
110103
"react-dom": "16.13.1",
111104
"react-native-less-transformer": "1.3.0",
105+
"react-native-svg-transformer": "0.14.3",
112106
"react-test-renderer": "16.13.1",
113107
"release-it": "13.5.6",
114108
"typescript": "3.8.3"

src/App.tsx

+13-10
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,25 @@
44

55
import React from 'react';
66
import { StatusBar } from 'react-native';
7+
import { Route, Switch } from 'react-router-native';
78
import StorybookUI from '../storybook';
89
import { Providers } from './Providers';
9-
// import TestAnimation from './TestAnimation';
10-
import { TestBeacon } from './components/TestBeacon';
11-
import { Navigator, Screen } from './modules/navigation/Navigator';
10+
import Welcome from './components/Welcome';
11+
import Bluetooth from './components/Bluetooth';
12+
import Exposure from './components/Exposure';
13+
import Scanning from './components/Scanning';
1214

1315
const App: React.FC = () => {
1416
return (
1517
<Providers>
16-
<StatusBar barStyle="dark-content" animated={true} />
17-
<Navigator initialRouteName="Home">
18-
<Screen name="Home" options={{
19-
title: 'Beta software'
20-
}} component={TestBeacon} />
21-
{__DEV__ ? <Screen name="Storybook" component={StorybookUI} /> : undefined}
22-
</Navigator>
18+
<StatusBar barStyle="dark-content" backgroundColor="white" animated={true} />
19+
{__DEV__ ? <Route path="/storybook" component={StorybookUI} /> : undefined}
20+
<Switch>
21+
<Route path="/bluetooth" component={Bluetooth} />
22+
<Route path="/exposure" component={Exposure} />
23+
<Route path="/scanning" component={Scanning} />
24+
<Route path="/" component={Welcome} />
25+
</Switch>
2326
</Providers>
2427
);
2528
};

src/Providers.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { ActivityIndicator, View } from 'react-native';
33
import KeepAwake from 'react-native-keep-awake';
44
import { Provider } from 'react-redux';
55
import { PersistGate } from 'redux-persist/integration/react';
6-
import { NavigationContainer } from '@react-navigation/native';
6+
import { NativeRouter } from 'react-router-native';
77

88
import { store, persistor } from './redux/store';
99

@@ -18,10 +18,10 @@ export const Providers: React.FC = ({ children }) => {
1818
)}
1919
persistor={persistor}
2020
>
21-
<NavigationContainer>
21+
<NativeRouter>
2222
{__DEV__ ? <KeepAwake /> : undefined}
2323
{children}
24-
</NavigationContainer>
24+
</NativeRouter>
2525
</PersistGate>
2626
</Provider>
2727
);

src/TestAnimation.less

-11
This file was deleted.

src/TestAnimation.tsx

-16
This file was deleted.

src/TestIntro.tsx

-68
This file was deleted.

src/assets/barcode.svg

+30
Loading

src/assets/bluetooth.svg

+12
Loading

src/assets/healthy.svg

+17
Loading

src/assets/infected.svg

+17
Loading

0 commit comments

Comments
 (0)