volunteers/app/helpers/application_helper.rb

77 lines
1.9 KiB
Ruby
Raw Normal View History

2022-12-25 22:32:34 +01:00
require "redcarpet"
2022-11-21 11:10:04 +01:00
module ApplicationHelper
2023-01-11 19:52:58 +01:00
# different template according to the amount of text
def render_story(story)
return "" unless story
2023-01-22 12:17:27 +01:00
puts story.text.length
text_length = story.text.length
template = "text"
2023-01-22 12:17:27 +01:00
template = "half" if text_length < 500
template = "pic" if text_length < 300
render partial: "stories/#{template}" , locals: {story: story}
end
2023-01-11 19:52:58 +01:00
def prose_classes
classes = "prose lg:prose-lg "
classes += "prose-headings:text-inherit "
{ class: classes }
end
2022-12-25 22:32:34 +01:00
def renderer
options = {hard_wrap: true , autolink: true, no_intra_emphasis: true ,
safe_links_only: true, no_styles: true ,
link_attributes: { target: '_blank' }}
html = Redcarpet::Render::HTML.new(options)
Redcarpet::Markdown.new(html, options)
end
def markdown(text)
2023-01-03 18:38:04 +01:00
return "" if text.blank?
2022-12-25 22:32:34 +01:00
text = text.text unless text.is_a?(String)
return "" if text.blank?
self.renderer.render(text).html_safe
end
2022-12-25 22:32:34 +01:00
2023-01-12 13:34:00 +01:00
def shorten(text , to = 100)
return "" if text.blank?
"#{text[0..to]} . . . ".html_safe
end
def main_app
Rails.application.routes.url_helpers
end
2023-01-03 18:38:04 +01:00
2023-01-10 21:23:56 +01:00
def button_classes
"mr-3 inline-block rounded-lg px-3 py-2 text-md font-medium border border-gray-500"
end
2023-01-12 13:34:00 +01:00
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
2023-01-21 22:34:57 +01:00
def main_menu
2023-01-25 02:57:52 +01:00
[["/members" , "Volunteers"],["/stories" , "Stories"], ["/pictures" , "Gallery"],
["/volunteering" , "Volunteering"] ]
2023-01-21 22:34:57 +01:00
end
def member_memu
items =[["/forum" ,"Forum"] , [main_app.member_path(current_member) , "Settings"]]
2023-01-23 14:06:10 +01:00
if !Rails.env.production?
2023-01-21 22:34:57 +01:00
items << [merged.pages_path(), "CMS" ]
end
items
end
def mobile_menu
if current_member
member_memu
else
[main_app.member_session_path, "Login"]
end
end
2022-11-21 11:10:04 +01:00
end