@plusscommunities/pluss-maintenance-app 1.1.15 → 1.2.0

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.
Files changed (44) hide show
  1. package/dist/module/actions/JobActions.js +14 -0
  2. package/dist/module/actions/JobActions.js.map +1 -0
  3. package/dist/module/actions/index.js +2 -0
  4. package/dist/module/actions/index.js.map +1 -0
  5. package/dist/module/actions/types.js +3 -0
  6. package/dist/module/actions/types.js.map +1 -0
  7. package/dist/module/apis/generalActions.js +145 -0
  8. package/dist/module/apis/generalActions.js.map +1 -0
  9. package/dist/module/apis/index.js +2 -0
  10. package/dist/module/apis/index.js.map +1 -0
  11. package/dist/module/components/MaintenanceList.js +240 -0
  12. package/dist/module/components/MaintenanceList.js.map +1 -0
  13. package/dist/module/components/MaintenanceListItem.js +282 -0
  14. package/dist/module/components/MaintenanceListItem.js.map +1 -0
  15. package/dist/module/components/MaintenanceWidgetItem.js +161 -0
  16. package/dist/module/components/MaintenanceWidgetItem.js.map +1 -0
  17. package/dist/module/components/StatusSelectorPopup.js +93 -0
  18. package/dist/module/components/StatusSelectorPopup.js.map +1 -0
  19. package/dist/module/components/WidgetLarge.js +12 -0
  20. package/dist/module/components/WidgetLarge.js.map +1 -0
  21. package/dist/module/components/WidgetSmall.js +185 -0
  22. package/dist/module/components/WidgetSmall.js.map +1 -0
  23. package/dist/module/core.config.js +17 -0
  24. package/dist/module/core.config.js.map +1 -0
  25. package/dist/module/feature.config.js +91 -0
  26. package/dist/module/feature.config.js.map +1 -0
  27. package/dist/module/helper.js +28 -0
  28. package/dist/module/helper.js.map +1 -0
  29. package/dist/module/images/speechbubble.png +0 -0
  30. package/dist/module/index.js +20 -0
  31. package/dist/module/index.js.map +1 -0
  32. package/dist/module/reducers/JobsReducer.js +59 -0
  33. package/dist/module/reducers/JobsReducer.js.map +1 -0
  34. package/dist/module/screens/JobTypePicker.js +139 -0
  35. package/dist/module/screens/JobTypePicker.js.map +1 -0
  36. package/dist/module/screens/MaintenancePage.js +99 -0
  37. package/dist/module/screens/MaintenancePage.js.map +1 -0
  38. package/dist/module/screens/RequestDetail.js +839 -0
  39. package/dist/module/screens/RequestDetail.js.map +1 -0
  40. package/dist/module/screens/RequestNotes.js +420 -0
  41. package/dist/module/screens/RequestNotes.js.map +1 -0
  42. package/dist/module/screens/ServiceRequest.js +803 -0
  43. package/dist/module/screens/ServiceRequest.js.map +1 -0
  44. package/package.json +25 -12
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ServiceRequest.js"],"names":["React","Component","Dimensions","Platform","KeyboardAvoidingView","ScrollView","Text","TouchableOpacity","View","Switch","FlatList","ImageBackground","Keyboard","_","Icon","connect","jobAdded","generalActions","Services","Components","Colours","Helper","Config","PHOTO_SIZE","get","width","MaintenanceRequest","constructor","props","uploadUri","imageUri","images","state","splice","length","uploading","uploadProgress","allowRetry","setState","progress","map","img","uri","percentage","url","replace","thumbNailExists","thumbNailUrl","getThumb300","waitForThumbnails","get1400","dismiss","uploadingImage","submitting","imageUploader","showUploadMenu","description","isHome","times","setTimeout","scrollContainer","scrollTo","y","filter","add","sendMaintenanceRequest","uid","userName","phone","roomNumber","title","type","getSite","site","then","res","data","success","refreshRequest","searchResult","onSubmissionSuccess","confirmationToShow","catch","err","console","log","id","job","getJob","error","checkThumb","setInterval","Promise","all","image","resolve","newImage","push","imageExists","thumbnailsExist","every","clearInterval","index","showFullscreenVideo","currentVideoUrl","fail","showError","types","componentDidMount","userType","displayName","unit","isEmpty","phoneNumber","getJobTypes","componentWillUnmount","onPressBack","navigation","goBack","onPressType","navigate","currentType","onSelectType","pickType","bind","onCloseConfirmationPopup","onBack","onConfirmationReset","self","getDefaultJob","jobId","typeName","submitRequest","connected","message","submit","renderUploadMenu","ref","onUploadStarted","onUploadSuccess","onUploadFailed","onUploadProgress","onLibrarySelected","renderImage","item","isVideoUrl","isVideo","styles","imageContainer","imageContainerNotEmpty","marginLeft","marginTop","imageCircle","addImageIcon","colourBrandingMain","imageBackground","getImageSource","imagePlayContainer","toggleFullscreenVideo","imageControlIcon","removeImage","renderSuccess","padding","flex","backgroundColor","requestSuccess","renderImageList","imageSection","imageListContainer","imageListContainerEmpty","renderForm","paddingBottom","errorText","paddingHorizontal","paddingVertical","flexDirection","justifyContent","sectionTitle","env","strings","JOB_TYPE","color","marginRight","fontSize","alignItems","position","borderBottomWidth","borderBottomColor","LINEGREY","MAINTENANCE_HOME","value","false","true","OS","renderRegisterConfirmation","renderVideoPlayerPopup","render","viewContainer","container","MAINTENANCE","fontFamily","COLOUR_TANGERINE","TEXT_DARK","textAlign","BOXGREY","minHeight","height","borderStyle","borderWidth","borderColor","borderRadius","PINKISH_GREY","top","left","right","bottom","textShadowColor","textShadowOffset","mapStateToProps","user","connection","profilePic","getMainBrandingColourFromState"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport {\n Dimensions,\n Platform,\n KeyboardAvoidingView,\n ScrollView,\n Text,\n TouchableOpacity,\n View,\n Switch,\n FlatList,\n ImageBackground,\n Keyboard,\n} from 'react-native';\nimport _ from 'lodash';\nimport { Icon } from 'react-native-elements';\nimport { connect } from 'react-redux';\nimport { jobAdded } from '../actions';\nimport { generalActions } from '../apis';\nimport { Services } from '../feature.config';\nimport { Components, Colours, Helper, Config } from '../core.config';\n\nconst PHOTO_SIZE = (Dimensions.get('window').width - 64) / 3;\n\nclass MaintenanceRequest extends Component {\n constructor(props) {\n super(props);\n this.state = {\n submitting: false,\n success: false,\n fail: false,\n error: null,\n showError: false,\n\n userName: '',\n roomNumber: '',\n phone: '',\n title: '',\n description: '',\n times: '',\n\n type: 'General',\n\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n showFullscreenVideo: false,\n currentVideoUrl: '',\n\n isHome: false,\n\n types: [],\n\n confirmationToShow: false,\n };\n this.checkThumb = null;\n }\n\n componentDidMount() {\n if (this.props.userType !== 'KIOSK') {\n this.setState({\n userName: this.props.displayName,\n roomNumber: this.props.unit,\n phone: !_.isEmpty(this.props.phoneNumber) ? this.props.phoneNumber : '',\n });\n }\n this.getJobTypes();\n }\n\n componentWillUnmount() {\n clearInterval(this.checkThumb);\n }\n\n onUploadStarted = (uploadUri, imageUri) => {\n const images = [...this.state.images];\n images.splice(images.length - 1, 0, {\n uploading: true,\n uploadProgress: '0%',\n uploadUri,\n imageUri,\n allowRetry: true,\n });\n\n this.setState({ images });\n };\n\n onUploadProgress = progress => {\n const images = [...this.state.images];\n images.map(img => {\n if (img.uploadUri === progress.uri) {\n img.uploadProgress = progress.percentage;\n img.uploading = true;\n img.allowRetry = true;\n }\n });\n this.setState({ images });\n };\n\n onUploadSuccess = async (uri, uploadUri) => {\n const images = [...this.state.images];\n images.map(img => {\n if (img.uploadUri === uploadUri && img.uploading) {\n img.url = uri.replace('/general/', '/general1400/');\n img.thumbNailExists = false;\n img.thumbNailUrl = Helper.getThumb300(img.url);\n img.allowRetry = true;\n }\n });\n this.setState({ images }, () => this.waitForThumbnails());\n };\n\n onUploadFailed = uploadUri => {\n const images = [...this.state.images];\n images.map(img => {\n if (img.uploadUri === uploadUri) {\n img.uploading = true; // Requried for retry\n img.uploadProgress = '';\n img.allowRetry = true;\n }\n });\n\n this.setState({ images });\n };\n\n onLibrarySelected = uri => {\n const images = [...this.state.images];\n images.splice(images.length - 1, 0, {\n uploading: false,\n allowRetry: false,\n url: Helper.get1400(uri),\n thumbNailExists: true,\n thumbNailUrl: Helper.getThumb300(uri),\n });\n\n this.setState({ images });\n };\n\n onPressBack() {\n Services.navigation.goBack();\n }\n\n onPressType() {\n Services.navigation.navigate('jobTypePicker', {\n currentType: this.state.type,\n types: this.state.types,\n onSelectType: this.pickType.bind(this),\n });\n }\n\n onCloseConfirmationPopup() {\n this.setState({\n confirmationToShow: false,\n });\n Services.navigation.goBack();\n this.props.onBack && this.props.onBack();\n }\n\n onConfirmationReset() {\n this.setState({\n confirmationToShow: false,\n title: '',\n description: '',\n times: '',\n isHome: false,\n uploadingImage: false,\n images: [\n {\n add: true,\n },\n ],\n submitting: false,\n success: false,\n fail: false,\n });\n }\n\n getJobTypes() {\n const self = this;\n generalActions\n .getJobTypes(Helper.getSite(this.props.site))\n .then(res => {\n self.setState({\n types: res.data,\n });\n self.getDefaultJob();\n })\n .catch(() => {});\n }\n\n getDefaultJob() {\n if (this.state.types.length !== 0 && this.state.jobId == null) {\n this.setState({ type: this.state.types[0].typeName });\n }\n }\n\n pickType(type) {\n this.setState({ type });\n }\n\n showUploadMenu = () => {\n Keyboard.dismiss();\n if (this.state.uploadingImage || this.state.submitting) {\n return;\n }\n this.imageUploader.showUploadMenu();\n };\n\n submit = async () => {\n this.setState({ submitting: true });\n\n let description = this.state.description;\n\n if (this.state.isHome) {\n description = description + `. -- Times Available: ${this.state.times}`;\n }\n\n setTimeout(() => {\n this.scrollContainer.scrollTo({ y: 0 });\n }, 100);\n\n const images = _.filter(this.state.images, img => {\n return !img.uploading && !img.add;\n }).map(img => {\n return img.url;\n });\n\n generalActions\n .sendMaintenanceRequest(\n this.props.uid,\n this.state.userName,\n this.state.phone,\n this.state.roomNumber,\n this.state.title,\n description,\n null,\n this.state.type,\n images,\n Helper.getSite(this.props.site),\n this.state.isHome,\n this.state.times,\n )\n .then(res => {\n if (res.data.success) {\n this.refreshRequest(res.data.searchResult);\n if (this.props.onSubmissionSuccess) this.props.onSubmissionSuccess(res.data);\n this.setState({\n submitting: false,\n success: true,\n confirmationToShow: true,\n });\n } else {\n this.setState({\n submitting: false,\n });\n }\n })\n .catch(err => {\n console.log('maintenance submission fail.');\n console.log(err);\n this.setState({\n submitting: false,\n });\n });\n };\n\n refreshRequest = async id => {\n try {\n const job = await generalActions.getJob(Helper.getSite(this.props.site), id);\n // console.log('refreshRequest', job?.data);\n this.props.jobAdded(job.data);\n } catch (error) {\n console.log('refreshRequest error', error);\n }\n };\n\n submitRequest() {\n if (this.state.submitting || !this.props.connected) {\n if (!this.props.connected) {\n this.setState({ error: { message: 'No internet connection detected' } });\n }\n return;\n }\n if (this.state.uploadingImage) {\n return;\n }\n this.setState({ error: null, showError: false });\n if (this.state.title.length === 0 || !this.state.roomNumber || this.state.roomNumber.length === 0) {\n this.setState({ showError: true });\n return;\n }\n if (this.state.isHome && this.state.times.length < 2) {\n this.setState({ showError: true });\n return;\n }\n this.submit();\n }\n\n waitForThumbnails = () => {\n if (this.checkThumb) return;\n\n this.checkThumb = setInterval(async () => {\n const images = [];\n await Promise.all(\n this.state.images.map(image => {\n return new Promise(async resolve => {\n const newImage = { ...image };\n images.push(newImage);\n if (newImage.url && !newImage.thumbNailExists) {\n newImage.uploading = false;\n newImage.allowRetry = false;\n newImage.thumbNailExists = await Helper.imageExists(newImage.thumbNailUrl);\n resolve(newImage.thumbNailExists);\n }\n resolve(true);\n });\n }),\n );\n const thumbnailsExist = images.every(image => !image.url || image.thumbNailExists);\n if (thumbnailsExist) {\n clearInterval(this.checkThumb);\n this.checkThumb = null;\n this.setState({ images });\n }\n }, 2000);\n };\n\n removeImage = index => {\n const images = [...this.state.images];\n images.splice(index, 1);\n\n this.setState({ images });\n };\n\n toggleFullscreenVideo = url => {\n if (typeof url !== 'string') url = '';\n this.setState({ showFullscreenVideo: url.length > 0, currentVideoUrl: url });\n };\n\n renderUploadMenu() {\n return (\n <Components.ImageUploader\n ref={ref => (this.imageUploader = ref)}\n onUploadStarted={this.onUploadStarted}\n onUploadSuccess={this.onUploadSuccess}\n onUploadFailed={this.onUploadFailed}\n onUploadProgress={this.onUploadProgress}\n onLibrarySelected={this.onLibrarySelected}\n size={{ width: 1400 }}\n quality={0.8}\n fileName={'serviceImage'}\n popupTitle={'Upload Image'}\n userId={this.props.uid}\n allowsEditing={false}\n multiple\n hideLibrary\n />\n );\n }\n\n renderImage(item, index) {\n const isVideoUrl = Helper.isVideo(item.url);\n\n if (item.add) {\n return (\n <TouchableOpacity activeOpacity={0.8} onPress={this.showUploadMenu}>\n <View\n style={[\n styles.imageContainer,\n this.state.images.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n <View style={styles.imageCircle}>\n <Icon name=\"camera\" type=\"font-awesome\" iconStyle={styles.addImageIcon} />\n </View>\n </View>\n </TouchableOpacity>\n );\n }\n return (\n <View\n style={[\n styles.imageContainer,\n this.state.images.length > 1 && styles.imageContainerNotEmpty,\n index % 3 === 0 && { marginLeft: 0 },\n index > 2 && { marginTop: 8 },\n ]}\n >\n {item.uploading ? (\n <Components.ImageUploadProgress uploader={this.imageUploader} image={item} color={this.props.colourBrandingMain} />\n ) : (\n <ImageBackground\n style={styles.imageBackground}\n source={Helper.getImageSource(item.thumbNailExists ? item.thumbNailUrl : item.url)}\n >\n {isVideoUrl && (\n <View style={styles.imagePlayContainer}>\n <TouchableOpacity onPress={this.toggleFullscreenVideo.bind(this, item.url)}>\n <Icon name=\"play\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} />\n </TouchableOpacity>\n </View>\n )}\n <TouchableOpacity style={styles.removeImage} onPress={this.removeImage.bind(this, index)}>\n <Icon name=\"remove\" type=\"font-awesome\" iconStyle={styles.imageControlIcon} style={styles.removeImage} />\n </TouchableOpacity>\n </ImageBackground>\n )}\n </View>\n );\n }\n\n renderSuccess() {\n return (\n <View style={{ padding: 16, flex: 1, backgroundColor: '#fff' }}>\n <Text style={styles.requestSuccess}>Your request has been submitted. Thank you.</Text>\n </View>\n );\n }\n\n renderImageList() {\n return (\n <View style={styles.imageSection}>\n <View style={[styles.imageListContainer, this.state.images.length < 2 && styles.imageListContainerEmpty]}>\n <FlatList\n keyboardShouldPersistTaps=\"always\"\n enableEmptySections\n data={this.state.images}\n renderItem={({ item, index }) => this.renderImage(item, index)}\n keyExtractor={(item, index) => index}\n numColumns={3}\n />\n </View>\n </View>\n );\n }\n\n renderForm() {\n return (\n <View style={{ flex: 1 }}>\n <ScrollView keyboardShouldPersistTaps=\"always\" style={{ flex: 1 }} ref={ref => (this.scrollContainer = ref)}>\n <View style={{ paddingBottom: 2 }}>\n <Components.LoadingIndicator visible={this.state.submitting} />\n {this.state.error && <Text style={styles.errorText}>{this.state.error}</Text>}\n <Components.FormCard style={{ marginTop: 16 }}>\n <Components.FormCardSection\n label={'Name'}\n placeholder={'Enter your name'}\n textValue={this.state.userName}\n onChangeText={userName => this.setState({ userName })}\n editable={this.props.userType === 'KIOSK' && this.state.submitting === false}\n isValid={() => {\n return this.state.userName.length > 1;\n }}\n required\n errorText=\"Please enter your name.\"\n showError={this.state.showError && this.state.userName.length < 2}\n hasUnderline\n />\n <Components.FormCardSection\n label={'Contact number'}\n placeholder={'Enter phone number'}\n textValue={this.state.phone}\n onChangeText={phone => this.setState({ phone })}\n editable={this.state.submitting === false}\n hasUnderline\n keyboardType={'phone-pad'}\n />\n <Components.FormCardSection\n label={'Address'}\n placeholder={'Enter your address'}\n textValue={this.state.roomNumber}\n onChangeText={roomNumber => this.setState({ roomNumber })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.roomNumber && this.state.roomNumber.length > 1;\n }}\n required\n errorText=\"Please provide your address.\"\n showError={this.state.showError && this.state.roomNumber && this.state.roomNumber.length < 2}\n />\n </Components.FormCard>\n <Components.FormCard\n style={{ marginTop: 16, paddingHorizontal: 24, paddingVertical: 16, flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text style={styles.sectionTitle}>{Config.env.strings.JOB_TYPE}</Text>\n <TouchableOpacity onPress={this.onPressType.bind(this)}>\n <View style={{ flexDirection: 'row' }}>\n <Text style={[styles.sectionTitle, { color: this.props.colourBrandingMain, marginRight: 16 }]}>{this.state.type}</Text>\n <Icon\n name=\"angle-right\"\n type=\"font-awesome\"\n iconStyle={[styles.sectionTitle, { fontSize: 20, color: this.props.colourBrandingMain }]}\n />\n </View>\n </TouchableOpacity>\n </Components.FormCard>\n <Components.FormCard style={{ marginTop: 16 }}>\n <Components.FormCardSection\n label={'Title'}\n placeholder={'Enter a title for your request'}\n textValue={this.state.title}\n onChangeText={title => this.setState({ title })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.title.length > 1;\n }}\n required\n errorText=\"Please provide a title.\"\n showError={this.state.showError && this.state.title.length < 2}\n autoCorrect\n multiline\n autoGrow\n />\n <Components.FormCardSection\n label={'Description'}\n placeholder={'Describe your request here in detail'}\n textValue={this.state.description}\n onChangeText={description => this.setState({ description })}\n editable={this.state.submitting === false}\n hasUnderline\n autoCorrect\n multiline\n autoGrow\n />\n </Components.FormCard>\n <Components.FormCard style={{ marginTop: 16, paddingHorizontal: 24 }}>\n <View\n style={[\n {\n width: '100%',\n paddingVertical: 16,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n },\n this.state.isHome && { borderBottomWidth: 1, borderBottomColor: Colours.LINEGREY },\n ]}\n >\n <Text style={styles.sectionTitle}>{Config.env.strings.MAINTENANCE_HOME}</Text>\n <Switch\n value={this.state.isHome}\n disabled={this.state.submitting}\n onValueChange={value => this.setState({ isHome: value })}\n trackColor={{ false: '#ddd', true: this.props.colourBrandingMain }}\n thumbColor={Platform.OS === 'android' ? '#fff' : null}\n />\n </View>\n {this.state.isHome && (\n <Components.FormCardSection\n label={'Available times'}\n placeholder={'Describe your available times here in detail.'}\n textValue={this.state.times}\n onChangeText={times => this.setState({ times })}\n editable={this.state.submitting === false}\n hasUnderline\n isValid={() => {\n return this.state.times.length > 1;\n }}\n required\n errorText=\"Please provide available times.\"\n showError={this.state.showError && this.state.isHome && this.state.times.length < 2}\n minHeight={40}\n autoCorrect\n multiline\n autoGrow\n />\n )}\n </Components.FormCard>\n {this.renderImageList()}\n </View>\n </ScrollView>\n </View>\n );\n }\n\n renderRegisterConfirmation() {\n return (\n <Components.ConfirmationPopup\n confirmText={'Request submitted'}\n repeatText={'Submit another'}\n visible={this.state.confirmationToShow}\n onClose={this.onCloseConfirmationPopup.bind(this)}\n onPressAction={this.onConfirmationReset.bind(this)}\n />\n );\n }\n\n renderVideoPlayerPopup() {\n const { showFullscreenVideo, currentVideoUrl } = this.state;\n if (!currentVideoUrl) return;\n\n return (\n <Components.VideoPopup\n uri={currentVideoUrl}\n visible={showFullscreenVideo}\n showFullscreenButton={false}\n onClose={this.toggleFullscreenVideo}\n />\n );\n }\n\n render() {\n return (\n <KeyboardAvoidingView behavior={Platform.OS === 'ios' && 'padding'} style={styles.viewContainer}>\n {this.renderUploadMenu()}\n <View style={styles.container}>\n <Components.Header\n leftIcon=\"angle-left\"\n onPressLeft={this.onPressBack.bind(this)}\n text={Config.env.strings.MAINTENANCE}\n rightText={this.state.submitting || this.state.success ? null : 'Done'}\n onPressRight={this.submitRequest.bind(this)}\n absoluteRight\n />\n {this.renderForm()}\n </View>\n {this.renderRegisterConfirmation()}\n {this.renderVideoPlayerPopup()}\n </KeyboardAvoidingView>\n );\n }\n}\n\nconst styles = {\n viewContainer: {\n flex: 1,\n backgroundColor: '#fff',\n },\n container: {\n flex: 1,\n position: 'relative',\n backgroundColor: '#f0f0f5',\n },\n errorText: {\n fontFamily: 'sf-regular',\n color: Colours.COLOUR_TANGERINE,\n fontSize: 16,\n },\n requestSuccess: {\n fontFamily: 'sf-regular',\n color: Colours.TEXT_DARK,\n fontSize: 17,\n textAlign: 'center',\n },\n sectionTitle: {\n fontFamily: 'sf-regular',\n fontSize: 17,\n color: Colours.TEXT_DARK,\n },\n imageListContainer: {\n marginTop: 8,\n padding: 8,\n flexDirection: 'row',\n backgroundColor: Colours.BOXGREY,\n minHeight: 106,\n },\n imageListContainerEmpty: {\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n },\n imageContainer: {\n width: PHOTO_SIZE,\n height: PHOTO_SIZE,\n borderStyle: 'dashed',\n justifyContent: 'center',\n alignItems: 'center',\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n borderRadius: 4,\n marginLeft: 8,\n },\n imageContainerNotEmpty: {\n borderWidth: 1,\n borderColor: Colours.LINEGREY,\n backgroundColor: '#fff',\n borderStyle: 'dashed',\n },\n imageBackground: {\n flex: 1,\n height: '100%',\n width: '100%',\n borderRadius: 4,\n },\n imageCircle: {\n width: 90,\n height: 90,\n borderRadius: 45,\n backgroundColor: Colours.PINKISH_GREY,\n justifyContent: 'center',\n },\n addImageIcon: {\n color: '#fff',\n fontSize: 32,\n },\n imagePlayContainer: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageControlIcon: {\n color: '#fff',\n fontSize: 20,\n textShadowColor: 'rgba(0,0,0,0.3)',\n textShadowOffset: { width: 2, height: 2 },\n },\n removeImage: {\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 4,\n width: 40,\n height: 40,\n alignItems: 'center',\n justifyContent: 'center',\n },\n};\n\nconst mapStateToProps = state => {\n const { user, connection } = state;\n const { displayName, profilePic, uid, site, unit, phoneNumber } = user;\n return {\n connected: connection.connected,\n userType: user.type,\n displayName,\n profilePic,\n uid,\n site,\n unit,\n phoneNumber,\n colourBrandingMain: Colours.getMainBrandingColourFromState(state),\n };\n};\n\nexport default connect(mapStateToProps, { jobAdded })(MaintenanceRequest);\n"]}
package/package.json CHANGED
@@ -1,24 +1,27 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-app",
3
- "version": "1.1.15",
3
+ "version": "1.2.0",
4
4
  "description": "Extension package to enable maintenance on Pluss Communities Platform",
