Change compose form to use server-provided post character limit (#28928)
This commit is contained in:
		
					parent
					
						
							
								45287049ab
							
						
					
				
			
			
				commit
				
					
						805dba7f8d
					
				
			
		
					 2 changed files with 6 additions and 4 deletions
				
			
		|  | @ -70,6 +70,7 @@ class ComposeForm extends ImmutablePureComponent { | |||
|     isInReply: PropTypes.bool, | ||||
|     singleColumn: PropTypes.bool, | ||||
|     lang: PropTypes.string, | ||||
|     maxChars: PropTypes.number, | ||||
|     ...WithOptionalRouterPropTypes | ||||
|   }; | ||||
| 
 | ||||
|  | @ -101,11 +102,11 @@ class ComposeForm extends ImmutablePureComponent { | |||
|   }; | ||||
| 
 | ||||
|   canSubmit = () => { | ||||
|     const { isSubmitting, isChangingUpload, isUploading, anyMedia } = this.props; | ||||
|     const { isSubmitting, isChangingUpload, isUploading, anyMedia, maxChars } = this.props; | ||||
|     const fulltext = this.getFulltextForCharacterCounting(); | ||||
|     const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0; | ||||
| 
 | ||||
|     return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia)); | ||||
|     return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > maxChars || (isOnlyWhitespace && !anyMedia)); | ||||
|   }; | ||||
| 
 | ||||
|   handleSubmit = (e) => { | ||||
|  | @ -224,7 +225,7 @@ class ComposeForm extends ImmutablePureComponent { | |||
|   }; | ||||
| 
 | ||||
|   render () { | ||||
|     const { intl, onPaste, autoFocus, withoutNavigation } = this.props; | ||||
|     const { intl, onPaste, autoFocus, withoutNavigation, maxChars } = this.props; | ||||
|     const { highlighted } = this.state; | ||||
|     const disabled = this.props.isSubmitting; | ||||
| 
 | ||||
|  | @ -297,7 +298,7 @@ class ComposeForm extends ImmutablePureComponent { | |||
|                 <PollButtonContainer /> | ||||
|                 <SpoilerButtonContainer /> | ||||
|                 <EmojiPickerDropdown onPickEmoji={this.handleEmojiPick} /> | ||||
|                 <CharacterCounter max={500} text={this.getFulltextForCharacterCounting()} /> | ||||
|                 <CharacterCounter max={maxChars} text={this.getFulltextForCharacterCounting()} /> | ||||
|               </div> | ||||
| 
 | ||||
|               <div className='compose-form__submit'> | ||||
|  |  | |||
|  | @ -28,6 +28,7 @@ const mapStateToProps = state => ({ | |||
|   anyMedia: state.getIn(['compose', 'media_attachments']).size > 0, | ||||
|   isInReply: state.getIn(['compose', 'in_reply_to']) !== null, | ||||
|   lang: state.getIn(['compose', 'language']), | ||||
|   maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 500), | ||||
| }); | ||||
| 
 | ||||
| const mapDispatchToProps = (dispatch) => ({ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue