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
							
								
									3b1390dc78
								
							
						
					
					
						commit
						235be596bc
					
				@ -19,6 +19,7 @@ import {
 | 
				
			|||||||
  assignHandlers,
 | 
					  assignHandlers,
 | 
				
			||||||
  hiddenComponent,
 | 
					  hiddenComponent,
 | 
				
			||||||
} from 'flavours/glitch/util/react_helpers';
 | 
					} from 'flavours/glitch/util/react_helpers';
 | 
				
			||||||
 | 
					import { pollLimits } from 'flavours/glitch/util/initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//  Messages.
 | 
					//  Messages.
 | 
				
			||||||
const messages = defineMessages({
 | 
					const messages = defineMessages({
 | 
				
			||||||
@ -248,6 +249,7 @@ export default class ComposerOptions extends React.PureComponent {
 | 
				
			|||||||
          onModalOpen={onModalOpen}
 | 
					          onModalOpen={onModalOpen}
 | 
				
			||||||
          title={intl.formatMessage(messages.attach)}
 | 
					          title={intl.formatMessage(messages.attach)}
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
 | 
					        {!!pollLimits && (
 | 
				
			||||||
          <IconButton
 | 
					          <IconButton
 | 
				
			||||||
            active={hasPoll}
 | 
					            active={hasPoll}
 | 
				
			||||||
            disabled={disabled || !allowPoll}
 | 
					            disabled={disabled || !allowPoll}
 | 
				
			||||||
@ -261,6 +263,7 @@ export default class ComposerOptions extends React.PureComponent {
 | 
				
			|||||||
            }}
 | 
					            }}
 | 
				
			||||||
            title={intl.formatMessage(hasPoll ? messages.remove_poll : messages.add_poll)}
 | 
					            title={intl.formatMessage(hasPoll ? messages.remove_poll : messages.add_poll)}
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
 | 
					        )}
 | 
				
			||||||
        <Motion
 | 
					        <Motion
 | 
				
			||||||
          defaultStyle={{ scale: 0.87 }}
 | 
					          defaultStyle={{ scale: 0.87 }}
 | 
				
			||||||
          style={{
 | 
					          style={{
 | 
				
			||||||
 | 
				
			|||||||
@ -6,6 +6,7 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 | 
				
			|||||||
import IconButton from 'flavours/glitch/components/icon_button';
 | 
					import IconButton from 'flavours/glitch/components/icon_button';
 | 
				
			||||||
import Icon from 'flavours/glitch/components/icon';
 | 
					import Icon from 'flavours/glitch/components/icon';
 | 
				
			||||||
import classNames from 'classnames';
 | 
					import classNames from 'classnames';
 | 
				
			||||||
 | 
					import { pollLimits } from 'flavours/glitch/util/initial_state';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const messages = defineMessages({
 | 
					const messages = defineMessages({
 | 
				
			||||||
  option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Choice {number}' },
 | 
					  option_placeholder: { id: 'compose_form.poll.option_placeholder', defaultMessage: 'Choice {number}' },
 | 
				
			||||||
@ -48,7 +49,7 @@ class Option extends React.PureComponent {
 | 
				
			|||||||
          <input
 | 
					          <input
 | 
				
			||||||
            type='text'
 | 
					            type='text'
 | 
				
			||||||
            placeholder={intl.formatMessage(messages.option_placeholder, { number: index + 1 })}
 | 
					            placeholder={intl.formatMessage(messages.option_placeholder, { number: index + 1 })}
 | 
				
			||||||
            maxlength={25}
 | 
					            maxlength={pollLimits.max_option_chars}
 | 
				
			||||||
            value={title}
 | 
					            value={title}
 | 
				
			||||||
            onChange={this.handleOptionTitleChange}
 | 
					            onChange={this.handleOptionTitleChange}
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
@ -100,7 +101,7 @@ class PollForm extends ImmutablePureComponent {
 | 
				
			|||||||
        </ul>
 | 
					        </ul>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div className='poll__footer'>
 | 
					        <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>
 | 
					            <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 me = getMeta('me');
 | 
				
			||||||
export const searchEnabled = getMeta('search_enabled');
 | 
					export const searchEnabled = getMeta('search_enabled');
 | 
				
			||||||
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
 | 
					export const maxChars = (initialState && initialState.max_toot_chars) || 500;
 | 
				
			||||||
 | 
					export const pollLimits = (initialState && initialState.poll_limits);
 | 
				
			||||||
export const invitesEnabled = getMeta('invites_enabled');
 | 
					export const invitesEnabled = getMeta('invites_enabled');
 | 
				
			||||||
export const version = getMeta('version');
 | 
					export const version = getMeta('version');
 | 
				
			||||||
export const mascot = getMeta('mascot');
 | 
					export const mascot = getMeta('mascot');
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user