diff --git a/app/javascript/src/javascripts/post_mode_menu.js b/app/javascript/src/javascripts/post_mode_menu.js index 3d2229408..c13944f17 100644 --- a/app/javascript/src/javascripts/post_mode_menu.js +++ b/app/javascript/src/javascripts/post_mode_menu.js @@ -101,6 +101,13 @@ PostModeMenu.initialize_tag_script_field = function () { const script = $(this).val(); LStorage.Posts.TagScript.Content = script; }); + + $("#tag-script-all").on("click", PostModeMenu.tag_script_apply_all); +}; + +PostModeMenu.tag_script_apply_all = function (event) { + event.preventDefault(); + $("article.post-preview").trigger("click"); }; PostModeMenu.update_sets_menu = function () { @@ -138,10 +145,11 @@ PostModeMenu.change = function () { $("#page").attr("data-mode-menu", s); LStorage.Posts.Mode = s; $("#set-id").hide(); - $("#tag-script-field").hide(); + $("#tag-script-ui").hide(); $("#quick-mode-reason").hide(); if (s === "tag-script") { + $("#tag-script-ui").show(); $("#tag-script-field").val(LStorage.Posts.TagScript.Content).show(); PostModeMenu.show_notice(LStorage.Posts.TagScript.ID); } else if (s === "add-to-set" || s === "remove-from-set") { diff --git a/app/javascript/src/styles/specific/post_mode_menu.scss b/app/javascript/src/styles/specific/post_mode_menu.scss index 9f34f320b..9a6121ddb 100644 --- a/app/javascript/src/styles/specific/post_mode_menu.scss +++ b/app/javascript/src/styles/specific/post_mode_menu.scss @@ -28,3 +28,12 @@ $modes: ( #page:not([data-mode-menu="view"]) article.post-preview img { pointer-events: none; } + +#tag-script-ui { + display: flex; + margin-top: 0.5em; + gap: 0.5em; + + input { flex: 1; } + button { padding: 0 0.25em; } +} \ No newline at end of file diff --git a/app/views/posts/partials/index/_mode_menu.html.erb b/app/views/posts/partials/index/_mode_menu.html.erb index febb8cf0d..6be5edbe8 100644 --- a/app/views/posts/partials/index/_mode_menu.html.erb +++ b/app/views/posts/partials/index/_mode_menu.html.erb @@ -31,7 +31,12 @@ <% if CurrentUser.is_privileged? %> - - + + <% end %>