@plusscommunities/pluss-core-app 6.0.6-beta.1 → 6.0.6-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -78,10 +78,18 @@ class GenericInputSection extends PureComponent {
78
78
  containerStyle: [styles.input, this.props.containerStyle]
79
79
  }));
80
80
  }
81
+ renderError() {
82
+ if (this.props.showError === true && !this.props.isValid()) {
83
+ return /*#__PURE__*/React.createElement(Text, {
84
+ style: styles.errorText
85
+ }, this.props.errorText || 'Required');
86
+ }
87
+ return null;
88
+ }
81
89
  render() {
82
90
  return /*#__PURE__*/React.createElement(View, {
83
91
  style: [styles.container, this.props.sectionStyle]
84
- }, this.renderLabel(), this.renderInput());
92
+ }, this.renderLabel(), this.renderInput(), this.renderError());
85
93
  }
86
94
  }
87
95
  const styles = {
@@ -146,6 +154,12 @@ const styles = {
146
154
  color: TEXT_DARKEST,
147
155
  fontFamily: 'sf-regular',
148
156
  fontSize: 16
157
+ },
158
+ errorText: {
159
+ paddingTop: 4,
160
+ fontSize: 13,
161
+ fontFamily: 'sf-regular',
162
+ color: COLOUR_GRAPEFRUIT
149
163
  }
150
164
  };
