1
0
Fork 1
forked from fedi/mastodon

Merge remote-tracking branch 'origin' into HEAD

This commit is contained in:
talon 2022-05-04 19:53:18 -06:00
commit 97e7c666ea
10 changed files with 458 additions and 4 deletions

1
.gitignore vendored
View file

@ -66,3 +66,4 @@ yarn-debug.log
# Ignore Docker option files
docker-compose.override.yml
.yarn/*

1
.yarnrc.yml Normal file
View file

@ -0,0 +1 @@
nodeLinker: node-modules

View file

@ -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'>

View 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;
}

View file

@ -0,0 +1,57 @@
$black: #333333;
$white: #F4F4F4;
$success-green: #19A974 !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: #19A974;
$classic-secondary-color: #19A974;
$classic-highlight-color: #19A974;
// 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;

View file

@ -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

View file

@ -1,3 +1,4 @@
default: styles/application.scss
contrast: styles/contrast.scss
mastodon-light: styles/mastodon-light.scss
eat-the-rich: styles/etr.scss

63
dist/mastodon.Caddyfile vendored Normal file
View file

@ -0,0 +1,63 @@
eattherich.club {
import fuck-google
@local {
file
not path /
}
@local_media {
path_regexp /system/(.*)
}
@streaming {
path /api/v1/streaming/*
}
@cache_control {
path_regexp ^/(emoji|packs|/system/accounts/avatars|/system/media_attachments/files)
}
root * /home/mastodon/live/public
log {
output file /var/log/caddy/mastodon.log
}
encode zstd gzip
handle_errors {
rewrite 500.html
file_server
}
header {
Strict-Transport-Security "max-age=31536000"
}
header /sw.js Cache-Control "public, max-age=0"
header @cache_control Cache-Control "public, max-age=31536000, immutable"
handle @local {
file_server
}
## If you've been migrated media from local to object storage, this navigate old URL to new one.
# redir @local_media https://yourobjectstorage.example.com/{http.regexp.1} permanent
reverse_proxy @streaming {
to http://localhost:4000
transport http {
keepalive 5s
keepalive_idle_conns 10
}
}
reverse_proxy {
to http://localhost:3000
header_up X-Forwarded-Port 443
header_up X-Forwarded-Proto https
transport http {
keepalive 5s
keepalive_idle_conns 10
}
}
}

View file

@ -91,7 +91,7 @@
"cssnano": "^4.1.11",
"detect-passive-events": "^2.0.3",
"dotenv": "^16.0.0",
"emoji-mart": "npm:emoji-mart-lazyload",
"emoji-mart": "npm:emoji-mart-lazyload@latest",
"es6-symbol": "^3.1.3",
"escape-html": "^1.0.3",
"exif-js": "^2.3.0",

View file

@ -0,0 +1,231 @@
From f1d5395462dd7271503c7edfa11018f5c0aa2983 Mon Sep 17 00:00:00 2001
From: "mastodon@eattherich.club" <mastodon@eattherich.club>
Date: Thu, 7 Apr 2022 14:12:58 +0000
Subject: [PATCH] theme and character limit
---
.../compose/components/compose_form.js | 4 +-
app/javascript/styles/etr.scss | 100 ++++++++++++++++++
app/javascript/styles/etr/variables.scss | 57 ++++++++++
app/validators/status_length_validator.rb | 2 +-
config/themes.yml | 1 +
5 files changed, 161 insertions(+), 3 deletions(-)
create mode 100644 app/javascript/styles/etr.scss
create mode 100644 app/javascript/styles/etr/variables.scss
diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js
index d7635da40..14027a927 100644
--- a/app/javascript/mastodon/features/compose/components/compose_form.js
+++ b/app/javascript/mastodon/features/compose/components/compose_form.js
@@ -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'>
diff --git a/app/javascript/styles/etr.scss b/app/javascript/styles/etr.scss
new file mode 100644
index 000000000..1075a4884
--- /dev/null
+++ b/app/javascript/styles/etr.scss
@@ -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;
+}
diff --git a/app/javascript/styles/etr/variables.scss b/app/javascript/styles/etr/variables.scss
new file mode 100644
index 000000000..8e4e8d00f
--- /dev/null
+++ b/app/javascript/styles/etr/variables.scss
@@ -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;
diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb
index e107912b7..a3cbe5123 100644
--- a/app/validators/status_length_validator.rb
+++ b/app/validators/status_length_validator.rb
@@ -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
diff --git a/config/themes.yml b/config/themes.yml
index 9c21c9459..e63dc8cd5 100644
--- a/config/themes.yml
+++ b/config/themes.yml
@@ -1,3 +1,4 @@
default: styles/application.scss
contrast: styles/contrast.scss
mastodon-light: styles/mastodon-light.scss
+eat-the-rich: styles/etr.scss
--
2.35.1