aboutsummaryrefslogtreecommitdiff
path: root/mobile/hello-world/components
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/hello-world/components')
-rw-r--r--mobile/hello-world/components/StyledText.js8
-rw-r--r--mobile/hello-world/components/TabBarIcon.js17
-rw-r--r--mobile/hello-world/components/__tests__/StyledText-test.js10
3 files changed, 35 insertions, 0 deletions
diff --git a/mobile/hello-world/components/StyledText.js b/mobile/hello-world/components/StyledText.js
new file mode 100644
index 0000000..24c7b9b
--- /dev/null
+++ b/mobile/hello-world/components/StyledText.js
@@ -0,0 +1,8 @@
+import React from 'react';
+import { Text } from 'react-native';
+
+export class MonoText extends React.Component {
+ render() {
+ return <Text {...this.props} style={[this.props.style, { fontFamily: 'space-mono' }]} />;
+ }
+}
diff --git a/mobile/hello-world/components/TabBarIcon.js b/mobile/hello-world/components/TabBarIcon.js
new file mode 100644
index 0000000..2f1ebed
--- /dev/null
+++ b/mobile/hello-world/components/TabBarIcon.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import { Icon } from 'expo';
+
+import Colors from '../constants/Colors';
+
+export default class TabBarIcon extends React.Component {
+ render() {
+ return (
+ <Icon.Ionicons
+ name={this.props.name}
+ size={26}
+ style={{ marginBottom: -3 }}
+ color={this.props.focused ? Colors.tabIconSelected : Colors.tabIconDefault}
+ />
+ );
+ }
+} \ No newline at end of file
diff --git a/mobile/hello-world/components/__tests__/StyledText-test.js b/mobile/hello-world/components/__tests__/StyledText-test.js
new file mode 100644
index 0000000..04453f8
--- /dev/null
+++ b/mobile/hello-world/components/__tests__/StyledText-test.js
@@ -0,0 +1,10 @@
+import 'react-native';
+import React from 'react';
+import { MonoText } from '../StyledText';
+import renderer from 'react-test-renderer';
+
+it('renders correctly', () => {
+ const tree = renderer.create(<MonoText>Snapshot test!</MonoText>).toJSON();
+
+ expect(tree).toMatchSnapshot();
+});