From ba1e1ccf869b818f7a7a897264dfea05563a7796 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 07 Jun 2026 20:10:20 +0000
Subject: [PATCH] =Major overhaul of Integrations. Playing around with adding fields to post types through Registrar from an integrations' class file.

---
 inc/managers/SEO/SEOAdminPage.php |   36 +++++++++++++++++-------------------
 1 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/inc/managers/SEO/SEOAdminPage.php b/inc/managers/SEO/SEOAdminPage.php
index 633fbaf..ec1f850 100644
--- a/inc/managers/SEO/SEOAdminPage.php
+++ b/inc/managers/SEO/SEOAdminPage.php
@@ -3,6 +3,7 @@
 
 use JVBase\managers\AdminPages;
 use JVBase\meta\Form;
+use JVBase\registrar\Registrar;
 use JVBase\ui\Tabs;
 
 if (!defined('ABSPATH')) {
@@ -18,12 +19,11 @@
  */
 class SEOAdminPage
 {
-    private ConfigManager $config;
-    private SchemaBuilder $registry;
+//    private SchemaBuilder $registry;
 
     public function __construct()
     {
-        $this->registry = SchemaBuilder::getInstance();
+//        $this->registry = SchemaBuilder::getInstance();
 
 
         // Add to JVB dashboard
@@ -146,7 +146,9 @@
 						echo '<div class="seo-'.$type.'">';
 					}
 					$fieldConfig = $this->registry->getFieldDefinition($fieldName);
-
+					if (!$fieldConfig) {
+						continue;
+					}
 					echo Form::render($fieldName, $config[$fieldName]??'', $fieldConfig);
 					if ($index === 0 && $fieldName === 'type') {
 						echo '<div class="seo-'.$type.'">';
@@ -190,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) {
@@ -267,6 +262,9 @@
 					$fields = $this->registry->getFieldsForType($type);
 					foreach ($fields as $fieldName) {
 						$config = $this->registry->getFieldDefinition($fieldName);
+						if (!$config) {
+							continue;
+						}
 						echo Form::render($fieldName, '', $config);
 					}
 					?>

--
Gitblit v1.10.0