class ContentBlockTools::Presenters::BlockPresenters::Contact::TelephonePresenter

def bsl_details

def bsl_details
  bsl_guidance = item[:bsl_guidance] || {}
  render_govspeak(bsl_guidance[:value], root_class: "govuk-!-margin-bottom-0") if bsl_guidance[:show]
end

def call_charges_link

def call_charges_link
  call_charges = item[:call_charges] || {}
  if call_charges[:show_call_charges_info_url]
    content_tag(:p) do
      concat content_tag(:a,
                         call_charges[:label],
                         class: "govuk-link",
                         href: call_charges[:call_charges_info_url])
    end
  end
end

def description

def description
  render_govspeak(item[:description], root_class: "govuk-!-margin-top-1 govuk-!-margin-bottom-0")
end

def item_title

def item_title
  content_tag(:p, item[:title], { class: "govuk-!-margin-bottom-0" })
end

def number_list

def number_list
  content_tag(:ul) do
    item[:telephone_numbers].each do |number|
      concat number_list_item(number)
    end
  end
end

def number_list_item(number)

def number_list_item(number)
  content_tag(:li) do
    concat content_tag(:span, number[:label])
    concat content_tag(:span, number[:telephone_number], { class: "tel" })
  end
end

def opening_hours_list

def opening_hours_list
  content_tag(:ul) do
    item[:opening_hours].each do |item|
      concat opening_hours_list_item(item)
    end
  end
end

def opening_hours_list_item(item)

def opening_hours_list_item(item)
  content_tag(:li, "#{item[:day_from]} to #{item[:day_to]}, #{item[:time_from]} to #{item[:time_to]}")
end

def render

def render
  wrapper do
    content_tag(:div, class: "email-url-number") do
      concat title_and_description
      concat number_list
      concat video_relay_service
      concat bsl_details
      concat opening_hours_list if item[:opening_hours].present?
      concat call_charges_link
    end
  end
end

def title_and_description

def title_and_description
  items = [
    (item_title if item[:title].present?),
    (description if item[:description].present?),
  ].compact
  if items.any?
    content_tag(:div, class: "govuk-!-margin-bottom-3") do
      concat items.join("").html_safe
    end
  end
end

def video_relay_service

def video_relay_service
  video_relay_service = item[:video_relay_service] || {}
  if video_relay_service[:show]
    content = "#{video_relay_service[:prefix]} #{video_relay_service[:telephone_number]}"
    render_govspeak(content, root_class: "govuk-!-margin-bottom-0")
  end
end