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/blocks/_setup.php |  108 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 58 insertions(+), 50 deletions(-)

diff --git a/inc/blocks/_setup.php b/inc/blocks/_setup.php
index 78a4122..cdae9f1 100644
--- a/inc/blocks/_setup.php
+++ b/inc/blocks/_setup.php
@@ -1,38 +1,77 @@
 <?php
-use JVBase\utility\Features;
+
+use JVBase\registrar\Registrar;
+use JVBase\base\Site;
 
 //require(JVB_DIR . '/inc/blocks/RegisterBlocks.php');
 require(JVB_DIR . '/inc/blocks/CustomBlocks.php');
 
-if (Features::forSite()->has('feed_block')) {
-	require(JVB_DIR . '/inc/blocks/FeedBlock.php');
-	new JVBase\blocks\FeedBlock();
-}
 
-if (Features::forSite()->has('is_restaurant')) {
-	require(JVB_DIR . '/inc/blocks/MenuBlock.php');
-	new JVBase\blocks\MenuBlock();
-}
+add_action('init', 'jvb_conditionally_load_blocks', 1);
+function jvb_conditionally_load_blocks(): void
+{
+	if (Site::has('feed_block')) {
+		require('FeedBlock.php');
+		new JVBase\blocks\FeedBlock();
+	}
 
-if (Features::forSite()->has('faq') || array_key_exists('faq', JVB_CONTENT)) {
-	require(JVB_DIR . '/inc/blocks/FAQBlock.php');
-	new JVBase\blocks\FAQBlock();
+	if (Site::has('is_restaurant')) {
+		require('MenuBlock.php');
+		new JVBase\blocks\MenuBlock();
+	}
+
+	if (!empty(Registrar::getFeatured('is_faq'))) {
+		require('FAQBlock.php');
+		new JVBase\blocks\FAQBlock();
+	}
+
+	if (!empty(Registrar::getFeatured('is_glossary'))) {
+		require('GlossaryBlock.php');
+		new JVBase\blocks\GlossaryBlock();
+	}
+
+	if (!empty(Registrar::getFeatured('is_timeline'))) {
+		require('TimelineBlock.php');
+		new JVBase\blocks\TimelineBlock();
+	}
+
+	if (Site::hasIntegration('gmb')) {
+		require('GMBReviewBlock.php');
+		new JVBase\blocks\GMBReviewBlock();
+	}
+//    if (jvbSiteUsesFeedBlock()) {
+//        register_block_type(
+//            JVB_DIR . '/build/feed',
+//            [
+//                'render_callback'   => 'jvbRenderFeedBlock'
+//            ]
+//        );
+//    }
+//	if (!empty(Registrar::getFeatured('show_directory'))) {
+//		error_log('Registering Directory List Block');
+//		register_block_type(
+//			JVB_DIR . '/build/list',
+//			[
+//				'render_callback'   => 'jvbRenderListBlock'
+//			]
+//		);
+//	}
+
 }
 
 
-if (Features::anyContentHas('is_gallery')) {
-	require(JVB_DIR . '/inc/blocks/GlossaryBlock.php');
-	new JVBase\blocks\GlossaryBlock();
-}
-require(JVB_DIR . '/inc/blocks/SummaryBlock.php');
+require('SummaryBlock.php');
 new JVBase\blocks\SummaryBlock();
 
-require(JVB_DIR . '/inc/blocks/VideoCoverBlock.php');
+require('VideoCoverBlock.php');
 new JVBase\blocks\VideoCoverBlock();
 
-require(JVB_DIR . '/inc/blocks/FormBlock.php');
+require('FormBlock.php');
 new JVBase\blocks\FormBlock();
 
+require ('DrawerMenuBlock.php');
+new JVBase\blocks\DrawerMenuBlock();
+
 
 function jvbRegisterBlockCategory(array $categories):array
 {
@@ -45,34 +84,3 @@
 	]);
 }
 add_filter('block_categories_all', 'jvbRegisterBlockCategory');
-
-if (Features::hasIntegration('gmb')) {
-	require(JVB_DIR . '/build/gmbreviews/render.php');
-}
-function jvbRegisterBlocks():void
-{
-	if (Features::hasIntegration('gmb')) {
-		register_block_type(
-			JVB_DIR . '/build/gmbreviews',
-		[
-			'render_callback'	=> 'jvbRenderGMBReviewsBlock'
-		]);
-	}
-//    if (jvbSiteUsesFeedBlock()) {
-//        register_block_type(
-//            JVB_DIR . '/build/feed',
-//            [
-//                'render_callback'   => 'jvbRenderFeedBlock'
-//            ]
-//        );
-//    }
-	if (Features::anyContentHas('show_directory') || Features::anyTaxonomyHas('show_directory')) {
-		register_block_type(
-			JVB_DIR . '/build/list',
-			[
-				'render_callback'   => 'jvbRenderListBlock'
-			]
-		);
-	}
-}
-add_action('init', 'jvbRegisterBlocks');

--
Gitblit v1.10.0