151
165
  const mapStateToProps = state => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","PureComponent","View","Text","TouchableOpacity","Icon","connect","GenericInput","TEXT_DARKEST","COLOUR_GREEN","COLOUR_GRAPEFRUIT","getMainBrandingColourFromState","RadioButton","GenericInputSection","renderValidationDot","props","required","createElement","style","styles","validatorDot","isValid","validatorTrue","validatorFalse","renderLabel","label","labelContainer","labelText","labelStyle","renderRadioOption","value","isActive","onChange","onPress","key","radioOption","hitSlop","top","left","bottom","right","iconSize","radioOptionButton","radioOptionText","renderInput","children","inputType","radioOptionsContainer","options","map","o","Label","Value","radioOptionVertical","optionSelector","optionSelectorText","name","type","iconStyle","optionSelectorIcon","color","colourBrandingMain","_extends","containerStyle","input","render","container","sectionStyle","flexDirection","alignItems","fontFamily","fontSize","marginTop","height","width","borderRadius","marginLeft","backgroundColor","marginRight","flex","justifyContent","paddingHorizontal","mapStateToProps","state","genericInputSection"],"sources":["GenericInputSection.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport { GenericInput } from './GenericInput';\nimport { TEXT_DARKEST, COLOUR_GREEN, COLOUR_GRAPEFRUIT, getMainBrandingColourFromState } from '../colours';\nimport { RadioButton } from './RadioButton';\n\nclass GenericInputSection extends PureComponent {\n renderValidationDot() {\n if (!this.props.required) {\n return null;\n }\n return <View style={[styles.validatorDot, this.props.isValid() ? styles.validatorTrue : styles.validatorFalse]} />;\n }\n\n renderLabel() {\n if (!this.props.label) {\n return null;\n }\n return (\n <View style={styles.labelContainer}>\n <Text style={[styles.labelText, this.props.labelStyle]}>{this.props.label}</Text>\n {this.renderValidationDot()}\n </View>\n );\n }\n\n renderRadioOption(label, value, isActive, onChange, style) {\n return (\n <TouchableOpacity\n onPress={() => onChange(value)}\n key={label}\n style={[styles.radioOption, style]}\n hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n >\n <RadioButton onPress={() => onChange(value)} isActive={isActive} iconSize={22} style={styles.radioOptionButton} />\n <Text style={styles.radioOptionText}>{label}</Text>\n </TouchableOpacity>\n );\n }\n\n renderInput() {\n if (this.props.children) {\n return this.props.children;\n }\n if (this.props.inputType === 'toggle') {\n return (\n <View style={styles.radioOptionsContainer}>\n {this.renderRadioOption('Yes', true, this.props.value === true, this.props.onChange)}\n {this.renderRadioOption('No', false, this.props.value === false, this.props.onChange)}\n </View>\n );\n }\n if (this.props.inputType === 'radio') {\n return (\n <View>\n {this.props.options.map(o => {\n return this.renderRadioOption(o.Label, o.Value, this.props.value === o.Value, this.props.onChange, styles.radioOptionVertical);\n })}\n </View>\n );\n }\n if (this.props.inputType === 'optionSelector') {\n return (\n <TouchableOpacity onPress={this.props.onPress}>\n <View style={styles.optionSelector}>\n <Text style={styles.optionSelectorText}>{this.props.value}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.optionSelectorIcon, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n );\n }\n return <GenericInput {...this.props} containerStyle={[styles.input, this.props.containerStyle]} />;\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.sectionStyle]}>\n {this.renderLabel()}\n {this.renderInput()}\n </View>\n );\n }\n}\n\nconst styles = {\n container: {},\n labelContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n labelText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: TEXT_DARKEST,\n },\n input: {\n marginTop: 8,\n },\n validatorDot: {\n height: 6,\n width: 6,\n borderRadius: 3,\n marginLeft: 8,\n },\n validatorTrue: {\n backgroundColor: COLOUR_GREEN,\n },\n validatorFalse: {\n backgroundColor: COLOUR_GRAPEFRUIT,\n },\n radioOptionsContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: 8,\n },\n radioOptionVertical: {\n marginTop: 16,\n },\n radioOption: {\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 24,\n },\n radioOptionButton: {\n marginRight: 8,\n },\n radioOptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: TEXT_DARKEST,\n },\n optionSelector: {\n marginTop: 8,\n flex: 1,\n height: 36,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n optionSelectorText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst genericInputSection = connect(mapStateToProps, {})(GenericInputSection);\nexport { genericInputSection as GenericInputSection };\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","PureComponent","View","Text","TouchableOpacity","Icon","connect","GenericInput","TEXT_DARKEST","COLOUR_GREEN","COLOUR_GRAPEFRUIT","getMainBrandingColourFromState","RadioButton","GenericInputSection","renderValidationDot","props","required","createElement","style","styles","validatorDot","isValid","validatorTrue","validatorFalse","renderLabel","label","labelContainer","labelText","labelStyle","renderRadioOption","value","isActive","onChange","onPress","key","radioOption","hitSlop","top","left","bottom","right","iconSize","radioOptionButton","radioOptionText","renderInput","children","inputType","radioOptionsContainer","options","map","o","Label","Value","radioOptionVertical","optionSelector","optionSelectorText","name","type","iconStyle","optionSelectorIcon","color","colourBrandingMain","_extends","containerStyle","input","renderError","showError","errorText","render","container","sectionStyle","flexDirection","alignItems","fontFamily","fontSize","marginTop","height","width","borderRadius","marginLeft","backgroundColor","marginRight","flex","justifyContent","paddingHorizontal","paddingTop","mapStateToProps","state","genericInputSection"],"sources":["GenericInputSection.js"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { View, Text, TouchableOpacity } from 'react-native';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport { GenericInput } from './GenericInput';\nimport { TEXT_DARKEST, COLOUR_GREEN, COLOUR_GRAPEFRUIT, getMainBrandingColourFromState } from '../colours';\nimport { RadioButton } from './RadioButton';\n\nclass GenericInputSection extends PureComponent {\n renderValidationDot() {\n if (!this.props.required) {\n return null;\n }\n return <View style={[styles.validatorDot, this.props.isValid() ? styles.validatorTrue : styles.validatorFalse]} />;\n }\n\n renderLabel() {\n if (!this.props.label) {\n return null;\n }\n return (\n <View style={styles.labelContainer}>\n <Text style={[styles.labelText, this.props.labelStyle]}>{this.props.label}</Text>\n {this.renderValidationDot()}\n </View>\n );\n }\n\n renderRadioOption(label, value, isActive, onChange, style) {\n return (\n <TouchableOpacity\n onPress={() => onChange(value)}\n key={label}\n style={[styles.radioOption, style]}\n hitSlop={{ top: 8, left: 8, bottom: 8, right: 8 }}\n >\n <RadioButton onPress={() => onChange(value)} isActive={isActive} iconSize={22} style={styles.radioOptionButton} />\n <Text style={styles.radioOptionText}>{label}</Text>\n </TouchableOpacity>\n );\n }\n\n renderInput() {\n if (this.props.children) {\n return this.props.children;\n }\n if (this.props.inputType === 'toggle') {\n return (\n <View style={styles.radioOptionsContainer}>\n {this.renderRadioOption('Yes', true, this.props.value === true, this.props.onChange)}\n {this.renderRadioOption('No', false, this.props.value === false, this.props.onChange)}\n </View>\n );\n }\n if (this.props.inputType === 'radio') {\n return (\n <View>\n {this.props.options.map(o => {\n return this.renderRadioOption(o.Label, o.Value, this.props.value === o.Value, this.props.onChange, styles.radioOptionVertical);\n })}\n </View>\n );\n }\n if (this.props.inputType === 'optionSelector') {\n return (\n <TouchableOpacity onPress={this.props.onPress}>\n <View style={styles.optionSelector}>\n <Text style={styles.optionSelectorText}>{this.props.value}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.optionSelectorIcon, { color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n );\n }\n return <GenericInput {...this.props} containerStyle={[styles.input, this.props.containerStyle]} />;\n }\n\n renderError() {\n if (this.props.showError === true && !this.props.isValid()) {\n return <Text style={styles.errorText}>{this.props.errorText || 'Required'}</Text>;\n }\n return null;\n }\n\n render() {\n return (\n <View style={[styles.container, this.props.sectionStyle]}>\n {this.renderLabel()}\n {this.renderInput()}\n {this.renderError()}\n </View>\n );\n }\n}\n\nconst styles = {\n container: {},\n labelContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n labelText: {\n fontFamily: 'sf-semibold',\n fontSize: 16,\n color: TEXT_DARKEST,\n },\n input: {\n marginTop: 8,\n },\n validatorDot: {\n height: 6,\n width: 6,\n borderRadius: 3,\n marginLeft: 8,\n },\n validatorTrue: {\n backgroundColor: COLOUR_GREEN,\n },\n validatorFalse: {\n backgroundColor: COLOUR_GRAPEFRUIT,\n },\n radioOptionsContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n marginTop: 8,\n },\n radioOptionVertical: {\n marginTop: 16,\n },\n radioOption: {\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 24,\n },\n radioOptionButton: {\n marginRight: 8,\n },\n radioOptionText: {\n fontFamily: 'sf-medium',\n fontSize: 14,\n color: TEXT_DARKEST,\n },\n optionSelector: {\n marginTop: 8,\n flex: 1,\n height: 36,\n backgroundColor: '#ebeff2',\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'space-between',\n borderRadius: 5,\n paddingHorizontal: 8,\n },\n optionSelectorText: {\n color: TEXT_DARKEST,\n fontFamily: 'sf-regular',\n fontSize: 16,\n },\n errorText: {\n paddingTop: 4,\n fontSize: 13,\n fontFamily: 'sf-regular',\n color: COLOUR_GRAPEFRUIT,\n },\n};\n\nconst mapStateToProps = state => {\n return {\n colourBrandingMain: getMainBrandingColourFromState(state),\n };\n};\n\nconst genericInputSection = connect(mapStateToProps, {})(GenericInputSection);\nexport { genericInputSection as GenericInputSection };\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
13
13
  import { ViewPropTypes } from 'deprecated-react-native-prop-types';
14
14
  import _ from 'lodash';
15
15
  import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
16
- import { TEXT_MID, TEXT_LIGHT } from '../colours';
16
+ import { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';
17
17
  import { getFirstName } from '../helper';
18
18
  import { TextStyle } from './TextStyle';
19
19
  const isSameUser = utils.isSameUser;
@@ -117,9 +117,7 @@ export default class PlussChatMessage extends React.Component {
117
117
  return /*#__PURE__*/React.createElement(View, {
118
118
  style: styles[this.props.position].replyBubble
119
119
  }, /*#__PURE__*/React.createElement(View, {
120
- style: [styles[this.props.position].replyBubbleInner, {
121
- backgroundColor: this.props.colourBrandingMain
122
- }]
120
+ style: styles[this.props.position].replyBubbleInner
123
121
  }, /*#__PURE__*/React.createElement(Text, {
124
122
  style: styles[this.props.position].replyBubbleText
125
123
  }, (this.props.currentMessage.replyingTo.text || '').substr(0, 100))));
@@ -175,11 +173,12 @@ const styles = {
175
173
  paddingBottom: 16,
176
174
  marginBottom: -12,
177
175
  borderRadius: 4,
178
- opacity: 0.5
176
+ opacity: 0.7,
177
+ backgroundColor: TEXT_SUPER_LIGHT
179
178
  },
180
179
  replyBubbleText: {
181
180
  fontFamily: 'sf-regular',
182
- color: TEXT_MID,
181
+ color: TEXT_DARK,
183
182
  fontSize: 13,
184
183
  textAlign: 'left'
185
184
  },
@@ -214,11 +213,12 @@ const styles = {
214
213
  paddingBottom: 16,
215
214
  marginBottom: -12,
216
215
  borderRadius: 4,
217
- opacity: 0.5
216
+ opacity: 0.7,
217
+ backgroundColor: TEXT_SUPER_LIGHT
218
218
  },
219
219
  replyBubbleText: {
220
220
  fontFamily: 'sf-regular',
221
- color: TEXT_MID,
221
+ color: TEXT_DARK,
222
222
  fontSize: 13,
223
223
  textAlign: 'right'
224
224
  },
@@ -1 +1 @@
1
- {"version":3,"names":["PropTypes","React","View","StyleSheet","Text","TouchableOpacity","ViewPropTypes","_","Avatar","Bubble","SystemMessage","Day","utils","TEXT_MID","TEXT_LIGHT","getFirstName","TextStyle","isSameUser","isSameDay","PlussChatMessage","Component","getInnerComponentProps","containerStyle","props","isCurrentUser","user","_id","currentMessage","renderDay","createdAt","dayProps","createElement","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","_extends","imageStyle","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","style","styles","position","renderReply","replyBubble","replyBubbleInner","backgroundColor","colourBrandingMain","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPress","onPressReply","type","color","render","sameUserAsLast","previousMessage","sameUser","nextMessage","system","container","marginBottom","inverted","create","flexDirection","alignItems","justifyContent","fontFamily","fontSize","textAlign","paddingLeft","padding","paddingBottom","opacity","paddingRight","alignSelf","defaultProps","undefined","propTypes","func","bool","oneOf","object","shape"],"sources":["PlussChatMessage.js"],"sourcesContent":["/* eslint no-use-before-define: [\"error\", { \"variables\": false }], react-native/no-inline-styles: 0 */\n\n// NOTE:\n// This is a modified version of react-native-gifted-chat Message component\n\n// Original source:\n// https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/Message.js\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet, Text, TouchableOpacity } from 'react-native';\nimport { ViewPropTypes } from 'deprecated-react-native-prop-types';\nimport _ from 'lodash';\n\nimport { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';\nimport { TEXT_MID, TEXT_LIGHT } from '../colours';\nimport { getFirstName } from '../helper';\nimport { TextStyle } from './TextStyle';\n\nconst isSameUser = utils.isSameUser;\nconst isSameDay = utils.isSameDay;\n\nexport default class PlussChatMessage extends React.Component {\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n isSameUser,\n isSameDay,\n };\n }\n\n isCurrentUser() {\n if (this.props.user._id === this.props.currentMessage.user._id) {\n return true;\n }\n return false;\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return <Bubble {...bubbleProps} />;\n }\n\n renderSystemMessage() {\n const systemMessageProps = this.getInnerComponentProps();\n if (this.props.renderSystemMessage) {\n return this.props.renderSystemMessage(systemMessageProps);\n }\n return <SystemMessage {...systemMessageProps} />;\n }\n\n renderAvatar() {\n if (this.isCurrentUser() && !this.props.showUserAvatar) {\n return null;\n }\n const avatarProps = this.getInnerComponentProps();\n const { currentMessage } = avatarProps;\n if (currentMessage.user.avatar === null || _.isEmpty(currentMessage.user.avatar)) {\n return null;\n }\n return (\n <Avatar\n {...avatarProps}\n imageStyle={{\n left: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n right: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n }}\n containerStyle={{\n left: {\n marginRight: 10,\n },\n right: {\n marginLeft: 10,\n },\n }}\n />\n );\n }\n\n renderName() {\n const nameProps = this.getInnerComponentProps();\n const { currentMessage } = nameProps;\n if (currentMessage.user.name === null) {\n return null;\n }\n let nameText = this.isCurrentUser() ? 'Me' : getFirstName(currentMessage.user.name);\n if (\n this.props.currentMessage &&\n this.props.currentMessage.replyingTo &&\n this.props.currentMessage.replyingTo.user &&\n !_.isEmpty(this.props.currentMessage.replyingTo.user.name)\n ) {\n nameText = `${nameText} replying to ${this.props.currentMessage.replyingTo.user.name}`;\n }\n return <Text style={[styles[this.props.position].name]}>{nameText}</Text>;\n }\n\n renderReply() {\n if (!this.props.currentMessage || !this.props.currentMessage.replyingTo) {\n return null;\n }\n return (\n <View style={styles[this.props.position].replyBubble}>\n <View style={[styles[this.props.position].replyBubbleInner, { backgroundColor: this.props.colourBrandingMain }]}>\n <Text style={styles[this.props.position].replyBubbleText}>\n {(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}\n </Text>\n </View>\n </View>\n );\n }\n\n renderReplyButton() {\n return (\n <TouchableOpacity style={styles[this.props.position].replyContainer} onPress={this.props.onPressReply}>\n <TextStyle type=\"button\" style={{ color: this.props.colourBrandingMain }}>\n Reply\n </TextStyle>\n </TouchableOpacity>\n );\n }\n\n render() {\n const sameUserAsLast = isSameUser(this.props.currentMessage, this.props.previousMessage);\n const sameUser = isSameUser(this.props.currentMessage, this.props.nextMessage);\n return (\n <View>\n {this.renderDay()}\n {this.props.currentMessage.system ? (\n this.renderSystemMessage()\n ) : (\n <View>\n {sameUserAsLast ? null : this.renderName()}\n <View\n style={[\n styles[this.props.position].container,\n { marginBottom: sameUser ? 2 : 10 },\n !this.props.inverted && { marginBottom: 2 },\n this.props.containerStyle[this.props.position],\n ]}\n >\n {this.props.position === 'left' ? this.renderAvatar() : null}\n <View>\n {this.renderReply()}\n {this.renderBubble()}\n {this.renderReplyButton()}\n </View>\n {this.props.position === 'right' ? this.renderAvatar() : null}\n </View>\n </View>\n )}\n </View>\n );\n }\n}\n\nconst styles = {\n left: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n marginLeft: 10,\n marginRight: 0,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'left',\n marginLeft: 50,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n paddingLeft: 20,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.5,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_MID,\n fontSize: 13,\n textAlign: 'left',\n },\n replyContainer: {\n paddingLeft: 20,\n },\n }),\n right: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n marginLeft: 0,\n marginRight: 10,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'right',\n marginRight: 10,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n paddingRight: 10,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.5,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_MID,\n fontSize: 13,\n textAlign: 'right',\n },\n replyContainer: {\n alignSelf: 'flex-end',\n paddingRight: 10,\n },\n }),\n};\n\nPlussChatMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n renderSystemMessage: null,\n position: 'left',\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n showUserAvatar: true,\n inverted: true,\n};\n\nPlussChatMessage.propTypes = {\n renderAvatar: PropTypes.func,\n showUserAvatar: PropTypes.bool,\n renderBubble: PropTypes.func,\n renderDay: PropTypes.func,\n renderSystemMessage: PropTypes.func,\n position: PropTypes.oneOf(['left', 'right']),\n currentMessage: PropTypes.object,\n nextMessage: PropTypes.object,\n previousMessage: PropTypes.object,\n user: PropTypes.object,\n inverted: PropTypes.bool,\n containerStyle: PropTypes.shape({\n left: ViewPropTypes.style,\n right: ViewPropTypes.style,\n }),\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["PropTypes","React","View","StyleSheet","Text","TouchableOpacity","ViewPropTypes","_","Avatar","Bubble","SystemMessage","Day","utils","TEXT_MID","TEXT_LIGHT","TEXT_DARK","TEXT_SUPER_LIGHT","getFirstName","TextStyle","isSameUser","isSameDay","PlussChatMessage","Component","getInnerComponentProps","containerStyle","props","isCurrentUser","user","_id","currentMessage","renderDay","createdAt","dayProps","createElement","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","_extends","imageStyle","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","style","styles","position","renderReply","replyBubble","replyBubbleInner","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPress","onPressReply","type","color","colourBrandingMain","render","sameUserAsLast","previousMessage","sameUser","nextMessage","system","container","marginBottom","inverted","create","flexDirection","alignItems","justifyContent","fontFamily","fontSize","textAlign","paddingLeft","padding","paddingBottom","opacity","backgroundColor","paddingRight","alignSelf","defaultProps","undefined","propTypes","func","bool","oneOf","object","shape"],"sources":["PlussChatMessage.js"],"sourcesContent":["/* eslint no-use-before-define: [\"error\", { \"variables\": false }], react-native/no-inline-styles: 0 */\n\n// NOTE:\n// This is a modified version of react-native-gifted-chat Message component\n\n// Original source:\n// https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/Message.js\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { View, StyleSheet, Text, TouchableOpacity } from 'react-native';\nimport { ViewPropTypes } from 'deprecated-react-native-prop-types';\nimport _ from 'lodash';\n\nimport { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';\nimport { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';\nimport { getFirstName } from '../helper';\nimport { TextStyle } from './TextStyle';\n\nconst isSameUser = utils.isSameUser;\nconst isSameDay = utils.isSameDay;\n\nexport default class PlussChatMessage extends React.Component {\n getInnerComponentProps() {\n const { containerStyle, ...props } = this.props;\n return {\n ...props,\n isSameUser,\n isSameDay,\n };\n }\n\n isCurrentUser() {\n if (this.props.user._id === this.props.currentMessage.user._id) {\n return true;\n }\n return false;\n }\n\n renderDay() {\n if (this.props.currentMessage.createdAt) {\n const dayProps = this.getInnerComponentProps();\n if (this.props.renderDay) {\n return this.props.renderDay(dayProps);\n }\n return <Day {...dayProps} />;\n }\n return null;\n }\n\n renderBubble() {\n const bubbleProps = this.getInnerComponentProps();\n if (this.props.renderBubble) {\n return this.props.renderBubble(bubbleProps);\n }\n return <Bubble {...bubbleProps} />;\n }\n\n renderSystemMessage() {\n const systemMessageProps = this.getInnerComponentProps();\n if (this.props.renderSystemMessage) {\n return this.props.renderSystemMessage(systemMessageProps);\n }\n return <SystemMessage {...systemMessageProps} />;\n }\n\n renderAvatar() {\n if (this.isCurrentUser() && !this.props.showUserAvatar) {\n return null;\n }\n const avatarProps = this.getInnerComponentProps();\n const { currentMessage } = avatarProps;\n if (currentMessage.user.avatar === null || _.isEmpty(currentMessage.user.avatar)) {\n return null;\n }\n return (\n <Avatar\n {...avatarProps}\n imageStyle={{\n left: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n right: {\n width: 30,\n height: 30,\n borderRadius: 15,\n },\n }}\n containerStyle={{\n left: {\n marginRight: 10,\n },\n right: {\n marginLeft: 10,\n },\n }}\n />\n );\n }\n\n renderName() {\n const nameProps = this.getInnerComponentProps();\n const { currentMessage } = nameProps;\n if (currentMessage.user.name === null) {\n return null;\n }\n let nameText = this.isCurrentUser() ? 'Me' : getFirstName(currentMessage.user.name);\n if (\n this.props.currentMessage &&\n this.props.currentMessage.replyingTo &&\n this.props.currentMessage.replyingTo.user &&\n !_.isEmpty(this.props.currentMessage.replyingTo.user.name)\n ) {\n nameText = `${nameText} replying to ${this.props.currentMessage.replyingTo.user.name}`;\n }\n return <Text style={[styles[this.props.position].name]}>{nameText}</Text>;\n }\n\n renderReply() {\n if (!this.props.currentMessage || !this.props.currentMessage.replyingTo) {\n return null;\n }\n return (\n <View style={styles[this.props.position].replyBubble}>\n <View style={styles[this.props.position].replyBubbleInner}>\n <Text style={styles[this.props.position].replyBubbleText}>\n {(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}\n </Text>\n </View>\n </View>\n );\n }\n\n renderReplyButton() {\n return (\n <TouchableOpacity style={styles[this.props.position].replyContainer} onPress={this.props.onPressReply}>\n <TextStyle type=\"button\" style={{ color: this.props.colourBrandingMain }}>\n Reply\n </TextStyle>\n </TouchableOpacity>\n );\n }\n\n render() {\n const sameUserAsLast = isSameUser(this.props.currentMessage, this.props.previousMessage);\n const sameUser = isSameUser(this.props.currentMessage, this.props.nextMessage);\n return (\n <View>\n {this.renderDay()}\n {this.props.currentMessage.system ? (\n this.renderSystemMessage()\n ) : (\n <View>\n {sameUserAsLast ? null : this.renderName()}\n <View\n style={[\n styles[this.props.position].container,\n { marginBottom: sameUser ? 2 : 10 },\n !this.props.inverted && { marginBottom: 2 },\n this.props.containerStyle[this.props.position],\n ]}\n >\n {this.props.position === 'left' ? this.renderAvatar() : null}\n <View>\n {this.renderReply()}\n {this.renderBubble()}\n {this.renderReplyButton()}\n </View>\n {this.props.position === 'right' ? this.renderAvatar() : null}\n </View>\n </View>\n )}\n </View>\n );\n }\n}\n\nconst styles = {\n left: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n marginLeft: 10,\n marginRight: 0,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'left',\n marginLeft: 50,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-start',\n paddingLeft: 20,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.7,\n backgroundColor: TEXT_SUPER_LIGHT,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n fontSize: 13,\n textAlign: 'left',\n },\n replyContainer: {\n paddingLeft: 20,\n },\n }),\n right: StyleSheet.create({\n container: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n marginLeft: 0,\n marginRight: 10,\n },\n name: {\n fontFamily: 'sf-regular',\n color: TEXT_LIGHT,\n fontSize: 14,\n textAlign: 'right',\n marginRight: 10,\n marginBottom: 5,\n },\n replyBubble: {\n flexDirection: 'row',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n paddingRight: 10,\n },\n replyBubbleInner: {\n padding: 4,\n paddingBottom: 16,\n marginBottom: -12,\n borderRadius: 4,\n opacity: 0.7,\n backgroundColor: TEXT_SUPER_LIGHT,\n },\n replyBubbleText: {\n fontFamily: 'sf-regular',\n color: TEXT_DARK,\n fontSize: 13,\n textAlign: 'right',\n },\n replyContainer: {\n alignSelf: 'flex-end',\n paddingRight: 10,\n },\n }),\n};\n\nPlussChatMessage.defaultProps = {\n renderAvatar: undefined,\n renderBubble: null,\n renderDay: null,\n renderSystemMessage: null,\n position: 'left',\n currentMessage: {},\n nextMessage: {},\n previousMessage: {},\n user: {},\n containerStyle: {},\n showUserAvatar: true,\n inverted: true,\n};\n\nPlussChatMessage.propTypes = {\n renderAvatar: PropTypes.func,\n showUserAvatar: PropTypes.bool,\n renderBubble: PropTypes.func,\n renderDay: PropTypes.func,\n renderSystemMessage: PropTypes.func,\n position: PropTypes.oneOf(['left', 'right']),\n currentMessage: PropTypes.object,\n nextMessage: PropTypes.object,\n previousMessage: PropTypes.object,\n user: PropTypes.object,\n inverted: PropTypes.bool,\n containerStyle: PropTypes.shape({\n left: ViewPropTypes.style,\n right: ViewPropTypes.style,\n }),\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-core-app",
3
- "version": "6.0.6-beta.1",
3
+ "version": "6.0.6-beta.2",
4
4
  "description": "Core extension package for Pluss Communities platform",
5
5
  "main": "dist/module/index.js",
6
6
  "module": "dist/module/index.js",
@@ -78,11 +78,19 @@ class GenericInputSection extends PureComponent {
78
78
  return <GenericInput {...this.props} containerStyle={[styles.input, this.props.containerStyle]} />;
79
79
  }
80
80
 
81
+ renderError() {
82
+ if (this.props.showError === true && !this.props.isValid()) {
83
+ return <Text style={styles.errorText}>{this.props.errorText || 'Required'}</Text>;
84
+ }
85
+ return null;
86
+ }
87
+
81
88
  render() {
82
89
  return (
83
90
  <View style={[styles.container, this.props.sectionStyle]}>
84
91
  {this.renderLabel()}
85
92
  {this.renderInput()}
93
+ {this.renderError()}
86
94
  </View>
87
95
  );
88
96
  }
@@ -151,6 +159,12 @@ const styles = {
151
159
  fontFamily: 'sf-regular',
152
160
  fontSize: 16,
153
161
  },
162
+ errorText: {
163
+ paddingTop: 4,
164
+ fontSize: 13,
165
+ fontFamily: 'sf-regular',
166
+ color: COLOUR_GRAPEFRUIT,
167
+ },
154
168
  };
155
169
 
156
170
  const mapStateToProps = state => {
@@ -13,7 +13,7 @@ import { ViewPropTypes } from 'deprecated-react-native-prop-types';
13
13
  import _ from 'lodash';
14
14
 
15
15
  import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
16
- import { TEXT_MID, TEXT_LIGHT } from '../colours';
16
+ import { TEXT_MID, TEXT_LIGHT, TEXT_DARK, TEXT_SUPER_LIGHT } from '../colours';
17
17
  import { getFirstName } from '../helper';
18
18
  import { TextStyle } from './TextStyle';
19
19
 
@@ -124,7 +124,7 @@ export default class PlussChatMessage extends React.Component {
124
124
  }
125
125
  return (
126
126
  <View style={styles[this.props.position].replyBubble}>
127
- <View style={[styles[this.props.position].replyBubbleInner, { backgroundColor: this.props.colourBrandingMain }]}>
127
+ <View style={styles[this.props.position].replyBubbleInner}>
128
128
  <Text style={styles[this.props.position].replyBubbleText}>
129
129
  {(this.props.currentMessage.replyingTo.text || '').substr(0, 100)}
130
130
  </Text>
@@ -205,11 +205,12 @@ const styles = {
205
205
  paddingBottom: 16,
206
206
  marginBottom: -12,
207
207
  borderRadius: 4,
208
- opacity: 0.5,
208
+ opacity: 0.7,
209
+ backgroundColor: TEXT_SUPER_LIGHT,
209
210
  },
210
211
  replyBubbleText: {
211
212
  fontFamily: 'sf-regular',
212
- color: TEXT_MID,
213
+ color: TEXT_DARK,
213
214
  fontSize: 13,
214
215
  textAlign: 'left',
215
216
  },
@@ -244,11 +245,12 @@ const styles = {
244
245
  paddingBottom: 16,
245
246
  marginBottom: -12,
246
247
  borderRadius: 4,
247
- opacity: 0.5,
248
+ opacity: 0.7,
249
+ backgroundColor: TEXT_SUPER_LIGHT,
248
250
  },
249
251
  replyBubbleText: {
250
252
  fontFamily: 'sf-regular',
251
- color: TEXT_MID,
253
+ color: TEXT_DARK,
252
254
  fontSize: 13,
253
255
  textAlign: 'right',
254
256
  },