From 4089ba01e0881c89a72332e13bc3a80b6bddec2a Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 29 Jun 2026 22:15:55 +0000
Subject: [PATCH] =DashboardManager overhaul. A bit easier to modify the output of pages. Still have to get the account pages to work as expected, as well as verify the integrations and others are working - but registrar/content pages work as expected. Also fixed up the table generation in CRUD.js and CRUDSkeleton.php

---
 inc/managers/LoginManager.php |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/inc/managers/LoginManager.php b/inc/managers/LoginManager.php
index 68db551..e971e6c 100644
--- a/inc/managers/LoginManager.php
+++ b/inc/managers/LoginManager.php
@@ -43,7 +43,7 @@
 		$this->cache = Cache::for('login');
 		$this->cache->flush();
 		// Initialize magic link support if enabled
-		if (Site::has('magicLink')) {
+		if (Site::has('magic_link')) {
 			$this->initMagicLinkSupport();
 		}
 
@@ -65,8 +65,8 @@
 		add_filter( 'logout_url', [$this, 'logoutUrl'], 10, 2 );
 		// Allow other features to register handlers
 		do_action('jvbLoginManagerInit', $this);
-		add_action('user_register', array($this, 'saveRegistrationFields'), 999, 2);
-		add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 10, 1);
+		add_action('user_register', [$this, 'saveRegistrationFields'], 50, 2);
+		add_filter('the_seo_framework_sitemap_exclude_ids', [$this, 'excludeLoginSitemap'], 8, 1);
 	}
 	public static function getInstance():self
 	{
@@ -75,7 +75,10 @@
 
 	public function excludeLoginSitemap(array $ids): array
 	{
-		$ids[] = $this->getLoginPage();
+		$loginPage = $this->getLoginPage();
+		if (!empty($loginPage)) {
+			$ids = array_merge($ids, [$loginPage]);
+		}
 		return $ids;
 	}
 	/**************************************************************************
@@ -140,7 +143,7 @@
 					'hint'	=> 'Have a referral code? Paste it here!'
 				];
 			}
-			$canRegister = Registrar::getFeatured('can_register', 'user');
+			$canRegister = Registrar::withFeature('can_register', 'user');
 			if (!empty($canRegister)) {
 				foreach ($canRegister as $role) {
 					$registrar = Registrar::getInstance($role);
@@ -354,7 +357,7 @@
 
 	protected function initMagicLinkSupport(): void
 	{
-		if (!Site::has('magicLink')) {
+		if (!Site::has('magic_link')) {
 			return;
 		}
 	}
@@ -453,6 +456,7 @@
 	protected function customStyles():void
 	{
 		$logo = get_theme_mod('custom_logo');
+		$small = $large = '';
 		if ($logo) {
 			$small = wp_get_attachment_image_src($logo, 'medium')[0]??'';
 			$large = wp_get_attachment_image_src($logo, 'large')[0]??'';
@@ -626,7 +630,7 @@
 		$redirect = !empty($redirect) ? $redirect : esc_attr($_GET['redirect_to'] ?? '');
 
 		return sprintf(
-			'<form name="%sform" method="post" data-action="jvb_%s">
+			'<form name="%sform" method="post" data-action="jvb_%s" data-save="auth/login">
 				%s%s%s
 				<input type="hidden" name="action" value="jvb_%s">
 				<input type="hidden" name="redirect_to" value="%s">
@@ -652,7 +656,7 @@
 			$additionalInputs,
 			$fields,
 			$turnstile,
-			$this->labels['submit'],
+			$this->labels['submit']??'Login',
 			$magicLink
 		);
 	}
@@ -873,6 +877,7 @@
 
     $this->maybeTurnstileScripts();
     wp_enqueue_script('jvb-form');
+	wp_enqueue_script('jvb-login');
     $action = $this->getAction();
 
     $redirect_to = isset($_GET['redirect_to']) ? esc_url_raw($_GET['redirect_to']) : '';

--
Gitblit v1.10.0