mirror of
https://github.com/mastodon/mastodon.git
synced 2025-09-07 02:11:04 +00:00
Move composer buttons to top (#35749)
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Some checks are pending
Check i18n / check-i18n (push) Waiting to run
Chromatic / Run Chromatic (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Historical data migration test / test (16-alpine) (push) Waiting to run
Historical data migration test / test (17-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / test (3.3) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.2) (push) Blocked by required conditions
Ruby Testing / ImageMagick tests (3.3) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.3) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.3, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
This commit is contained in:
parent
7cf53dbf63
commit
49a6e4cbb5
|
@ -256,62 +256,60 @@ class ComposeForm extends ImmutablePureComponent {
|
||||||
<Warning />
|
<Warning />
|
||||||
|
|
||||||
<div className={classNames('compose-form__highlightable', { active: highlighted })} ref={this.setRef}>
|
<div className={classNames('compose-form__highlightable', { active: highlighted })} ref={this.setRef}>
|
||||||
<div className='compose-form__scrollable'>
|
<EditIndicator />
|
||||||
<EditIndicator />
|
|
||||||
|
|
||||||
{this.props.spoiler && (
|
{this.props.spoiler && (
|
||||||
<div className='spoiler-input'>
|
<div className='spoiler-input'>
|
||||||
<div className='spoiler-input__border' />
|
<div className='spoiler-input__border' />
|
||||||
|
|
||||||
<AutosuggestInput
|
<AutosuggestInput
|
||||||
placeholder={intl.formatMessage(messages.spoiler_placeholder)}
|
placeholder={intl.formatMessage(messages.spoiler_placeholder)}
|
||||||
value={this.props.spoilerText}
|
value={this.props.spoilerText}
|
||||||
disabled={isSubmitting}
|
disabled={isSubmitting}
|
||||||
onChange={this.handleChangeSpoilerText}
|
onChange={this.handleChangeSpoilerText}
|
||||||
onKeyDown={this.handleKeyDownSpoiler}
|
onKeyDown={this.handleKeyDownSpoiler}
|
||||||
ref={this.setSpoilerText}
|
ref={this.setSpoilerText}
|
||||||
suggestions={this.props.suggestions}
|
suggestions={this.props.suggestions}
|
||||||
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
||||||
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
||||||
onSuggestionSelected={this.onSpoilerSuggestionSelected}
|
onSuggestionSelected={this.onSpoilerSuggestionSelected}
|
||||||
searchTokens={[':']}
|
searchTokens={[':']}
|
||||||
id='cw-spoiler-input'
|
id='cw-spoiler-input'
|
||||||
className='spoiler-input__input'
|
className='spoiler-input__input'
|
||||||
lang={this.props.lang}
|
lang={this.props.lang}
|
||||||
spellCheck
|
spellCheck
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<div className='spoiler-input__border' />
|
<div className='spoiler-input__border' />
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<AutosuggestTextarea
|
<div className='compose-form__dropdowns'>
|
||||||
ref={this.textareaRef}
|
<PrivacyDropdownContainer disabled={this.props.isEditing} />
|
||||||
placeholder={intl.formatMessage(messages.placeholder)}
|
<LanguageDropdown />
|
||||||
disabled={isSubmitting}
|
|
||||||
value={this.props.text}
|
|
||||||
onChange={this.handleChange}
|
|
||||||
suggestions={this.props.suggestions}
|
|
||||||
onFocus={this.handleFocus}
|
|
||||||
onKeyDown={this.handleKeyDownPost}
|
|
||||||
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
|
||||||
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
|
||||||
onSuggestionSelected={this.onSuggestionSelected}
|
|
||||||
onPaste={onPaste}
|
|
||||||
autoFocus={autoFocus}
|
|
||||||
lang={this.props.lang}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<AutosuggestTextarea
|
||||||
|
ref={this.textareaRef}
|
||||||
|
placeholder={intl.formatMessage(messages.placeholder)}
|
||||||
|
disabled={isSubmitting}
|
||||||
|
value={this.props.text}
|
||||||
|
onChange={this.handleChange}
|
||||||
|
suggestions={this.props.suggestions}
|
||||||
|
onFocus={this.handleFocus}
|
||||||
|
onKeyDown={this.handleKeyDownPost}
|
||||||
|
onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
|
||||||
|
onSuggestionsClearRequested={this.onSuggestionsClearRequested}
|
||||||
|
onSuggestionSelected={this.onSuggestionSelected}
|
||||||
|
onPaste={onPaste}
|
||||||
|
autoFocus={autoFocus}
|
||||||
|
lang={this.props.lang}
|
||||||
|
/>
|
||||||
|
|
||||||
<UploadForm />
|
<UploadForm />
|
||||||
<PollForm />
|
<PollForm />
|
||||||
|
|
||||||
<div className='compose-form__footer'>
|
<div className='compose-form__footer'>
|
||||||
<div className='compose-form__dropdowns'>
|
|
||||||
<PrivacyDropdownContainer disabled={this.props.isEditing} />
|
|
||||||
<LanguageDropdown />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className='compose-form__actions'>
|
<div className='compose-form__actions'>
|
||||||
<div className='compose-form__buttons'>
|
<div className='compose-form__buttons'>
|
||||||
<UploadButtonContainer />
|
<UploadButtonContainer />
|
||||||
|
|
|
@ -396,7 +396,7 @@ export const LanguageDropdown: React.FC = () => {
|
||||||
warning: guess !== '' && guess !== value,
|
warning: guess !== '' && guess !== value,
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<Icon id='' icon={TranslateIcon} />
|
<Icon id='translate' icon={TranslateIcon} />
|
||||||
<span className='dropdown-button__label'>{current[2] ?? value}</span>
|
<span className='dropdown-button__label'>{current[2] ?? value}</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
|
|
@ -602,15 +602,12 @@ body > [data-popper-placement] {
|
||||||
&__highlightable {
|
&__highlightable {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 16px;
|
|
||||||
flex: 0 1 auto;
|
flex: 0 1 auto;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid var(--background-border-color);
|
border: 1px solid var(--background-border-color);
|
||||||
transition: border-color 300ms linear;
|
transition: border-color 300ms linear;
|
||||||
min-height: 0;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
background: var(--input-background-color);
|
background: var(--input-background-color);
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
transition: none;
|
transition: none;
|
||||||
|
@ -705,6 +702,8 @@ body > [data-popper-placement] {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
|
margin: 8px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
& > div {
|
& > div {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -715,6 +714,7 @@ body > [data-popper-placement] {
|
||||||
&__uploads {
|
&__uploads {
|
||||||
padding: 0 12px;
|
padding: 0 12px;
|
||||||
aspect-ratio: 3/2;
|
aspect-ratio: 3/2;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.media-gallery {
|
.media-gallery {
|
||||||
|
@ -813,7 +813,6 @@ body > [data-popper-placement] {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
padding-top: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&__submit {
|
&__submit {
|
||||||
|
@ -874,6 +873,7 @@ body > [data-popper-placement] {
|
||||||
}
|
}
|
||||||
|
|
||||||
&__poll {
|
&__poll {
|
||||||
|
margin-top: 8px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-self: stretch;
|
align-self: stretch;
|
||||||
|
@ -3518,11 +3518,10 @@ a.account__display-name {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
height: calc(100% - 10px);
|
height: calc(100% - 10px);
|
||||||
overflow-y: hidden;
|
overflow-y: auto;
|
||||||
|
|
||||||
.compose-form {
|
.compose-form {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
min-height: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user