From ac5fb845afd01de0bfe9c1bfe8245af8dedac9bb Mon Sep 17 00:00:00 2001 From: multiple creatures Date: Fri, 6 Dec 2019 12:08:38 -0600 Subject: use `self.draft` scope tag for draft posts & add draft header --- app/javascript/flavours/glitch/styles/monsterpit.scss | 8 ++++++++ app/lib/bangtags.rb | 4 +--- app/lib/formatter.rb | 4 ++++ app/models/status.rb | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/monsterpit.scss b/app/javascript/flavours/glitch/styles/monsterpit.scss index 6c9e30d47..1a53002b3 100644 --- a/app/javascript/flavours/glitch/styles/monsterpit.scss +++ b/app/javascript/flavours/glitch/styles/monsterpit.scss @@ -19,6 +19,10 @@ color: darken($secondary-text-color, 20%); } } + h1.draft { + color: lighten($dark-text-color, 20%); + text-align: center; + } span.cursor { color: lighten($dark-text-color, 20%); font-family: $font-monospace, monospace; @@ -38,6 +42,10 @@ color: darken($secondary-text-color, 50%); } } + h1.draft { + color: $dark-text-color; + text-align: center; + } } div.media-caption { diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb index e1fcc307d..1b27f712e 100644 --- a/app/lib/bangtags.rb +++ b/app/lib/bangtags.rb @@ -77,7 +77,7 @@ class Bangtags status.text.gsub!('#!!', "#\ufdd6!") status.text.split(/(#!(?:.*:!#|{.*?}|[^\s#]+))/).each do |chunk| - if @vore_stack.last == '_draft' || (@chunks.present? && @chunks.first.include?('#!draft')) + if @vore_stack.last == '_draft' || (@chunks.present? && status.draft?) chunk.gsub("#\ufdd6!", '#!') @chunks << chunk elsif chunk.starts_with?("#!") @@ -543,10 +543,8 @@ class Bangtags end when 'draft' chunk = nil - @chunks.insert(0, "[center]`#!draft!#`[/center]\n") unless @chunks.present? && @chunks.first.include?('#!draft') @status.visibility = :direct @status.local_only = true - @status.content_type = 'text/x-bbcode+markdown' @vore_stack.push('_draft') @component_stack.push(:var) add_tags(status, 'self.draft') diff --git a/app/lib/formatter.rb b/app/lib/formatter.rb index 31cfc8220..5a1572c05 100644 --- a/app/lib/formatter.rb +++ b/app/lib/formatter.rb @@ -240,6 +240,10 @@ class Formatter html = "#{html.strip}\n

— #{footer}

" end + if status.draft? + html = "

Draft

\n#{html}" + end + html = encode_custom_emojis(html, status.emojis, options[:autoplay]) if options[:custom_emojify] html.html_safe # rubocop:disable Rails/OutputSafety end diff --git a/app/models/status.rb b/app/models/status.rb index 60040b6cf..8fdfd0737 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -227,7 +227,7 @@ class Status < ApplicationRecord end def draft? - local? && text.present? && text.include?('#!draft') + local? && text.present? && self.tags.where(name: 'self.draft').exists? end def target -- cgit