Implement standard WordPress plugin loading spinner

This commit is contained in:
Marcus Quinn
2025-03-16 18:48:00 +00:00
parent 7b9c0fbfe9
commit a28f3ed267
2 changed files with 52 additions and 12 deletions

View File

@ -627,7 +627,7 @@ function wp_allstars_settings_page() {
if ($("#wpa-plugin-list").length && $("#wpa-plugin-list").is(":empty")) {
var category = "' . esc_js($active_category) . '";
var $container = $("#wpa-plugin-list");
var $loadingOverlay = $("<div class=\"wp-allstars-loading-overlay\"><span class=\"spinner is-active\"></span></div>");
var $loadingOverlay = $("<div class=\"wp-allstars-loading-overlay\"><span class=\"spinner is-active\"></span><p>Loading plugins...</p></div>");
// Show loading overlay
$container.css("position", "relative").append($loadingOverlay);
@ -649,6 +649,14 @@ function wp_allstars_settings_page() {
if (typeof initPluginActions === "function") {
initPluginActions();
}
// Show standard WordPress spinner in each plugin card
$(".plugin-card .plugin-spinner").addClass("is-active").show();
// Hide spinners after all plugin details have loaded
setTimeout(function() {
$(".plugin-card .plugin-spinner").removeClass("is-active").hide();
}, 1000);
} else {
$container.html("<div class=\"notice notice-error\"><p>" + response.data + "</p></div>");
}