@plusscommunities/pluss-core-app 3.0.2 → 3.0.3
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.
|
@@ -7,7 +7,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
7
7
|
// https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/Message.js
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
9
|
import React from 'react';
|
|
10
|
-
import { View,
|
|
10
|
+
import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
|
|
11
11
|
import _ from 'lodash';
|
|
12
12
|
import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
|
|
13
13
|
import { TEXT_MID, TEXT_LIGHT } from '../colours';
|
|
@@ -276,9 +276,6 @@ PlussChatMessage.propTypes = {
|
|
|
276
276
|
previousMessage: PropTypes.object,
|
|
277
277
|
user: PropTypes.object,
|
|
278
278
|
inverted: PropTypes.bool,
|
|
279
|
-
containerStyle: PropTypes.
|
|
280
|
-
left: ViewPropTypes.style,
|
|
281
|
-
right: ViewPropTypes.style
|
|
282
|
-
})
|
|
279
|
+
containerStyle: PropTypes.object
|
|
283
280
|
};
|
|
284
281
|
//# sourceMappingURL=PlussChatMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PlussChatMessage.js"],"names":["PropTypes","React","View","ViewPropTypes","StyleSheet","Text","TouchableOpacity","_","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","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","styles","position","renderReply","replyBubble","replyBubbleInner","backgroundColor","colourBrandingMain","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPressReply","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","style"],"mappings":"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","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, ViewPropTypes, StyleSheet, Text, TouchableOpacity } from 'react-native';\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"]}
|
|
1
|
+
{"version":3,"sources":["PlussChatMessage.js"],"names":["PropTypes","React","View","StyleSheet","Text","TouchableOpacity","_","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","renderBubble","bubbleProps","renderSystemMessage","systemMessageProps","renderAvatar","showUserAvatar","avatarProps","avatar","isEmpty","left","width","height","borderRadius","right","marginRight","marginLeft","renderName","nameProps","name","nameText","replyingTo","styles","position","renderReply","replyBubble","replyBubbleInner","backgroundColor","colourBrandingMain","replyBubbleText","text","substr","renderReplyButton","replyContainer","onPressReply","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"],"mappings":"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","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 _ 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.object,\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plusscommunities/pluss-core-app",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "Core extension package for Pluss Communities platform",
|
|
5
5
|
"main": "dist/module/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"mime-types": "^2.1.24",
|
|
45
45
|
"moment": "^2.18.1",
|
|
46
46
|
"react": "18.2.0",
|
|
47
|
-
"react-native": "0.71.
|
|
47
|
+
"react-native": "0.71.8",
|
|
48
48
|
"react-native-auto-height-image": "3.1.3",
|
|
49
49
|
"react-native-elements": "^0.17.0",
|
|
50
50
|
"react-native-image-zoom-viewer": "^3.0.1",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
10
|
import React from 'react';
|
|
11
|
-
import { View,
|
|
11
|
+
import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
|
|
12
12
|
import _ from 'lodash';
|
|
13
13
|
|
|
14
14
|
import { Avatar, Bubble, SystemMessage, Day, utils } from 'react-native-gifted-chat';
|
|
@@ -285,8 +285,5 @@ PlussChatMessage.propTypes = {
|
|
|
285
285
|
previousMessage: PropTypes.object,
|
|
286
286
|
user: PropTypes.object,
|
|
287
287
|
inverted: PropTypes.bool,
|
|
288
|
-
containerStyle: PropTypes.
|
|
289
|
-
left: ViewPropTypes.style,
|
|
290
|
-
right: ViewPropTypes.style,
|
|
291
|
-
}),
|
|
288
|
+
containerStyle: PropTypes.object,
|
|
292
289
|
};
|