|
|
|
@ -15,6 +15,8 @@ import { countableText } from 'flavours/glitch/util/counter';
|
|
|
|
|
import OptionsContainer from '../containers/options_container';
|
|
|
|
|
import Publisher from './publisher';
|
|
|
|
|
import TextareaIcons from './textarea_icons';
|
|
|
|
|
import { maxChars } from 'flavours/glitch/util/initial_state';
|
|
|
|
|
import CharacterCounter from './character_counter';
|
|
|
|
|
|
|
|
|
|
const messages = defineMessages({
|
|
|
|
|
placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },
|
|
|
|
@ -298,6 +300,8 @@ class ComposeForm extends ImmutablePureComponent {
|
|
|
|
|
|
|
|
|
|
let disabledButton = isSubmitting || isUploading || isChangingUpload || (!text.trim().length && !anyMedia);
|
|
|
|
|
|
|
|
|
|
const countText = `${spoilerText}${countableText(text)}${advancedOptions && advancedOptions.get('do_not_federate') ? ' 👁️' : ''}`;
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div className='composer'>
|
|
|
|
|
<WarningContainer />
|
|
|
|
@ -347,19 +351,24 @@ class ComposeForm extends ImmutablePureComponent {
|
|
|
|
|
</div>
|
|
|
|
|
</AutosuggestTextarea>
|
|
|
|
|
|
|
|
|
|
<OptionsContainer
|
|
|
|
|
advancedOptions={advancedOptions}
|
|
|
|
|
disabled={isSubmitting}
|
|
|
|
|
onChangeVisibility={onChangeVisibility}
|
|
|
|
|
onToggleSpoiler={spoilersAlwaysOn ? null : onChangeSpoilerness}
|
|
|
|
|
onUpload={onPaste}
|
|
|
|
|
privacy={privacy}
|
|
|
|
|
sensitive={sensitive || (spoilersAlwaysOn && spoilerText && spoilerText.length > 0)}
|
|
|
|
|
spoiler={spoilersAlwaysOn ? (spoilerText && spoilerText.length > 0) : spoiler}
|
|
|
|
|
/>
|
|
|
|
|
<div className='composer--options-wrapper'>
|
|
|
|
|
<OptionsContainer
|
|
|
|
|
advancedOptions={advancedOptions}
|
|
|
|
|
disabled={isSubmitting}
|
|
|
|
|
onChangeVisibility={onChangeVisibility}
|
|
|
|
|
onToggleSpoiler={spoilersAlwaysOn ? null : onChangeSpoilerness}
|
|
|
|
|
onUpload={onPaste}
|
|
|
|
|
privacy={privacy}
|
|
|
|
|
sensitive={sensitive || (spoilersAlwaysOn && spoilerText && spoilerText.length > 0)}
|
|
|
|
|
spoiler={spoilersAlwaysOn ? (spoilerText && spoilerText.length > 0) : spoiler}
|
|
|
|
|
/>
|
|
|
|
|
<div className='compose--counter-wrapper'>
|
|
|
|
|
<CharacterCounter text={countText} max={maxChars} />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<Publisher
|
|
|
|
|
countText={`${spoilerText}${countableText(text)}${advancedOptions && advancedOptions.get('do_not_federate') ? ' 👁️' : ''}`}
|
|
|
|
|
countText={countText}
|
|
|
|
|
disabled={disabledButton}
|
|
|
|
|
onSecondarySubmit={handleSecondarySubmit}
|
|
|
|
|
onSubmit={handleSubmit}
|
|
|
|
|