From 0dfe1d8afafc59c4a5559c498342668d5a58d6ef Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 23 Jul 2026 22:41:41 +0000
Subject: [PATCH] =Still working away at the Integrations overhaul

---
 inc/admin/SEOAdmin.php |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/inc/admin/SEOAdmin.php b/inc/admin/SEOAdmin.php
index ec664d3..ddf9d75 100644
--- a/inc/admin/SEOAdmin.php
+++ b/inc/admin/SEOAdmin.php
@@ -1,8 +1,8 @@
 <?php
 namespace JVBase\admin;
 
+use JVBase\base\SchemaHelper;
 use JVBase\meta\Form;
-use JVBase\meta\Sanitizer;
 use JVBase\registrar\Registrar;
 use JVBase\ui\Tabs;
 
@@ -29,7 +29,7 @@
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\Webpage'		=> ' - - WebPage',
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\AboutPage'	=> ' - - - About Page',
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\CheckoutPage'	=> ' - - - Checkout Page',
-		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\CollectionPage'	=> ' - - - Collection Page',
+		'JVBase\inc\managers\SEO\render\Thing\CreativeWork\WebPage\CollectionPage\CollectionPage' => ' - - - Collection Page',
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\ContactPage'		=> ' - - - Contact Page',
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\FAQPage'			=> ' - - - FAQ Page',
 		'JVBase\managers\SEO\render\Thing\CreativeWork\WebPage\ItemPage'		=> ' - - - Item Page',
@@ -108,7 +108,8 @@
 	public function __construct()
 	{
 		$this->setChecks();
-		add_filter('jvbDashboardPage', [$this, 'addDashboardSection'], 20, 2);
+		add_action(BASE.'dashboard_page_seo', [$this, 'addDashboardSection'], 10);
+
 		add_action('admin_menu', [$this, 'addAdminMenu']);
 		$this->addFormListeners();
 	}
@@ -144,14 +145,9 @@
 		);
 	}
 
-	public function addDashboardSection(string $content, string $page):string
+	public function addDashboardSection():void
 	{
-		if ($page !== 'jvb-seo') {
-			return $content;
-		}
-		ob_start();
 		$this->renderAdminPage();
-		return ob_get_clean();
 	}
 
 	public function renderAdminPage(bool $outputScripts = true):void
@@ -204,8 +200,12 @@
 			$this->renderStyles();
 		}
 	}
+		private function renderStyles(): void
+		{
+			jvbInlineStyles('forms');
+		}
 
-	public function renderProperty(string $property, ?string $value, mixed $class):void
+	public function renderProperty(string $property, mixed $value, mixed $class):void
 	{
 		$method = 'get'.ucFirst($property).'FieldConfig';
 		$config = method_exists($class, $method) ? $class->$method() : $this->buildConfig($property);
@@ -251,7 +251,8 @@
 		$this->formStart('website');
 		$default = 'JVBase\managers\SEO\render\Thing\CreativeWork\WebSite';
 //		$this->renderSchemaTypeSelection($value);
-		$stored = get_option(BASE.'WebsiteSchema',apply_filters(BASE.'websiteSchema', []));
+		$stored = SchemaHelper::schema('website');
+
 		$this->renderFieldsFor($default, $stored);
 		$this->formEnd();
 		return ob_get_clean();
@@ -263,7 +264,8 @@
 		$default = apply_filters(BASE.'OrganizationSchemaType', 'JVBase\managers\SEO\render\Thing\Organization\Organization');
 		$value = get_option(BASE.'OrganizationSchemaType', $default);
 		$this->renderSchemaTypeSelection($value);
-		$stored = get_option(BASE.'OrganizationSchema',apply_filters(BASE.'OrganizationSchema', []));
+
+		$stored = SchemaHelper::schema('organization');
 		$this->renderFieldsFor($value, $stored);
 		$this->formEnd();
 		return ob_get_clean();

--
Gitblit v1.10.0