Skip to content

Commit ad0647e

Browse files
committed
Add Turbo Frame support for agreement modal rendering
1 parent 1f30805 commit ad0647e

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

app/controllers/better_together/agreements_controller.rb

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,14 @@ def show
1717
@layout = @page.layout if @page.layout.present?
1818
end
1919

20-
return unless turbo_frame_request?
21-
22-
content = render_to_string(action: :show, layout: false)
23-
render html: view_context.turbo_frame_tag('agreement_modal_frame', content)
20+
# Check if this is a Turbo Frame request
21+
if request.headers['Turbo-Frame'].present?
22+
Rails.logger.debug "Rendering turbo frame response"
23+
render partial: 'modal_content', layout: false
24+
else
25+
Rails.logger.debug "Rendering normal response"
26+
# Normal full-page rendering continues with the view
27+
end
2428
end
2529

2630
protected
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<turbo-frame id="agreement_modal_frame">
2+
<% if @page.present? %>
3+
<%= render template: 'better_together/pages/show' %>
4+
<% else %>
5+
<div class="card">
6+
<div class="card-header">
7+
<h1><%= @agreement.title %></h1>
8+
</div>
9+
<div class="card-body">
10+
<p class="card-text"><strong>Description:</strong> <%= @agreement.description %></p>
11+
<p class="card-text"><strong>Creator:</strong> <%= @agreement.creator %></p>
12+
<p class="card-text"><strong>Privacy:</strong> <%= privacy_display_value(@agreement) %></p>
13+
14+
<hr>
15+
<h2 class="h5 mb-3"><%= t('better_together.agreements.terms', default: 'Terms') %></h2>
16+
<%= render partial: 'better_together/agreement_terms/terms_list', locals: { agreement: @agreement } %>
17+
</div>
18+
</div>
19+
<% end %>
20+
</turbo-frame>

0 commit comments

Comments
 (0)