From 42fa8304ddb811b0f725f245130f70c0f5e86a6c Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 04 Nov 2025 06:12:02 +0000
Subject: [PATCH] =Refactored LoginManager to be more extensible and configurable, as well as an AjaxRateLimiter

---
 inc/helpers/ui.php |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/inc/helpers/ui.php b/inc/helpers/ui.php
index 1831a33..a9e310d 100644
--- a/inc/helpers/ui.php
+++ b/inc/helpers/ui.php
@@ -153,6 +153,7 @@
 function jvbHelpMenu():string
 {
     $out = get_option(BASE.'help_menu');
+
     if ($out === false) {
         $open = '<li><a href="';
         $mid = '">';
@@ -371,6 +372,10 @@
 	$i = 0;
 
 	foreach ($tabs as $slug => $config) {
+		if (!array_key_exists('content', $config) || empty($config['content'])) {
+			error_log('No content for tab: '.$slug);
+			continue;
+		}
 		//Header
 		$active = ($i === 0) ? ' active' : '';
 		$selected = ($i === 0) ? 'true' : 'false';
@@ -434,3 +439,23 @@
 	<?php
 }
 
+function jvbFormStatus(string $message = '') {
+	return '<div class="restore-form col" hidden>
+			<h3>Looks like we left things hanging...</h3>
+			<p>We\'ve filled in the fields with what you put last time.</p>
+			<div class="actions">
+				<button type="button" data-action="clear-form">
+					'.jvbIcon('arrows-clockwise').'
+					<span>Start Over</span>
+				</button>
+				<button type="button" data-action="dismiss-restore">
+					'.jvbIcon('close').'
+					<span>Dismiss</span>
+				</button>
+			</div>
+		</div>
+		<div class="fstatus row" hidden>
+			<div class="spinner"></div>
+			<p class="message">'.$message.'</p>
+		</div>';
+}

--
Gitblit v1.10.0