|
|
|
<%= render partial: "form/guidance/#{question.top_guidance_partial}", locals: { log: @log } if question.top_guidance? %>
|
|
|
|
<% banner = question.notification_banner(@log) %>
|
|
|
|
<% if banner %>
|
|
|
|
<%= govuk_notification_banner(
|
|
|
|
title_text: banner[:title],
|
|
|
|
title_heading_level: 3,
|
|
|
|
) do
|
|
|
|
simple_format(banner[:heading])
|
|
|
|
end %>
|
|
|
|
<% end %>
|
|
|
|
<% input_playback = question.input_playback(@log) %>
|
|
|
|
<% if input_playback %>
|
|
|
|
<p class="govuk-body"><%= input_playback %></p>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= f.govuk_radio_buttons_fieldset question.id.to_sym,
|
|
|
|
caption: caption(caption_text, page_header, conditional),
|
|
|
|
legend: legend(question, page_header, conditional),
|
|
|
|
hint: { text: question.hint_text&.html_safe } do %>
|
|
|
|
|
|
|
|
<% question.displayed_answer_options(@log, current_user).map do |key, options| %>
|
|
|
|
<% if key.starts_with?("divider") %>
|
|
|
|
<%= f.govuk_radio_divider %>
|
|
|
|
<% else %>
|
|
|
|
<% conditional_question = find_conditional_question(@page, question, key) %>
|
|
|
|
<% if conditional_question.nil? %>
|
|
|
|
<%= f.govuk_radio_button question.id,
|
|
|
|
key,
|
|
|
|
label: { text: options["value"] },
|
|
|
|
hint: { text: options["hint"] },
|
|
|
|
**stimulus_html_attributes(question) %>
|
|
|
|
<% else %>
|
|
|
|
<%= f.govuk_radio_button question.id,
|
|
|
|
key,
|
|
|
|
label: { text: options["value"] },
|
|
|
|
hint: { text: options["hint"] },
|
|
|
|
**stimulus_html_attributes(question) do %>
|
|
|
|
<%= render partial: "#{conditional_question.type}_question", locals: {
|
|
|
|
question: conditional_question,
|
|
|
|
caption_text:,
|
|
|
|
page_header:,
|
|
|
|
f:,
|
|
|
|
conditional: true,
|
|
|
|
} %>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<%= render partial: "form/guidance/#{question.bottom_guidance_partial}" if question.bottom_guidance? %>
|