Skip to content
This repository has been archived by the owner on Mar 23, 2023. It is now read-only.

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ray Zane committed Dec 26, 2017
0 parents commit c713bc3
Show file tree
Hide file tree
Showing 158 changed files with 13,590 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .babelrc
@@ -0,0 +1,8 @@
{
"presets": ["react-native"],
"env": {
"production": {
"plugins": ["ignite-ignore-reactotron"]
}
}
}
6 changes: 6 additions & 0 deletions .buckconfig
@@ -0,0 +1,6 @@

[android]
target = Google Inc.:Google APIs:23

[maven_repositories]
central = https://repo1.maven.org/maven2
17 changes: 17 additions & 0 deletions .editorconfig
@@ -0,0 +1,17 @@
# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true


[*.gradle]
indent_size = 4
6 changes: 6 additions & 0 deletions .env.example
@@ -0,0 +1,6 @@
# This is an example where you can store your environment variables. Copy this file to .env
# Now your app will have access to the variables added below.
# For more instructions see section "Secrets" in README.md

API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
48 changes: 48 additions & 0 deletions .flowconfig
@@ -0,0 +1,48 @@
[ignore]
; We fork some components by platform
.*/*[.]android.js

; Ignore "BUCK" generated dirs
<PROJECT_ROOT>/\.buckd/

; Ignore unexpected extra "@providesModule"
.*/node_modules/.*/node_modules/fbjs/.*

; Ignore duplicate module providers
; For RN Apps installed via npm, "Libraries" folder is inside
; "node_modules/react-native" but in the source repo it is in the root
.*/Libraries/react-native/React.js

; Ignore polyfills
.*/Libraries/polyfills/.*

[include]

[libs]
node_modules/react-native/Libraries/react-native/react-native-interface.js
node_modules/react-native/flow/

[options]
emoji=true

module.system=haste

munge_underscores=true

module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub'

suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FlowFixMeProps
suppress_type=$FlowFixMeState
suppress_type=$FixMe

suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(5[0-6]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(5[0-6]\\|[1-4][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError

unsafe.enable_getters_and_setters=true

[version]
^0.56.0
2 changes: 2 additions & 0 deletions .gitattributes
@@ -0,0 +1,2 @@
*.pbxproj -text
*.bat text eol=crlf
57 changes: 57 additions & 0 deletions .gitignore
@@ -0,0 +1,57 @@
# OSX
#
.DS_Store

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# BUCK
buck-out/
\.buckd/
*.keystore

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/

*/fastlane/report.xml
*/fastlane/Preview.html
*/fastlane/screenshots

# Misc
#
.env
1 change: 1 addition & 0 deletions .watchmanconfig
@@ -0,0 +1 @@
{}
33 changes: 33 additions & 0 deletions App/Components/AlertMessage.js
@@ -0,0 +1,33 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { View, Text } from 'react-native'
import styles from './Styles/AlertMessageStyles'

export default class AlertMessage extends Component {
static defaultProps = { show: true }

static propTypes = {
title: PropTypes.string,
icon: PropTypes.string,
style: PropTypes.object,
show: PropTypes.bool
}

render () {
let messageComponent = null
if (this.props.show) {
const { title } = this.props
return (
<View
style={[styles.container, this.props.style]}
>
<View style={styles.contentContainer}>
<Text allowFontScaling={false} style={styles.message}>{title && title.toUpperCase()}</Text>
</View>
</View>
)
}

return messageComponent
}
}
23 changes: 23 additions & 0 deletions App/Components/AlertMessage.story.js
@@ -0,0 +1,23 @@
import React from 'react'
import { storiesOf } from '@storybook/react-native'

import AlertMessage from './AlertMessage'

storiesOf('AlertMessage')
.add('Default', () => (
<AlertMessage
title='ALERT ALERT'
/>
))
.add('Hidden', () => (
<AlertMessage
title='ALERT ALERT'
show={false}
/>
))
.add('Custom Style', () => (
<AlertMessage
title='ALERT ALERT'
style={{ backgroundColor: 'red' }}
/>
))
35 changes: 35 additions & 0 deletions App/Components/DrawerButton.js
@@ -0,0 +1,35 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { Text, TouchableOpacity } from 'react-native'
import styles from './Styles/DrawerButtonStyles'
import ExamplesRegistry from '../Services/ExamplesRegistry'

// Note that this file (App/Components/DrawerButton) needs to be
// imported in your app somewhere, otherwise your component won't be
// compiled and added to the examples dev screen.

// Ignore in coverage report
/* istanbul ignore next */
ExamplesRegistry.addComponentExample('Drawer Button', () =>
<DrawerButton
text='Example left drawer button'
onPress={() => window.alert('Your drawers are showing')}
/>
)

class DrawerButton extends Component {
static propTypes = {
text: PropTypes.string,
onPress: PropTypes.func
}

render () {
return (
<TouchableOpacity onPress={this.props.onPress}>
<Text style={styles.text}>{this.props.text}</Text>
</TouchableOpacity>
)
}
}

export default DrawerButton
15 changes: 15 additions & 0 deletions App/Components/DrawerButton.story.js
@@ -0,0 +1,15 @@
import React from 'react'
import { View } from 'react-native'
import { storiesOf } from '@storybook/react-native'

import DrawerButton from './DrawerButton'

storiesOf('DrawerButton')
.add('Default', () => (
<View style={{ backgroundColor: 'black' }}>
<DrawerButton
text='Drawer Button'
onPress={() => { }}
/>
</View>
))
34 changes: 34 additions & 0 deletions App/Components/FullButton.js
@@ -0,0 +1,34 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { TouchableOpacity, Text } from 'react-native'
import styles from './Styles/FullButtonStyles'
import ExamplesRegistry from '../Services/ExamplesRegistry'

// Note that this file (App/Components/FullButton) needs to be
// imported in your app somewhere, otherwise your component won't be
// compiled and added to the examples dev screen.

// Ignore in coverage report
/* istanbul ignore next */
ExamplesRegistry.addComponentExample('Full Button', () =>
<FullButton
text='Hey there'
onPress={() => window.alert('Full Button Pressed!')}
/>
)

export default class FullButton extends Component {
static propTypes = {
text: PropTypes.string,
onPress: PropTypes.func,
styles: PropTypes.object
}

render () {
return (
<TouchableOpacity style={[styles.button, this.props.styles]} onPress={this.props.onPress}>
<Text style={styles.buttonText}>{this.props.text && this.props.text.toUpperCase()}</Text>
</TouchableOpacity>
)
}
}
17 changes: 17 additions & 0 deletions App/Components/FullButton.story.js
@@ -0,0 +1,17 @@
import React from 'react'
import { storiesOf } from '@storybook/react-native'

import FullButton from './FullButton'

storiesOf('FullButton')
.add('Default', () => (
<FullButton
text='A simple button'
/>
))
.add('Custom Style', () => (
<FullButton
text='Style Me Up!'
styles={{ backgroundColor: 'blue' }}
/>
))
2 changes: 2 additions & 0 deletions App/Components/README.md
@@ -0,0 +1,2 @@
### Components Folder
All components are stored and organized here
40 changes: 40 additions & 0 deletions App/Components/RoundedButton.js
@@ -0,0 +1,40 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { TouchableOpacity, Text } from 'react-native'
import styles from './Styles/RoundedButtonStyles'
import ExamplesRegistry from '../Services/ExamplesRegistry'

// Note that this file (App/Components/RoundedButton) needs to be
// imported in your app somewhere, otherwise your component won't be
// compiled and added to the examples dev screen.

// Ignore in coverage report
/* istanbul ignore next */
ExamplesRegistry.addComponentExample('Rounded Button', () =>
<RoundedButton
text='real buttons have curves'
onPress={() => window.alert('Rounded Button Pressed!')}
/>
)

export default class RoundedButton extends Component {
static propTypes = {
onPress: PropTypes.func,
text: PropTypes.string,
children: PropTypes.string,
navigator: PropTypes.object
}

getText () {
const buttonText = this.props.text || this.props.children || ''
return buttonText.toUpperCase()
}

render () {
return (
<TouchableOpacity style={styles.button} onPress={this.props.onPress}>
<Text style={styles.buttonText}>{this.getText()}</Text>
</TouchableOpacity>
)
}
}
16 changes: 16 additions & 0 deletions App/Components/RoundedButton.story.js
@@ -0,0 +1,16 @@
import React from 'react'
import { storiesOf } from '@storybook/react-native'

import RoundedButton from './RoundedButton'

storiesOf('RoundedButton')
.add('Default', () => (
<RoundedButton
text='A simple rounded button'
/>
))
.add('Text as children', () => (
<RoundedButton>
Hello from the children!
</RoundedButton>
))
4 changes: 4 additions & 0 deletions App/Components/Stories.js
@@ -0,0 +1,4 @@
import './AlertMessage.story'
import './DrawerButton.story'
import './FullButton.story'
import './RoundedButton.story'

0 comments on commit c713bc3

Please sign in to comment.