From 0afb2c0046b55c123eafb4ab9ee77efa68d12463 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 06 Jun 2026 17:15:31 +0000
Subject: [PATCH] =Starting the Favourites.js setup, converting previous Northeh stuff to new Registrar, fixing up Square.php integration to match
---
jvb.php | 89 +++++++++++++++++++++++++++++++++++---------
1 files changed, 71 insertions(+), 18 deletions(-)
diff --git a/jvb.php b/jvb.php
index 6bbe5ef..3987ea3 100644
--- a/jvb.php
+++ b/jvb.php
@@ -13,13 +13,25 @@
use JVBase\managers\IconsManager;
use JVBase\registrar\Registrar;
-use JVBase\utility\Features;
+use JVBase\base\Site;
//security
if (!defined('ABSPATH')) {
exit;
}
+//add_action('admin_enqueue_scripts', function() {
+// global $wp_scripts;
+// add_action('admin_print_scripts', function() use ($wp_scripts) {
+// $queue = $wp_scripts->queue ?? [];
+// foreach ($queue as $handle) {
+// $src = $wp_scripts->registered[$handle]->src ?? 'unknown';
+// error_log("Enqueued: $handle => $src");
+// }
+// }, 999);
+//}, 999);
+
+
/**
* Track REST API errors by wrapping request execution
*/
@@ -76,8 +88,6 @@
}, 10, 3);
-const JVB_LOCAL = 'northeh.test';
-
function jvbIgnoredPostTypes():array
{
return [BASE.'directory', BASE.'dash', 'attachment', 'revision', 'nav_menu_item'];
@@ -85,10 +95,12 @@
define('JVB_TESTING', str_contains(get_home_url(),'.test'));
+//const JVB_TESTING = false;
-if (JVB_TESTING) {
+//if (!JVB_TESTING) {
add_filter('show_admin_bar', '__return_false');
-}
+//}
+
//if (JVB_TESTING) {
// error_log('In testing mode...');
//} else {
@@ -108,15 +120,10 @@
require(JVB_DIR.'/base/_setup.php');
-if (empty(JVB_SITE)) {
- return;
-}
require(JVB_DIR.'/inc/utility/setup.php');
require(JVB_DIR.'/checks.php');
-
-require(JVB_DIR . '/inc/registry/_setup.php');
-
+require(JVB_DIR . '/inc/registrar/_setup.php');
require(JVB_DIR . '/activate.php');
require(JVB_DIR . '/inc/helpers/all.php');
@@ -147,6 +154,13 @@
return IconsManager::for($source)->get($name, $options);
}
+function jvbFullIcon(string $name, array $options = []):string
+{
+ $source = $options['source'] ?? 'icons';
+ unset($options['source']);
+ return IconsManager::for($source)->getRawSvg($name, $options['style']??null);
+}
+
/**
* Get a CSS data URI for an icon
*
@@ -246,6 +260,8 @@
+
+
require(JVB_DIR . '/inc/blocks/_setup.php');
@@ -284,7 +300,7 @@
{
add_action('wp_head', 'jvbInlineNavStyles');
- if (Features::forSite()->has('dashboard')) {
+ if (Site::has('dashboard')) {
wp_enqueue_script('jvb-queue');
}
@@ -298,18 +314,17 @@
$interactions = [];
- if (Features::forSite()->has('favourites')) {
+ if (Site::has('favourites')) {
$interactions[] = 'favourites';
}
if (!empty(Registrar::getFeatured('karma'))) {
$interactions[] = 'karma';
}
- if (Features::forSite()->has('notifications')) {
+ if (Site::has('notifications')) {
$interactions[] = 'notifications';
}
if (!empty($interactions)) {
- wp_enqueue_script('jvb-interactions');
foreach($interactions as $interaction) {
wp_enqueue_script('jvb-'.$interaction);
}
@@ -331,7 +346,7 @@
window.userFavourites = {};
window.userVotes = {};
';
- if (Features::forSite()->has('favourites')) {
+ if (Site::has('favourites')) {
wp_enqueue_script('jvb-favourites');
$initUserSettings .= '
//Fetch user favourites
@@ -397,6 +412,10 @@
wp_enqueue_script('jvb-page-nav');
}
+ if (has_block('jvb/summaryBlock')) {
+ wp_enqueue_script('jvb-page-nav');
+ }
+
// Only load on single shop pages or other relevant pages
if (is_tax(BASE.'shop') ||
is_singular(BASE.'partner')) {
@@ -427,7 +446,7 @@
// ');
// }
}
- if (is_user_logged_in() && Features::forSite()->has('notifications')) {
+ if (is_user_logged_in() && Site::has('notifications')) {
wp_enqueue_script('jvb-notifications');
wp_localize_script('jvb-notifications', 'notificationSettings', array(
@@ -443,7 +462,7 @@
));
}
- jvbAddScriptDependency('jvb-feed-view-script', 'jvb-queue');
+// jvbAddScriptDependency('jvb-feed-view-script', 'jvb-queue');
jvbAddScriptDependency('jvb-feed-view-script', 'jvb-selector');
jvbAddScriptDependency('jvb-feed-view-script', 'jvb-data-store');
jvbAddScriptDependency('jvb-feed-view-script', 'jvb-cache');
@@ -455,6 +474,8 @@
jvbAddScriptDependency('jvb-forms-view-script', 'jvb-quill');
jvbAddScriptDependency('jvb-forms-view-script', 'jvb-form');
jvbAddScriptDependency('jvb-forms-view-script', 'jvb-tabs');
+
+ jvbAddScriptDependency('jvb-timeline-view-script', 'jvb-gallery');
}
function jvbAdminMap():void
@@ -503,10 +524,18 @@
echo '<div class="screen-reader-text live-region" aria-live="polite" role="status"></div>';
}
+add_action('wp_head', 'jvbFrontendBase',1);
+function jvbFrontendBase():void
+{
+ ?>
+ <script type="text/javascript">window.jvbBase = '<?= BASE ?>';</script>
+ <?php
+}
//add_action('wp_head', 'jvbDumpIt');
function jvbDumpIt()
{
+
}
add_action('after_setup_theme', 'jvbImageSize');
@@ -549,3 +578,27 @@
}
return $result;
}, 99);
+
+
+add_action('wp_footer', 'jvb_back_to_top');
+function jvb_back_to_top():void
+{
+ echo sprintf(
+ '<a id="back-to-top" class="btn sticky" href="#">%s<span>Back to Top</span></a>',
+ jvbIcon('caret-double-up')
+ );
+}
+
+add_action( 'doing_it_wrong_run', function ( $function_name ) {
+ if ( '_load_textdomain_just_in_time' === $function_name ) {
+ // This will print the full execution path to your screen or log
+ debug_print_backtrace();
+ }
+} );
+
+
+add_filter('the_seo_framework_sitemap_exclude_ids', 'jvb_maybe_exclude_singles', 8, 1);
+function jvb_maybe_exclude_singles(array $IDs):array
+{
+ return Registrar::maybeExcludeSingles($IDs);
+}
--
Gitblit v1.10.0