Skip to content

Commit 73c0312

Browse files
authored
Merge pull request #2392 from tf/commenting-preview-loading
Support loading commenting frontend
2 parents c382b19 + e1897ac commit 73c0312

21 files changed

Lines changed: 288 additions & 32 deletions

File tree

entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,30 @@ class EntriesController < ActionController::Base
1515

1616
def show
1717
entry = get_published_entry_from_env
18+
mode = get_entry_mode_from_env
1819

1920
I18n.locale = entry.locale
2021

2122
render(
2223
locals: {
2324
entry:,
24-
entry_mode: get_entry_mode_from_env,
25-
seed_options: {
26-
embed: get_embed_from_env,
27-
origin_url: request.original_url
28-
}
25+
entry_mode: mode,
26+
seed_options: seed_options(entry, mode)
2927
}
3028
)
3129
end
30+
31+
private
32+
33+
def seed_options(entry, mode)
34+
options = {
35+
embed: get_embed_from_env,
36+
origin_url: request.original_url
37+
}
38+
39+
options[:load_commenting] = true if mode == :preview && entry.feature_state('commenting')
40+
41+
options
42+
end
3243
end
3344
end

entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def scrolled_editor_iframe_seed_html_script_tag(entry)
2525
skip_collections: true,
2626
include_unused_additional_seed_data: true,
2727
include_theme_translations: true,
28-
translations: {include_inline_editing: true}
28+
load_inline_editing: true
2929
}
3030
})
3131

entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
11
module PageflowScrolled
22
# @api private
33
module I18nHelper
4-
def scrolled_i18n_translations(entry, include_inline_editing: false)
4+
def scrolled_i18n_translations(entry,
5+
include_inline_editing: false,
6+
include_review: false)
57
result = scrolled_i18n_public_translations(entry)
68

7-
return result unless include_inline_editing
9+
if include_inline_editing
10+
result = result.deep_merge(I18n.locale.to_s => {
11+
pageflow_scrolled: {
12+
inline_editing: I18n.t('pageflow_scrolled.inline_editing')
13+
}
14+
})
15+
end
816

9-
result.deep_merge(I18n.locale.to_s => {
10-
pageflow_scrolled: {
11-
inline_editing: I18n.t('pageflow_scrolled.inline_editing')
12-
}
13-
})
17+
if include_review
18+
result = result.deep_merge(I18n.locale.to_s => {
19+
pageflow_scrolled: {
20+
review: I18n.t('pageflow_scrolled.review')
21+
}
22+
})
23+
end
24+
25+
result
1426
end
1527

1628
private

entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@ def scrolled_frontend_javascript_packs_tag(entry, options)
88
)
99
end
1010

11-
def scrolled_frontend_stylesheet_packs_tag(entry, options)
11+
def scrolled_frontend_stylesheet_packs_tag(entry, **)
1212
stylesheet_pack_tag(
13-
*scrolled_frontend_stylesheet_packs(entry, **options),
13+
*scrolled_frontend_stylesheet_packs(entry, **),
1414
media: 'all'
1515
)
1616
end
1717

18-
def scrolled_frontend_stylesheet_packs(entry, entry_mode:)
18+
def scrolled_frontend_stylesheet_packs(entry, entry_mode:, seed_options: {})
1919
packs = scrolled_frontend_packs(entry, entry_mode: entry_mode)
20-
packs += ['pageflow-scrolled-frontend-inlineEditing'] if entry_mode == :editor
20+
packs += ['pageflow-scrolled-frontend-inlineEditing'] if seed_options[:load_inline_editing]
21+
packs += ['pageflow-scrolled-frontend-commenting'] if seed_options[:load_commenting]
2122
packs
2223
end
2324

entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<%= scrolled_favicons_for_entry(entry, entry_mode: entry_mode) %>
1717

