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/TimelineBlock.php |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/inc/blocks/TimelineBlock.php b/inc/blocks/TimelineBlock.php
index 5c21fdd..271dd7e 100644
--- a/inc/blocks/TimelineBlock.php
+++ b/inc/blocks/TimelineBlock.php
@@ -2,8 +2,9 @@
 namespace JVBase\blocks;
 
 use JVBase\managers\Cache;
-use JVBase\meta\MetaManager;
-use JVBase\utility\Features;
+use JVBase\meta\Meta;
+use JVBase\registrar\Registrar;
+use JVBase\base\Site;
 use WP_Block;
 
 if (!defined('ABSPATH')) {
@@ -47,7 +48,8 @@
     public function render(array $attributes, string $content, WP_Block $block)
     {
 		global $post;
-		if (!$post || !Features::forContent(jvbNoBase($post->post_type))->has('is_timeline') ) {
+		$registrar = Registrar::getInstance($post->post_type);
+		if (!$post || !$registrar || !$registrar->hasFeature('is_timeline') ) {
 			return '';
 		}
 		$this->parentID = $post->ID;
@@ -87,7 +89,7 @@
 	}
     protected function renderHeader():void
     {
-		$meta = new MetaManager($this->parentID, 'post');
+		$meta = Meta::forPost($this->parentID);
 		$sharedFields = JVB()->routes('content')->getTimelineSharedFields($this->content);
 		$fields = $meta->getAll($sharedFields);
 		$extra = $meta->getAll();
@@ -100,15 +102,15 @@
 					if ($value === '' || $slug === 'person') {
 						continue;
 					}
-					$config = JVB_TAXONOMY[$slug];
+					$registrar = Registrar::getInstance($slug);
 					$taxSlug = jvbCheckBase($slug);
 					$terms = get_the_terms($this->parentID, $taxSlug);
 					if ($terms && !is_wp_error($terms)) {
 						$many = count($terms) > 1;
 					?>
 					<li class="<?=$slug?>">
-						<span title="<?= $config['singular']?>" class="term tldr" data-short="" data-long="<?= $config['singular']?>">
-							<?=jvbIcon($config['icon']??jvbDefaultIcon())?>
+						<span title="<?= $registrar->getSingular()?>" class="term tldr" data-short="" data-long="<?= $registrar->getSingular()?>">
+							<?=jvbIcon($registrar->getIcon())?>
 							<span></span>
 						</span>
 						<?php
@@ -174,7 +176,7 @@
 		$uniqueFields = JVB()->routes('content')->getTimelineUniqueFields($this->content);
 
 		foreach ($all as $i => $ID) {
-			$meta = new MetaManager($ID, 'post');
+			$meta = Meta::forPost($ID);
 			$fields = $meta->getAll($uniqueFields);
 
 			$plural = ($i>1) ? 's': '';
@@ -219,9 +221,10 @@
 			return '';
 		}
 		$out = '<ul class="term-list">';
+		$registrar = Registrar::getInstance('timeline');
 		foreach ($timeline as $term) {
 			$link = get_term_link($term->term_id, BASE.'timeline');
-			$out .= '<li><a href="'.$link.'" rel="tag" title="See more progressions at this timeline">'.jvbIcon(JVB_TAXONOMY['timeline']['icon']??'hourglass').html_entity_decode($term->name).'</a><small>after the treatment</small></li>';
+			$out .= '<li><a href="'.$link.'" rel="tag" title="See more progressions at this timeline">'.jvbIcon($registrar->getIcon('hourglass')).html_entity_decode($term->name).'</a><small>after the treatment</small></li>';
 		}
 		$out .='</ul>';
 		return $out;

--
Gitblit v1.10.0