From 7a9054bb3f033c98067b3196378311dae54c5fbf Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 20 Jan 2026 01:31:53 +0000
Subject: [PATCH] =OperationQueue refactor to the JVBase/managers/queue namespace

---
 inc/managers/_setup.php |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/inc/managers/_setup.php b/inc/managers/_setup.php
index 127238d..84cad06 100644
--- a/inc/managers/_setup.php
+++ b/inc/managers/_setup.php
@@ -1,22 +1,40 @@
 <?php
+
+use JVBase\managers\IconsManager;
 use JVBase\utility\Features;
 
+
+require(JVB_DIR . '/inc/managers/ScriptLoader.php');
 require(JVB_DIR . '/inc/managers/CacheManager.php');
-require(JVB_DIR . '/icons.php');
+require(JVB_DIR . '/inc/managers/IconsManager.php');
+add_action('init', 'jvbInitIconsManager', 1); // Priority 1 - very early
+function jvbInitIconsManager(): void
+{
+	// Initialize base sources (this registers hooks and includes defaults)
+	IconsManager::for('icons');
+	IconsManager::for('forms');
+
+	// Only initialize dash if feature is enabled
+	if (Features::forSite()->has('dashboard')) {
+		IconsManager::for('dash');
+	}
+}
 require(JVB_DIR . '/inc/managers/ErrorHandler.php');
-require(JVB_DIR . '/inc/managers/OperationQueue.php');
+require(JVB_DIR . '/inc/managers/queue/_setup.php');
+//require(JVB_DIR . '/inc/managers/OperationQueue.php');
 require(JVB_DIR . '/inc/managers/EmailManager.php');
-require(JVB_DIR . '/inc/managers/LoginManager.php');
 
 if (Features::forSite()->has('magicLink')) {
 	require(JVB_DIR . '/inc/managers/MagicLinkManager.php');
 }
+require(JVB_DIR . '/inc/managers/AjaxRateLimiter.php');
+require(JVB_DIR . '/inc/managers/LoginManager.php');
 
 
 //IF SITE HAS DASHBOARD AND FEED BLOCK
-if (Features::forSite()->hasAny(['dashboard', 'feed_block'])) {
+//if (Features::forSite()->hasAny(['dashboard', 'feed_block'])) {
 	require(JVB_DIR . '/inc/forms/TaxonomySelector.php');
-}
+//}
 
 //IF SITE HAS DASHBOARD
 if (Features::forSite()->has('dashboard')) {
@@ -43,10 +61,13 @@
 	require(JVB_DIR . '/inc/managers/NewsRelationships.php');
 }
 
-
-require(JVB_DIR . '/inc/managers/SchemaManager.php');
-require(JVB_DIR . '/inc/managers/SEOMetaManager.php');
-require(JVB_DIR . '/inc/managers/DirectoryManager.php');
+//
+//require(JVB_DIR . '/inc/managers/SchemaManager.php');
+//require(JVB_DIR . '/inc/managers/SEOMetaManager.php');
+require(JVB_DIR . '/inc/managers/SEO/_setup.php');
+if (Features::forSite()->has('is_directory')) {
+	require(JVB_DIR . '/inc/managers/DirectoryManager.php');
+}
 require(JVB_DIR . '/inc/managers/ImageGenerator.php');
 require(JVB_DIR . '/inc/managers/AdminPages.php');
 require(JVB_DIR . '/inc/managers/RoleManager.php');

--
Gitblit v1.10.0