From ba1e1ccf869b818f7a7a897264dfea05563a7796 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 07 Jun 2026 20:10:20 +0000
Subject: [PATCH] =Major overhaul of Integrations. Playing around with adding fields to post types through Registrar from an integrations' class file.
---
inc/blocks/_setup.php | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/inc/blocks/_setup.php b/inc/blocks/_setup.php
index 88cde26..42ec61d 100644
--- a/inc/blocks/_setup.php
+++ b/inc/blocks/_setup.php
@@ -1,28 +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();
+
+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 (Site::has('is_restaurant')) {
+ require('MenuBlock.php');
+ new JVBase\blocks\MenuBlock();
+ }
+
+ if (!empty(Registrar::withFeature('is_faq'))) {
+ require('FAQBlock.php');
+ new JVBase\blocks\FAQBlock();
+ }
+
+ if (!empty(Registrar::withFeature('is_glossary'))) {
+ require('GlossaryBlock.php');
+ new JVBase\blocks\GlossaryBlock();
+ }
+
+ if (!empty(Registrar::withFeature('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::withFeature('show_directory'))) {
+// error_log('Registering Directory List Block');
+// register_block_type(
+// JVB_DIR . '/build/list',
+// [
+// 'render_callback' => 'jvbRenderListBlock'
+// ]
+// );
+// }
+
}
-if (Features::forSite()->has('is_restaurant')) {
- require(JVB_DIR . '/inc/blocks/MenuBlock.php');
- new JVBase\blocks\MenuBlock();
-}
-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
{
--
Gitblit v1.10.0