diff options
author | Thibaut Girka <thib@sitedethib.com> | 2019-03-06 13:42:48 +0100 |
---|---|---|
committer | ThibG <thib@sitedethib.com> | 2019-03-06 23:56:53 +0100 |
commit | 235be596bc6a6ed6a042975ac7f698695d6cda19 (patch) | |
tree | 0e52fe57987e7d64fdcd239c73d91a7193c5f1ed /app/javascript | |
parent | 3b1390dc789b52cf570a179daf50d4cb8afbfbcd (diff) |
Use server-provided poll limits instead of hardcoded ones
Also does not enable polls if no limits are provided by the server
Diffstat (limited to 'app/javascript')
3 files changed, 20 insertions, 15 deletions
diff --git a/app/javascript/flavours/glitch/features/composer/options/index.js b/app/javascript/flavours/glitch/features/composer/options/index.js index 80ac1b63a..7c7f01dc2 100644 --- a/app/javascript/flavours/glitch/features/composer/options/index.js +++ b/app/javascript/flavours/glitch/features/composer/options/index.js @@ -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={{ diff --git a/app/javascript/flavours/glitch/features/composer/poll_form/components/poll_form.js b/app/javascript/flavours/glitch/features/composer/poll_form/components/poll_form.js index c329b04cd..566cf123a 100644 --- a/app/javascript/flavours/glitch/features/composer/poll_form/components/poll_form.js +++ b/app/javascript/flavours/glitch/features/composer/poll_form/components/poll_form.js @@ -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> )} diff --git a/app/javascript/flavours/glitch/util/initial_state.js b/app/javascript/flavours/glitch/util/initial_state.js index a3c65563c..62588eeaa 100644 --- a/app/javascript/flavours/glitch/util/initial_state.js +++ b/app/javascript/flavours/glitch/util/initial_state.js @@ -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'); |