diff --git a/bookwyrm/static/js/status_cache.js b/bookwyrm/static/js/status_cache.js index e8cda295..1554bf11 100644 --- a/bookwyrm/static/js/status_cache.js +++ b/bookwyrm/static/js/status_cache.js @@ -127,12 +127,25 @@ let StatusCache = new class { button.querySelectorAll("[data-shelf-dropdown-identifier] button") .forEach(item => item.disabled = false); + next_identifier = next_identifier == 'complete' ? 'read' : next_identifier; // disable the current state button.querySelector("[data-shelf-dropdown-identifier=" + identifier + "] button").disabled = true; - // hide the option that's shown as the main button + let main_button = button.querySelector("[data-shelf-dropdown-identifier=" + next_identifier + "]"); + + // hide the option that's shown as the main button BookWyrm.addRemoveClass(main_button, "is-hidden", true); + // just hide the other two menu options, idk what to do with them + button.querySelectorAll("[data-extra-options]") + .forEach(item => BookWyrm.addRemoveClass(item, "is-hidden", true)); + + // close menu + let menu = button.querySelector(".dropdown-trigger[aria-expanded=true]"); + + if (menu) { + menu.click(); + } } }(); diff --git a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html index 2162a596..32319f86 100644 --- a/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html +++ b/bookwyrm/templates/snippets/shelve_button/shelve_button_dropdown_options.html @@ -45,27 +45,24 @@ {% endfor %} +{% if readthrough and active_shelf.shelf.identifier != 'read' %} +