From a58a2e7ca4700d3e23341fde767060a4c2c704a3 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 30 Aug 2026 21:04:37 +0000
Subject: [PATCH] =Minor tweaks to MenuBlock.php

---
 inc/blocks/FormBlock.php |   35 ++++++++++++++++++-----------------
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/inc/blocks/FormBlock.php b/inc/blocks/FormBlock.php
index bfe7840..9aa7c30 100644
--- a/inc/blocks/FormBlock.php
+++ b/inc/blocks/FormBlock.php
@@ -1,9 +1,10 @@
 <?php
 namespace JVBase\blocks;
 
+use JVBase\integrations\services\Cloudflare;
 use JVBase\managers\Cache;
 use JVBase\meta\Form;
-use JVBase\utility\Features;
+use JVBase\base\Site;
 
 if (!defined('ABSPATH')) {
 	exit; // Exit if accessed directly
@@ -33,7 +34,9 @@
 
 	public function __construct()
 	{
-		$this->cache = Cache::for('forms', WEEK_IN_SECONDS);
+		$this->cache = Cache::for('forms', null, WEEK_IN_SECONDS);
+
+
 		// Initialize forms from filter
 		$this->forms = $this->registerForms();
 		$this->form_contact = apply_filters('jvb_form_contact', '');
@@ -58,8 +61,8 @@
 		}
 
 		// Enqueue Turnstile if needed
-		if (Features::forSite()->hasIntegration('cloudflare')) {
-			$cloudflare = JVB()->connect('cloudflare');
+		if (Site::hasIntegration('cloudflare')) {
+			$cloudflare = Cloudflare::getInstance();
 			if ($cloudflare->isSetUp()) {
 				$cloudflare->enqueueTurnstileScripts();
 			}
@@ -88,10 +91,9 @@
 		$forms = apply_filters('jvb_register_forms', $default_forms);
 
 		// Process forms to ensure they have proper structure
-		$processed_forms = [];
-		foreach ($forms as $form_key => $form_config) {
-			$processed_forms[$form_key] = $this->processFormConfig($form_config);
-		}
+		$processed_forms = array_map(function ($form_config) {
+			return $this->processFormConfig($form_config);
+		}, $forms);
 
 		return $processed_forms;
 	}
@@ -127,9 +129,8 @@
 			return '<div class="jvb-form-error">No valid form type selected. Please edit this block and select a form type.</div>';
 		}
 
-		$cache_key = $this->cache->generateKey($block);
 		return $this->cache->remember(
-			$cache_key,
+			$block,
 			function() use ($form_type, $block) {
 				return $this->renderForm($form_type, $block);
 			}
@@ -275,7 +276,7 @@
 			}
 		}
 
-		echo '<form id="' . esc_attr($form_id) . '" data-form-id="'.esc_attr($type).'" data-save="form">';
+		echo '<form id="' . esc_attr($form_id) . '" data-form-id="'.esc_attr($type).'" data-save="form" data-handled data-step>';
 //		wp_nonce_field('jvb_form_' . $type);
 	}
 
@@ -317,13 +318,13 @@
 		echo '<div class="container">';
 		if ($total > 1) {
 			echo '<div class="form-progress">';
-			jvbRenderProgressBar('<span class="step-text">Step <span class="current">1</span> of ' . $total . '</span>');
+			jvbRenderProgressBar('<span class="step-text">Step <span class="current">1</span> of ' . $total . '</span>', false, false);
 			echo '</div>';
 		}
 
 		// Render navigation if multiple sections
 		if (count($sections) > 1) {
-			echo '<nav class="tabs row start" role="tablist">';
+			echo '<nav class="tabs row left" role="tablist">';
 			$i = 1;
 			foreach ($sections as $slug => $section) {
 				$active_class = $i === 1 ? ' active' : '';
@@ -331,7 +332,7 @@
 
 				echo '<button type="button" class="tab' . $active_class . '" data-tab="' . esc_attr($slug) . '" data-step="'.$i.'" role="tab" aria-selected="' . $aria_selected . '">';
 				echo '<span class="step-number">' . $i . '</span>';
-				echo '<h2>' . esc_html($section['label'] ?? $section) . '</h2>';
+				echo '<span>' . esc_html($section['label'] ?? $section) . '</span>';
 				echo '</button>';
 				$i++;
 			}
@@ -366,7 +367,7 @@
 			}
 
 			// Add step navigation buttons
-			echo '<div class="step-navigation row btw">';
+			echo '<div class="step-navigation row x-btw">';
 
 			if ($i > 0) {
 				echo '<button type="button" class="button secondary prev-step" data-action="prev-step">';
@@ -401,11 +402,11 @@
 	 */
 	protected function renderTurnstile(): void
 	{
-		if (!Features::hasIntegration('cloudflare')) {
+		if (!Site::hasIntegration('cloudflare')) {
 			return;
 		}
 
-		$cloudflare = JVB()->connect('cloudflare');
+		$cloudflare = Cloudflare::getInstance();
 		if ($cloudflare->isSetUp()) {
 			$cloudflare->renderTurnstile();
 		}

--
Gitblit v1.10.0