From 86c6cd3cc099d2480932ede03c12cea01e625c94 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 26 Apr 2026 21:56:28 +0000
Subject: [PATCH] =Requiring files based on Site class settings

---
 inc/blocks/_setup.php |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/inc/blocks/_setup.php b/inc/blocks/_setup.php
index 88cde26..c5b6d1d 100644
--- a/inc/blocks/_setup.php
+++ b/inc/blocks/_setup.php
@@ -1,19 +1,36 @@
 <?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')) {
+if (Site::has('feed_block')) {
 	require(JVB_DIR . '/inc/blocks/FeedBlock.php');
 	new JVBase\blocks\FeedBlock();
 }
 
-if (Features::forSite()->has('is_restaurant')) {
+if (Site::has('is_restaurant')) {
 	require(JVB_DIR . '/inc/blocks/MenuBlock.php');
 	new JVBase\blocks\MenuBlock();
 }
 
+if (Site::has('faq')) {
+	require(JVB_DIR . '/inc/blocks/FAQBlock.php');
+	new JVBase\blocks\FAQBlock();
+}
+
+if (!empty(Registrar::getFeatured('is_glossary'))) {
+	require(JVB_DIR . '/inc/blocks/GlossaryBlock.php');
+	new JVBase\blocks\GlossaryBlock();
+}
+
+if (!empty(Registrar::getFeatured('is_timeline'))) {
+	require(JVB_DIR . '/inc/blocks/TimelineBlock.php');
+	new JVBase\blocks\TimelineBlock();
+}
+
 require(JVB_DIR . '/inc/blocks/SummaryBlock.php');
 new JVBase\blocks\SummaryBlock();
 
@@ -35,3 +52,37 @@
 	]);
 }
 add_filter('block_categories_all', 'jvbRegisterBlockCategory');
+
+if (Site::hasIntegration('gmb')) {
+	require(JVB_DIR . '/build/gmbreviews/render.php');
+}
+function jvbRegisterBlocks():void
+{
+	if (Site::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 (!empty(Registrar::getFeatured('show_directory'))) {
+		register_block_type(
+			JVB_DIR . '/build/list',
+			[
+				'render_callback'   => 'jvbRenderListBlock'
+			]
+		);
+	}
+	register_block_type(
+		JVB_DIR . '/build/drawer-menu',
+	);
+}
+add_action('init', 'jvbRegisterBlocks');

--
Gitblit v1.10.0