From 772462eeca3002a1d52508aeba485aab2b4742ad Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 03 Mar 2026 19:06:19 +0000
Subject: [PATCH] =MAJOR OVERHAUL. Likely should have made a new branch ages ago. Key changes: Registrar.php is the base for custom post types, taxonomies, and user roles. Replaces JVB_CONTENT, JVB_TAXONOMY, and JVB_USER constants, eliminates most of Features.php (except for JVB_SITE, JVB_MEMBERSHIP), and has built in sanitizing and validation via sub-classes. Also started a major overhaul of the Schema output. Created a shit ton of property traits and classes to help sanitize and ensure proper data for different schema types. Still a bunch to do, but better to be starting committing changes here on this other branch.

---
 inc/ui/Navigation.php |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/inc/ui/Navigation.php b/inc/ui/Navigation.php
index 16a7e66..2fc120d 100644
--- a/inc/ui/Navigation.php
+++ b/inc/ui/Navigation.php
@@ -23,7 +23,7 @@
  */
 class Navigation {
 	private string $id;
-	private array $items = [];
+	public array $items = [];
 	private array $classes = [];
 	protected array $defaultMenuClasses = [];
 	private bool $isNav = true;
@@ -230,6 +230,7 @@
 				$menuItem->url($item['url']);
 			}
 
+
 			if (!empty($item['submenu'])) {
 				$submenu = $menuItem->submenu();
 				$submenu->populateFromArray($item['submenu']);
@@ -375,6 +376,9 @@
 	 * @return string
 	 */
 	public function render(): string {
+		if (!$this->url && (!$this->submenu || empty($this->submenu->items))) {
+			return '';
+		}
 		$classes = $this->classes;
 		if ($this->submenu) {
 			$classes[] = 'has-submenu';

--
Gitblit v1.10.0