From d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 31 May 2026 15:22:56 +0000
Subject: [PATCH] =jakevan complete

---
 inc/managers/SEO/SEOAdminPage.php |   44 ++++++++++++++++++++------------------------
 1 files changed, 20 insertions(+), 24 deletions(-)

diff --git a/inc/managers/SEO/SEOAdminPage.php b/inc/managers/SEO/SEOAdminPage.php
index 93dea24..ec1f850 100644
--- a/inc/managers/SEO/SEOAdminPage.php
+++ b/inc/managers/SEO/SEOAdminPage.php
@@ -2,7 +2,8 @@
 namespace JVBase\managers\SEO;
 
 use JVBase\managers\AdminPages;
-use JVBase\meta\MetaForm;
+use JVBase\meta\Form;
+use JVBase\registrar\Registrar;
 use JVBase\ui\Tabs;
 
 if (!defined('ABSPATH')) {
@@ -18,14 +19,11 @@
  */
 class SEOAdminPage
 {
-    private ConfigManager $config;
-    private SchemaBuilder $registry;
-    private MetaForm $form;
+//    private SchemaBuilder $registry;
 
     public function __construct()
     {
-        $this->registry = SchemaBuilder::getInstance();
-        $this->form = new MetaForm();
+//        $this->registry = SchemaBuilder::getInstance();
 
 
         // Add to JVB dashboard
@@ -148,8 +146,10 @@
 						echo '<div class="seo-'.$type.'">';
 					}
 					$fieldConfig = $this->registry->getFieldDefinition($fieldName);
-
-					$this->form->render($fieldName, $config[$fieldName]??'', $fieldConfig);
+					if (!$fieldConfig) {
+						continue;
+					}
+					echo Form::render($fieldName, $config[$fieldName]??'', $fieldConfig);
 					if ($index === 0 && $fieldName === 'type') {
 						echo '<div class="seo-'.$type.'">';
 					}
@@ -192,23 +192,16 @@
 	{
 		$types = ['meta', 'schema'];
 
-		switch ($type) {
-			case 'content':
-				$config = JVB_CONTENT;
-				$types[] = 'archive';
-				break;
-			case 'taxonomy':
-			case 'taxonomies':
-				$config = JVB_TAXONOMY;
-				break;
-			case 'user':
-				$config = JVB_USER;
-				break;
-			default:
-				error_log('[SEOAdminPage]:renderConfig --- no config found for '.$type);
-				return '';
+		if ($type == 'content') {
+			$types[] = 'archive';
 		}
 
+		$registrar = Registrar::getInstance($type);
+		if (!$registrar){
+			return '';
+		}
+		$config = $registrar->getConfig('seo');
+
 		$mainTabs = new Tabs();
 
 		foreach ($config as $c => $opt) {
@@ -269,7 +262,10 @@
 					$fields = $this->registry->getFieldsForType($type);
 					foreach ($fields as $fieldName) {
 						$config = $this->registry->getFieldDefinition($fieldName);
-						$this->form->render($fieldName, '', $config);
+						if (!$config) {
+							continue;
+						}
+						echo Form::render($fieldName, '', $config);
 					}
 					?>
 				</div>

--
Gitblit v1.10.0