From a6413da67a4579866f0fd0323ddb23a7b6b9654a Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 18 Sep 2026 17:00:53 +0000
Subject: [PATCH] =Cleaning up the Integrations setup a bit, started the Helcim integration work too

---
 inc/admin/Integrations.php |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/inc/admin/Integrations.php b/inc/admin/Integrations.php
index f61289c..3462c18 100644
--- a/inc/admin/Integrations.php
+++ b/inc/admin/Integrations.php
@@ -39,7 +39,8 @@
 		// Add submenu pages for configured integrations
 		foreach ($this->getAvailableServices() as $service) {
 			$integration = $this->getService($service);
-			if ($integration->isSetUp() && method_exists($integration, 'getAllowedContent') && !empty($integration->getAllowedContent())) {
+
+			if (!empty(Registrar::withIntegration($service)) && $integration->isSetUp() && method_exists($integration, 'getAllowedContent') && !empty($integration->getAllowedContent())) {
 				add_submenu_page(
 					'jvb-integrations',
 					$integration->getTitle() . ' Defaults',
@@ -65,6 +66,9 @@
 		wp_enqueue_style(
 			'jvb-dash',
 		);
+		wp_enqueue_style(
+			'jvb-forms'
+		);
 
 		wp_enqueue_script(
 			'jvb-admin-scripts',
@@ -107,6 +111,22 @@
 	public function renderPage(): void
 	{
 		?>
+		<style>
+			form.integration .actions.x-btw.x-btw {
+				justify-content: flex-start;
+			}
+			form.integration button {
+				display: flex;
+				gap: .5rem;
+				padding: .25rem .5rem;
+				align-items: center;
+				justify-content: space-between;
+			}
+			form.integration button svg {
+				width: 1.5em;
+				height: 1.5em;
+			}
+		</style>
 		<div class="wrap jvb-admin-wrap">
 			<h1>Integrations</h1>
 
@@ -124,7 +144,7 @@
 					<?php
 					foreach ($this->getAvailableServices() as $service) {
 						$integration = $this->getService($service);
-						if ($integration->isSetUp() && method_exists($integration, 'renderConnection')) {
+						if (method_exists($integration, 'renderConnection')) {
 							$integration->renderConnection();
 						}
 					}
@@ -527,7 +547,7 @@
 
 			.item-grid.integrations {
 				display: grid;
-				grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
+				grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 				gap: 2rem;
 				margin-top: 2rem;
 			}
@@ -1045,6 +1065,9 @@
 				height: auto;
 			}
 
+			#wpfooter#wpfooter {
+				position: relative;
+			}
 		</style>
 		<?php
 	}

--
Gitblit v1.10.0