From e729f920139f0c65902be2d6b2c32466b08375e8 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Mon, 20 Oct 2025 17:54:52 +0000
Subject: [PATCH] =Form updates
---
inc/managers/ReferralManager.php | 80 ++++++++++++++++------------------------
1 files changed, 32 insertions(+), 48 deletions(-)
diff --git a/inc/managers/ReferralManager.php b/inc/managers/ReferralManager.php
index 429ea99..9777fa4 100644
--- a/inc/managers/ReferralManager.php
+++ b/inc/managers/ReferralManager.php
@@ -3,6 +3,7 @@
use JVBase\managers\MagicLinkManager;
use JVBase\integrations\Cloudflare;
+use JVBase\meta\MetaForm;
use JVBase\utility\Features;
use WP_User;
use WP_Error;
@@ -58,7 +59,7 @@
add_filter(BASE.'new_user_email_content', [$this, 'addReferralToWelcomeEmail'], 99, 2);
- add_action('jvbAdditionalActions', [$this, 'outputShareWidget']);
+ add_filter('jvbAdditionalActions', [$this, 'outputShareWidget']);
add_action('wp_enqueue_scripts', [$this, 'enqueueScripts']);
// Schedule cron jobs for reports
@@ -877,14 +878,13 @@
{
$user_id = get_current_user_id();
- jvbDump($user_id);
$content = '<aside class="jvb-referral right">';
if (!$user_id) {
$content .= $this->getUnloggedInReferral();
} else {
$content .= $this->getLoggedInReferral($user_id);
}
- $content .= '<button type="button" class="close">'.jvbIcon('close').'</button></aside>';
+ $content .= '</aside>';
$actions[] =[
'button' => '<button type="button" class="toggle-referral row" title="Your Referrals" data-action="toggle-referral" aria-label="Open Referral Sidebar" aria-controls="referral" aria-expanded="false">
@@ -901,44 +901,30 @@
ob_start();
JVB()->connect('cloudflare')->renderTurnstile();
$turnstile = ob_get_clean();
+ $meta = new MetaForm();
$codeForm = '<form id="referral-code-form">
- <div class="status" hidden>
- <div class="spinner"></div>
- <p class="message"></p>
- </div>
- <div class="field text">
- <label for="referral-name">Your Name</label>
- <input type="text"
- id="referral-name"
- name="name"
- placeholder="Mister Meeseeks"
- autocomplete="name"
- required>
- </div>
-
- <div class="field email">
- <label for="referral-email">Your Email</label>
- <input type="email"
- id="referral-email"
- name="email"
- placeholder="look@me.com"
- autocomplete="email"
- required>
- </div>
-
- <div class="field text">
- <label for="referral-code-input">Referral Code</label>
- <input type="text"
- id="referral-code-input"
- name="referral_code"
- placeholder="e.g., THISISFAKE1234"
- required
- pattern="[A-Za-z0-9]+"
- maxlength="20"
- autocomplete="off"
- style="text-transform: uppercase;">
- </div>
-
+ '.jvbFormStatus().$meta->return('referral_name', null, [
+ 'required' => true,
+ 'type' => 'text',
+ 'label' => 'Your Name',
+ 'placeholder'=> 'Mister Meeseeks',
+ 'autocomplete'=>'name'
+ ]).
+ $meta->return('referral_email', null, [
+ 'required' => true,
+ 'type' => 'email',
+ 'label' => 'Your Email',
+ 'placeholder'=> 'look@me.com',
+ 'autocomplete'=> 'email'
+ ]).
+ $meta->return('referral_code', null, [
+ 'required' => true,
+ 'type' => 'text',
+ 'label' => 'Referral Code',
+ 'pattern' => '[A-Za-z0-9]+',
+ 'maxLength' => 20,
+ 'autocomplete'=>'off'
+ ]).'
<button type="submit">
Get Started
</button>
@@ -954,14 +940,12 @@
</div>';
$loginForm = '<form id ="login-form">
- <div class="status" hidden>
- <div class="spinner"></div>
- <p class="message"></p>
- </div>
- <div class="field email">
- <label for="login-email">Your Email</label>
- <input id="login-email" name="login-email" type="email" autocomplete="email">
- </div>
+ '.jvbFormStatus().$meta->return('login_email', null, [
+ 'required' => true,
+ 'type' => 'email',
+ 'label' => 'Your Email',
+ 'autocomplete'=>'email'
+ ]).'
'.$turnstile.'
<button type="submit">Login With Magic Link</button>
</form>
--
Gitblit v1.10.0