5
- "main": "src/index.js",
5
+ "main": "dist/module/index.js",
6
+ "module": "dist/module/index.js",
7
+ "react-native": "src/index.js",
8
+ "files": [
9
+ "dist/",
10
+ "src/"
11
+ ],
6
12
  "scripts": {
7
- "betacore": "npm i @plusscommunities/pluss-core-app@beta",
8
- "core": "npm i @plusscommunities/pluss-core-app@latest",
13
+ "build": "bob build",
9
14
  "betapatch": "npm version prepatch --preid=beta",
10
15
  "patch": "npm version patch",
11
- "betaupload": "npm publish --access public --tag beta && rm -rf node_modules",
16
+ "betaupload": "npm run build && npm publish --access public --tag beta",
12
17
  "betaupload:p": "npm run betapatch && npm run betaupload",
13
- "betaupload:cp": "npm run betacore && npm run betaupload:p",
14
- "upload": "npm publish --access public && rm -rf node_modules",
15
- "upload:p": "npm run patch && npm run upload",
16
- "upload:cp": "npm run core && npm run upload:p"
18
+ "upload": "npm run build && npm publish --access public",
19
+ "upload:p": "npm run patch && npm run upload"
17
20
  },
18
21
  "author": "Phillip Suh",
19
22
  "license": "ISC",
20
23
  "dependencies": {
21
- "@plusscommunities/pluss-core-app": "1.4.9",
24
+ "@plusscommunities/pluss-core-app": "1.5.0",
22
25
  "axios": "^0.16.2",
23
26
  "lodash": "^4.17.4",
24
27
  "moment": "^2.18.1",
@@ -27,9 +30,19 @@
27
30
  "react-native-elements": "^0.17.0",
28
31
  "react-native-iphone-x-helper": "^1.3.1",
29
32
  "react-native-webview": "11.15.0",
30
- "react-redux": "^5.0.5"
33
+ "react-redux": "^7.2.6"
31
34
  },
32
35
  "peerDependencies": {
33
- "redux-persist": "^4.8.3"
36
+ "redux-persist": "^6.0.0"
37
+ },
38
+ "devDependencies": {
39
+ "react-native-builder-bob": "^0.18.2"
40
+ },
41
+ "react-native-builder-bob": {
42
+ "source": "src",
43
+ "output": "dist",
44
+ "targets": [
45
+ "module"
46
+ ]
34
47
  }
35
48
  }