Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
izzulhaziq committed Aug 20, 2017
0 parents commit 9920144
Show file tree
Hide file tree
Showing 258 changed files with 12,422 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"presets": ["react-native"],
"env": {
"production": {
"plugins": ["ignite-ignore-reactotron"]
}
}
}
6 changes: 6 additions & 0 deletions .buckconfig
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
47 changes: 47 additions & 0 deletions .flowconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[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
.*/Libraries/react-native/ReactNative.js

[include]

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

[options]
emoji=true

module.system=haste

experimental.strict_type_args=true

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=$FixMe

suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(4[0-5]\\|[1-3][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(4[0-5]\\|[1-3][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.45.0
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pbxproj -text
*.bat text eol=crlf
53 changes: 53 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 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://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
1 change: 1 addition & 0 deletions .watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
33 changes: 33 additions & 0 deletions App/Components/AlertMessage.js
Original file line number Diff line number Diff line change
@@ -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
}
}
35 changes: 35 additions & 0 deletions App/Components/DrawerButton.js
Original file line number Diff line number Diff line change
@@ -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
34 changes: 34 additions & 0 deletions App/Components/FullButton.js
Original file line number Diff line number Diff line change
@@ -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>
)
}
}
2 changes: 2 additions & 0 deletions App/Components/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### Components Folder
All components are stored and organized here
40 changes: 40 additions & 0 deletions App/Components/RoundedButton.js
Original file line number Diff line number Diff line change
@@ -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>
)
}
}
42 changes: 42 additions & 0 deletions App/Components/SearchBar.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { View, Text, TextInput, TouchableOpacity } from 'react-native'
import styles from './Styles/SearchBarStyles'
import { Colors, Metrics } from '../Themes/'
import Icon from 'react-native-vector-icons/FontAwesome'

export default class SearchBar extends Component {
static propTypes = {
onSearch: PropTypes.func.isRequired,
onCancel: PropTypes.func.isRequired,
searchTerm: PropTypes.string
}

render () {
const { onSearch, onCancel, searchTerm } = this.props
const onSubmitEditing = () => onSearch(searchTerm)
return (
<View style={styles.container}>
<Icon name='search' size={Metrics.icons.tiny} style={styles.searchIcon} />
<TextInput
ref='searchText'
autoFocus
placeholder='Search'
placeholderTextColor={Colors.snow}
underlineColorAndroid='transparent'
style={styles.searchInput}
value={this.props.searchTerm}
onChangeText={onSearch}
autoCapitalize='none'
onSubmitEditing={onSubmitEditing}
returnKeyType={'search'}
autoCorrect={false}
selectionColor={Colors.snow}
/>
<TouchableOpacity onPress={onCancel} style={styles.cancelButton}>
<Text style={styles.buttonLabel}>Cancel</Text>
</TouchableOpacity>
</View>
)
}
}
25 changes: 25 additions & 0 deletions App/Components/Styles/AlertMessageStyles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { StyleSheet } from 'react-native'
import { Colors, Metrics, Fonts } from '../../Themes/'

export default StyleSheet.create({
container: {
justifyContent: 'center',
marginVertical: Metrics.section
},
contentContainer: {
alignSelf: 'center',
alignItems: 'center'
},
message: {
marginTop: Metrics.baseMargin,
marginHorizontal: Metrics.baseMargin,
textAlign: 'center',
fontFamily: Fonts.type.base,
fontSize: Fonts.size.regular,
fontWeight: 'bold',
color: Colors.steel
},
icon: {
color: Colors.steel
}
})
9 changes: 9 additions & 0 deletions App/Components/Styles/DrawerButtonStyles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Metrics, Colors, Fonts } from '../../Themes'

export default {
text: {
...Fonts.style.h5,
color: Colors.snow,
marginVertical: Metrics.baseMargin
}
}
20 changes: 20 additions & 0 deletions App/Components/Styles/FullButtonStyles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { StyleSheet } from 'react-native'
import { Fonts, Colors } from '../../Themes/'

export default StyleSheet.create({
button: {
marginVertical: 5,
borderTopColor: Colors.fire,
borderBottomColor: Colors.bloodOrange,
borderTopWidth: 1,
borderBottomWidth: 1,
backgroundColor: Colors.ember
},
buttonText: {
margin: 18,
textAlign: 'center',
color: Colors.snow,
fontSize: Fonts.size.medium,
fontFamily: Fonts.type.bold
}
})
2 changes: 2 additions & 0 deletions App/Components/Styles/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### Styles Folder
Component styles are separated from functionality.
Loading

0 comments on commit 9920144

Please sign in to comment.