forked from fedi/mastodon
theme and character limit
This commit is contained in:
parent
ed5491e5de
commit
f1d5395462
|
@ -89,7 +89,7 @@ class ComposeForm extends ImmutablePureComponent {
|
|||
const fulltext = this.getFulltextForCharacterCounting();
|
||||
const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0;
|
||||
|
||||
return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia));
|
||||
return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 5000 || (isOnlyWhitespace && !anyMedia));
|
||||
}
|
||||
|
||||
handleSubmit = () => {
|
||||
|
@ -267,7 +267,7 @@ class ComposeForm extends ImmutablePureComponent {
|
|||
<PrivacyDropdownContainer disabled={this.props.isEditing} />
|
||||
<SpoilerButtonContainer />
|
||||
</div>
|
||||
<div className='character-counter__wrapper'><CharacterCounter max={500} text={this.getFulltextForCharacterCounting()} /></div>
|
||||
<div className='character-counter__wrapper'><CharacterCounter max={5000} text={this.getFulltextForCharacterCounting()} /></div>
|
||||
</div>
|
||||
|
||||
<div className='compose-form__publish'>
|
||||
|
|
100
app/javascript/styles/etr.scss
Normal file
100
app/javascript/styles/etr.scss
Normal file
|
@ -0,0 +1,100 @@
|
|||
@import 'mastodon/mixins';
|
||||
@import 'etr/variables';
|
||||
@import 'fonts/roboto';
|
||||
@import 'fonts/roboto-mono';
|
||||
@import 'fonts/montserrat';
|
||||
|
||||
@import 'mastodon/reset';
|
||||
@import 'mastodon/basics';
|
||||
@import 'mastodon/containers';
|
||||
@import 'mastodon/lists';
|
||||
@import 'mastodon/footer';
|
||||
@import 'mastodon/compact_header';
|
||||
@import 'mastodon/widgets';
|
||||
@import 'mastodon/forms';
|
||||
@import 'mastodon/accounts';
|
||||
@import 'mastodon/statuses';
|
||||
@import 'mastodon/boost';
|
||||
@import 'mastodon/components';
|
||||
@import 'mastodon/polls';
|
||||
@import 'mastodon/introduction';
|
||||
@import 'mastodon/modal';
|
||||
@import 'mastodon/emoji_picker';
|
||||
@import 'mastodon/about';
|
||||
@import 'mastodon/tables';
|
||||
@import 'mastodon/admin';
|
||||
@import 'mastodon/dashboard';
|
||||
@import 'mastodon/rtl';
|
||||
@import 'mastodon/accessibility';
|
||||
|
||||
.attachment-list.compact .fa,
|
||||
.attachment-list__list a,
|
||||
.reply-indicator__content a,
|
||||
.compose-form .compose-form__warning a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.compose-form .compose-form__warning a:hover {
|
||||
color: $white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.status__content a {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
|
||||
.status__content a.unhandled-link {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
|
||||
.icon-button.inverted {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.text-icon-button {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.emoji-mart-anchors {
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.emoji-mart-anchor-selected {
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.emoji-mart-anchor-selected:hover {
|
||||
color: $gold-star;
|
||||
}
|
||||
|
||||
.account__header__bio .account__header__fields a {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
|
||||
.public-layout .public-account-bio .account__header__fields a {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
|
||||
.account-role.admin {
|
||||
color: $success-green;
|
||||
background-color: rgba($success-green, 0.1);
|
||||
border-color: rgba($success-green, 0.5);
|
||||
}
|
||||
|
||||
.account-role.moderator {
|
||||
color: $gold-star;
|
||||
background-color: rgba($gold-star, 0.1);
|
||||
border-color: rgba($gold-star, 0.5);
|
||||
}
|
||||
|
||||
.confirmation-modal__cancel-button {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.dropdown-menu__item a:hover {
|
||||
color: $white;
|
||||
}
|
||||
|
||||
.button.logo-button {
|
||||
line-height: 35px;
|
||||
}
|
57
app/javascript/styles/etr/variables.scss
Normal file
57
app/javascript/styles/etr/variables.scss
Normal file
|
@ -0,0 +1,57 @@
|
|||
$black: #333333;
|
||||
$white: #F4F4F4;
|
||||
$success-green: #9EEBCF !default; // Padua
|
||||
$error-red: #FF725C !default;
|
||||
$warning-red: #FF725C !default;
|
||||
$gold-star: #FFB700 !default;
|
||||
|
||||
$red-bookmark: $warning-red;
|
||||
|
||||
// https://tachyons.io/docs/themes/skins/
|
||||
$classic-base-color: #333333;
|
||||
$classic-primary-color: #FF725C;
|
||||
$classic-secondary-color: #FF725C;
|
||||
$classic-highlight-color: #FF725C;
|
||||
|
||||
// Variables for defaults in UI
|
||||
$base-shadow-color: $black !default;
|
||||
$base-overlay-background: $black !default;
|
||||
$base-border-color: $white !default;
|
||||
$simple-background-color: $white !default;
|
||||
$valid-value-color: $success-green !default;
|
||||
$error-value-color: $error-red !default;
|
||||
|
||||
// Tell UI to use selected colors
|
||||
$ui-base-color: $classic-base-color !default; // Darkest
|
||||
$ui-base-lighter-color: lighten($ui-base-color, 26%) !default; // Lighter darkest
|
||||
$ui-primary-color: $classic-primary-color !default; // Lighter
|
||||
$ui-secondary-color: $classic-secondary-color !default; // Lightest
|
||||
$ui-highlight-color: $classic-highlight-color !default;
|
||||
|
||||
// Variables for texts
|
||||
$primary-text-color: $white !default;
|
||||
$darker-text-color: $ui-primary-color !default;
|
||||
$dark-text-color: $ui-base-lighter-color !default;
|
||||
$secondary-text-color: $ui-secondary-color !default;
|
||||
$highlight-text-color: $ui-highlight-color !default;
|
||||
$action-button-color: $ui-base-lighter-color !default;
|
||||
$passive-text-color: $gold-star !default;
|
||||
$active-passive-text-color: $success-green !default;
|
||||
// For texts on inverted backgrounds
|
||||
$inverted-text-color: $ui-base-color !default;
|
||||
$lighter-text-color: $ui-base-lighter-color !default;
|
||||
$light-text-color: $ui-primary-color !default;
|
||||
|
||||
// Language codes that uses CJK fonts
|
||||
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
|
||||
|
||||
// Variables for components
|
||||
$media-modal-media-max-width: 100%;
|
||||
// put margins on top and bottom of image to avoid the screen covered by image.
|
||||
$media-modal-media-max-height: 80%;
|
||||
|
||||
$no-gap-breakpoint: 415px;
|
||||
|
||||
$font-sans-serif: 'mastodon-font-sans-serif' !default;
|
||||
$font-display: 'mastodon-font-display' !default;
|
||||
$font-monospace: 'mastodon-font-monospace' !default;
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class StatusLengthValidator < ActiveModel::Validator
|
||||
MAX_CHARS = 500
|
||||
MAX_CHARS = 5000
|
||||
URL_PLACEHOLDER_CHARS = 23
|
||||
URL_PLACEHOLDER = 'x' * 23
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
default: styles/application.scss
|
||||
contrast: styles/contrast.scss
|
||||
mastodon-light: styles/mastodon-light.scss
|
||||
eat-the-rich: styles/etr.scss
|
||||
|
|
Loading…
Reference in a new issue