Browse Source

Merge branch 'feature_longer_bios' into cybrespace-3.3

cybrespace-3.3
kɜ:ʳ cybredragon 2 years ago
parent
commit
16c31821d2
  1. 19
      app/javascript/packs/public.js
  2. 8
      app/models/account.rb

19
app/javascript/packs/public.js

@ -148,7 +148,6 @@ function main() { @@ -148,7 +148,6 @@ function main() {
delegate(document, '.custom-emoji', 'mouseover', getEmojiAnimationHandler('data-original'));
delegate(document, '.custom-emoji', 'mouseout', getEmojiAnimationHandler('data-static'));
<<<<<<< HEAD
delegate(document, '.status__content__spoiler-link', 'click', function() {
const statusEl = this.parentNode.parentNode;
@ -168,26 +167,12 @@ function main() { @@ -168,26 +167,12 @@ function main() {
const message = (statusEl.dataset.spoiler === 'expanded') ? (messages['status.show_less'] || 'Show less') : (messages['status.show_more'] || 'Show more');
spoilerLink.textContent = (new IntlMessageFormat(message, locale)).format();
});
=======
if (document.body.classList.contains('with-modals')) {
const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
const scrollbarWidthStyle = document.createElement('style');
scrollbarWidthStyle.id = 'scrollbar-width';
document.head.appendChild(scrollbarWidthStyle);
scrollbarWidthStyle.sheet.insertRule(`body.with-modals--active { margin-right: ${scrollbarWidth}px; }`, 0);
}
[].forEach.call(document.querySelectorAll('[data-component="Card"]'), (content) => {
const props = JSON.parse(content.getAttribute('data-props'));
ReactDOM.render(<CardContainer locale={locale} {...props} />, content);
});
if (document.fonts && document.fonts.ready) {
document.fonts.ready.then(sizeBioText);
} else {
sizeBioText();
}
>>>>>>> Bio length -> 500 characters
});
delegate(document, '.webapp-btn', 'click', ({ target, button }) => {
@ -321,12 +306,12 @@ function main() { @@ -321,12 +306,12 @@ function main() {
delegate(document, '#account_note', 'input', sizeBioText);
function sizeBioText() {
function s500 izeBioText() {
const noteCounter = document.querySelector('.note-counter');
const bioTextArea = document.querySelector('#account_note');
if (noteCounter) {
noteCounter.textContent = 500 - length(bioTextArea.value);
noteCounter.textContent = 1024 - length(bioTextArea.value);
}
if (bioTextArea) {

8
app/models/account.rb

@ -88,8 +88,8 @@ class Account < ApplicationRecord @@ -88,8 +88,8 @@ class Account < ApplicationRecord
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? }
validates :display_name, length: { maximum: 30 }, if: -> { local? && will_save_change_to_display_name? }
validates :note, note_length: { maximum: 500 }, if: -> { local? && will_save_change_to_note? }
validate :note_has_eight_newlines?, if: -> { local? && will_save_change_to_note? }
validates :note, note_length: { maximum: 1024 }, if: -> { local? && will_save_change_to_note? }
validate :note_has_ten_newlines?, if: -> { local? && will_save_change_to_note? }
validates :fields, length: { maximum: 4 }, if: -> { local? && will_save_change_to_fields? }
scope :remote, -> { where.not(domain: nil) }
@ -384,8 +384,8 @@ class Account < ApplicationRecord @@ -384,8 +384,8 @@ class Account < ApplicationRecord
@synchronization_uri_prefix ||= uri[/http(s?):\/\/[^\/]+\//]
end
def note_has_eight_newlines?
errors.add(:note, 'Bio can\'t have more then 8 newlines') unless note.count("\n") <= 8
def note_has_ten_newlines?
errors.add(:note, 'Bio can\'t have more then 10 newlines') unless note.count("\n") <= 10
end
class Field < ActiveModelSerializers::Model

Loading…
Cancel
Save