1818
<%= javascript_include_tag 'pageflow_scrolled/legacy' %>
19-
<%= scrolled_frontend_stylesheet_packs_tag(entry, entry_mode: entry_mode) %>
19+
<%= scrolled_frontend_stylesheet_packs_tag(entry, entry_mode: entry_mode, seed_options: seed_options) %>
2020

2121
<%= scrolled_theme_properties_style_tag(entry.theme) %>
2222
<%= scrolled_theme_stylesheet_pack_tags(entry.theme) %>
@@ -35,7 +35,7 @@
3535
</script>
3636
<% end %>
3737

38-
<% ssr_html = local_assigns[:skip_ssr] ? '' : render_scrolled_entry(entry, local_assigns[:seed_options] || {}) %>
38+
<% ssr_html = local_assigns[:skip_ssr] ? '' : render_scrolled_entry(entry, seed_options) %>
3939

4040
</head>
4141
<body>
@@ -53,7 +53,7 @@
5353
<%= scrolled_webpack_public_path_script_tag %>
5454
<%= scrolled_frontend_javascript_packs_tag(entry, entry_mode: entry_mode) %>
5555

56-
<%= scrolled_entry_json_seed_script_tag(entry, local_assigns[:seed_options] || {}) %>
56+
<%= scrolled_entry_json_seed_script_tag(entry, seed_options) %>
5757
</body>
5858
<% end %>
5959
<% end %>

entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,19 @@ json.config do
5353
json.cut_off entry.cutoff_mode_enabled_for?(request)
5454
json.embed options.fetch(:embed, false)
5555
json.origin_url options[:origin_url] if options[:origin_url]
56+
json.load_inline_editing true if options[:load_inline_editing]
57+
json.load_commenting true if options[:load_commenting]
5658
end
5759

5860
unless options[:skip_i18n]
5961
json.i18n do
6062
json.default_locale I18n.default_locale
6163
json.locale I18n.locale
62-
json.translations scrolled_i18n_translations(entry,
63-
**options.fetch(:translations, {}))
64+
json.translations scrolled_i18n_translations(
65+
entry,
66+
include_inline_editing: !!options[:load_inline_editing],
67+
include_review: !!options[:load_commenting]
68+
)
6469
end
6570
end
6671

entry_types/scrolled/config/locales/de.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
de:
22
pageflow:
3+
commenting:
4+
feature_name: Kommentare
35
datawrapper_chart_embed_opt_in:
46
feature_name: Opt-in für Datawrapper Embeds
57
image_srcset:
@@ -1909,3 +1911,5 @@ de:
19091911
content_element_margin_top: Oberer Außenabstand
19101912
content_element_margin_bottom: Unterer Außenabstand
19111913
expose_motif_area: Motiv freilegen
1914+
review:
1915+
toolbar_label: Kommentare

entry_types/scrolled/config/locales/en.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
en:
22
pageflow:
3+
commenting:
4+
feature_name: Comments
35
datawrapper_chart_embed_opt_in:
46
feature_name: Opt-in for Datawrapper embeds
57
image_srcset:
@@ -1738,3 +1740,5 @@ en:
17381740
content_element_margin_top: Top margin
17391741
content_element_margin_bottom: Bottom margin
17401742
expose_motif_area: Expose motif
1743+
review:
1744+
toolbar_label: Comments

entry_types/scrolled/lib/pageflow_scrolled/plugin.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ def configure(config)
213213
c.features.register('custom_palette_colors')
214214
c.features.register('decoration_effects')
215215
c.features.register('backdrop_size')
216+
c.features.register('commenting')
216217
c.features.register('image_srcset')
217218
c.features.enable_by_default('image_srcset')
218219

entry_types/scrolled/package/config/webpack.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ module.exports = {
8181
},
8282
'pageflow-scrolled-frontend-inlineEditing': {
8383
import: ['pageflow-scrolled/frontend/inlineEditing.css']
84+
},
85+
'pageflow-scrolled-frontend-commenting': {
86+
import: ['pageflow-scrolled/frontend/commenting.css']
8487
}
8588
}
8689
};

0 commit comments

Comments
 (0)