Use server-provided poll limits instead of hardcoded ones
Also does not enable polls if no limits are provided by the server
This commit is contained in:
		
							parent
							
								
									9f06da948b
								
							
						
					
					
						commit
						49c4e57973
					
				
					 3 changed files with 20 additions and 15 deletions
				
			
		|  | @ -19,6 +19,7 @@ import { | |||
|   assignHandlers, | ||||
|   hiddenComponent, | ||||
| } from 'flavours/glitch/util/react_helpers'; | ||||
| import { pollLimits } from 'flavours/glitch/util/initial_state'; | ||||
| 
 | ||||
| //  Messages.
 | ||||
| const messages = defineMessages({ | ||||
|  | @ -248,19 +249,21 @@ export default class ComposerOptions extends React.PureComponent { | |||
|           onModalOpen={onModalOpen} | ||||
|           title={intl.formatMessage(messages.attach)} | ||||
|         /> | ||||
|         <IconButton | ||||
|           active={hasPoll} | ||||
|           disabled={disabled || !allowPoll} | ||||
|           icon='tasks' | ||||
|           inverted | ||||
|           onClick={onTogglePoll} | ||||
|           size={18} | ||||
|           style={{ | ||||
|             height: null, | ||||
|             lineHeight: null, | ||||
|           }} | ||||
|           title={intl.formatMessage(hasPoll ? messages.remove_poll : messages.add_poll)} | ||||
|         /> | ||||
|         {!!pollLimits && ( | ||||
|           <IconButton | ||||
|             active={hasPoll} | ||||
|             disabled={disabled || !allowPoll} | ||||
|             icon='tasks' | ||||
|             inverted | ||||
|             onClick={onTogglePoll} | ||||
|             size={18} | ||||
|             style={{ | ||||
|               height: null, | ||||
|               lineHeight: null, | ||||
|             }} | ||||
|             title={intl.formatMessage(hasPoll ? messages.remove_poll : messages.add_poll)} | ||||
|           /> | ||||
|         )} | ||||
|         <Motion | ||||
|           defaultStyle={{ scale: 0.87 }} | ||||
|           style={{ | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; | |||
| import IconButton from 'flavours/glitch/components/icon_button'; | ||||
| import Icon from 'flavours/glitch/components/icon'; | ||||
| import classNames from 'classnames'; | ||||
| import { pollLimits } from 'flavours/glitch/util/initial_state'; | ||||
| 
 | ||||
| const messages = defineMessages({ | ||||
|   option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Choice {number}' }, | ||||
|  | @ -48,7 +49,7 @@ class Option extends React.PureComponent { | |||
|           <input | ||||
|             type='text' | ||||
|             placeholder={intl.formatMessage(messages.option_placeholder, { number: index + 1 })} | ||||
|             maxlength={25} | ||||
|             maxlength={pollLimits.max_option_chars} | ||||
|             value={title} | ||||
|             onChange={this.handleOptionTitleChange} | ||||
|           /> | ||||
|  | @ -100,7 +101,7 @@ class PollForm extends ImmutablePureComponent { | |||
|         </ul> | ||||
| 
 | ||||
|         <div className='poll__footer'> | ||||
|           {options.size < 4 && ( | ||||
|           {options.size < pollLimits.max_options && ( | ||||
|             <button className='button button-secondary' onClick={this.handleAddOption}><Icon id='plus' /> <FormattedMessage {...messages.add_option} /></button> | ||||
|           )} | ||||
| 
 | ||||
|  |  | |||
|  | @ -22,6 +22,7 @@ export const deleteModal = getMeta('delete_modal'); | |||
| export const me = getMeta('me'); | ||||
| export const searchEnabled = getMeta('search_enabled'); | ||||
| export const maxChars = (initialState && initialState.max_toot_chars) || 500; | ||||
| export const pollLimits = (initialState && initialState.poll_limits); | ||||
| export const invitesEnabled = getMeta('invites_enabled'); | ||||
| export const version = getMeta('version'); | ||||
| export const mascot = getMeta('mascot'); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue