bit of form cleanup

This commit is contained in:
Torsten 2023-01-12 14:34:00 +02:00
parent f74077ce6d
commit 621efd8a9c
3 changed files with 24 additions and 10 deletions

View File

@ -7,8 +7,8 @@ module ApplicationHelper
return "" unless story return "" unless story
text_length = story.text.length text_length = story.text.length
template = "text" template = "text"
template = "half" if text_length < 200 template = "half" if text_length < 400
template = "pic" if text_length < 100 template = "pic" if text_length < 200
render partial: "stories/#{template}" , locals: {story: story} render partial: "stories/#{template}" , locals: {story: story}
end end
@ -33,6 +33,10 @@ module ApplicationHelper
self.renderer.render(text).html_safe self.renderer.render(text).html_safe
end end
def shorten(text , to = 100)
return "" if text.blank?
"#{text[0..to]} . . . ".html_safe
end
def main_app def main_app
Rails.application.routes.url_helpers Rails.application.routes.url_helpers
end end
@ -41,4 +45,13 @@ module ApplicationHelper
"mr-3 inline-block rounded-lg px-3 py-2 text-md font-medium border border-gray-500" "mr-3 inline-block rounded-lg px-3 py-2 text-md font-medium border border-gray-500"
end end
def rows( text )
return 5 if text.blank?
text = text.text unless text.is_a?(String)
return 5 if text.blank?
rows = (text.length / 60).to_i
return 5 if rows < 5
rows
end
end end

View File

@ -10,11 +10,12 @@
- @story.errors.full_messages.each do |message| - @story.errors.full_messages.each do |message|
%li= message %li= message
= f.input :picture , as: :file = f.input :picture , as: :file , label: (@story.picture.blank? ? "Add picture" : "Change picture")
= f.input :header = f.input :header
= f.input :text = f.input :text , input_html: {rows: rows(@story.text)}
= f.input :happened , class: "flex" .mt-4= f.input :happened , class: "flex"
%button.mt-6.bg-cyan-200.mr-3.inline-block.rounded-lg.px-4.py-3.text-md.font-medium.border.border-gray-400
= f.submit 'Save' = f.submit 'Save'
= link_to 'Show', @story %button.ml-20.mr-3.inline-block.rounded-lg.px-4.py-3.text-md.font-medium.border.border-gray-400
= link_to 'Back', stories_path = link_to 'Back', @story
%div %div

View File

@ -14,7 +14,7 @@ SimpleForm.setup do |config|
# stack. The options given below are used to wrap the # stack. The options given below are used to wrap the
# whole input. # whole input.
config.wrappers :default, tag: 'div', class: '', error_class: '', valid_class: '' do |b| config.wrappers :default, tag: 'div', class: 'mt-2', error_class: '', valid_class: '' do |b|
b.use :html5 b.use :html5
b.use :placeholder b.use :placeholder
b.optional :maxlength b.optional :maxlength
@ -42,7 +42,7 @@ SimpleForm.setup do |config|
b.use :label, class: "block text-sm font-medium text-gray-700" b.use :label, class: "block text-sm font-medium text-gray-700"
b.wrapper tag: 'div', class: 'mt-1 flex rounded-md shadow-sm' do |d| b.wrapper tag: 'div', class: 'mt-4 flex rounded-md shadow-sm' do |d|
d.use :prepend d.use :prepend
d.use :input, d.use :input,
class: "flex-1 min-w-0 block w-full px-3 py-2 rounded-none rounded-r-md focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300", class: "flex-1 min-w-0 block w-full px-3 py-2 rounded-none rounded-r-md focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm border-gray-300",