Jake Vanderwerf
2025-10-18 b0194e10a87e16797a568d8a30d53ebecd27d8a4
inc/integrations/Square.php
@@ -717,24 +717,21 @@
      // User login tracking for security
      add_action('wp_login', [$this, 'trackUserLogin'], 10, 2);
      add_action('wp_footer', [$this, 'outputCheckout']);
      add_action('jvbAdditionalActions', [$this, 'outputCheckout']);
      // Enqueue checkout scripts
      add_action('wp_enqueue_scripts', [$this, 'enqueueScripts']);
   }
   public function outputCheckout():void {
   public function outputCheckout(array $actions):array {
      if (is_singular(BASE.'dash') || is_post_type_archive(BASE.'dash')) {
         return;
         return $actions;
      }
      ?>
      <button type="button" class="toggle-cart row" title="Your Cart" data-action="toggle-cart" aria-label="Open Cart" aria-controls="checkout" aria-expanded="false" hidden>
         <?= jvbIcon('cart')?><span class="abs"></span><span class="abs count"></span>
      </button>
      <aside id="cart">
         <form id="checkout" data-form-id="checkout" data-save="checkout">
            <?php
      $form = '<aside id="cart" class="right">
         <form id="checkout" data-form-id="checkout" data-save="checkout">';
            $tabs = [
               'cartItems' => [
                  'title'  => 'Your Order',
@@ -771,20 +768,19 @@
                  'content'   => $this->renderOrderStatus()
               ]
            ];
            jvbRenderTabs($tabs);
            ?>
      $form .= jvbRenderTabs($tabs);
            <div class="cart-total row end"><p class="tax">Tax: <span></span></p><p class="total">GRAND TOTAL: <span></span></p></div>
      $form .= '<div class="cart-total row end"><p class="tax">Tax: <span></span></p><p class="total">GRAND TOTAL: <span></span></p></div>
         </form>
      </aside>
      <template class="restoredCart">
         <div class="restored">
            <h3>Looks like we left things hanging</h3>
            <p>We've restored your cart from your last session below.</p>
            <p>If you'd rather start over, click the button below.</p>
            <p>We\'ve restored your cart from your last session below.</p>
            <p>If you\'d rather start over, click the button below.</p>
            <div class="row btw">
               <button type="button" onclick="window.squareCheckout.clearCart();this.closest('.restored').remove()"><?=jvbIcon('trash')?>Clear Cart</button>
               <button type="button" onclick="this.closest('.restored').remove()"><?= jvbIcon('x')?>Dismiss</button>
               <button type="button" onclick="window.squareCheckout.clearCart();this.closest(\'.restored\').remove()">'.jvbIcon('trash').'Clear Cart</button>
               <button type="button" onclick="this.closest(\'.restored\').remove()">'.jvbIcon('x').'Dismiss</button>
            </div>
         </div>
      </template>
@@ -794,13 +790,11 @@
               <label for="quantity"></label>
               <div class="quantity field" data-min="0" data-max="50" data-step="1" data-price="17" data-id="">
                  <button type="button" class="decrease"aria-label="Decrease Add to Order">
                     <i class="icon minus"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H88a4,4,0,0,1,0-8h80A4,4,0,0,1,172,128Z"></path></svg></i>           </button>
                  <button type="button" class="decrease"aria-label="Decrease Add to Order">'.jvbIcon('minus').'</button>
                  <input type="number" id="quantity" name="quantity" value="0" min="0" max="50" step="1" class="quantity-input">
                  <button type="button" class="increase" aria-label="Increase Add to Order">
                     <i class="icon add"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256"><path d="M208,36H48A12,12,0,0,0,36,48V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V48A12,12,0,0,0,208,36Zm4,172a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V48a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Zm-40-80a4,4,0,0,1-4,4H132v36a4,4,0,0,1-8,0V132H88a4,4,0,0,1,0-8h36V88a4,4,0,0,1,8,0v36h36A4,4,0,0,1,172,128Z"></path></svg></i>             </button>
                  <button type="button" class="increase" aria-label="Increase Add to Order">'.jvbIcon('add').'</button>
               </div>
            </td>
            <td class="price">
@@ -810,17 +804,25 @@
               <span class="total"></span>
            </td>
            <td>
               <button type="button" data-remove-from-cart><?= jvbIcon('trash')?></button>
               <button type="button" data-remove-from-cart>'.jvbIcon('trash').'</button>
            </td>
         </tr>
      </template>
      <template class="emptyCart">
         <div class="empty">
            <p><i><b>No items in cart.</b></i></p>
            <p>You can <a href="<?= get_post_type_archive_link(BASE.'menu_item')?>" title="Browse our menu">browse our menu</a> to order.</p>
            <p>You can <a href="'.get_post_type_archive_link(BASE.'menu_item').'" title="Browse our menu">browse our menu</a> to order.</p>
         </div>
      </template>
      <?php
      </template>';
      $actions[] = [
         'button' =>    '<button type="button" class="toggle-cart row" title="Your Cart" data-action="toggle-cart" aria-label="Open Cart" aria-controls="checkout" aria-expanded="false" hidden>
               '.jvbIcon('cart').'<span class="abs"></span><span class="abs count"></span>
            </button>',
         'content' =>   $form
      ];
      return $actions;
   }
   private function cartContent():string
@@ -1684,7 +1686,7 @@
   private function sendWelcomeEmail(\WP_User $user, string $reset_key): void
   {
      $site_name = get_bloginfo('name');
      $reset_url = get_home_url(2, "wp-login.php?action=rp&key=$reset_key&login=" . rawurlencode($user->user_login), 'login');
      $reset_url = get_home_url(null, "wp-login.php?action=rp&key=$reset_key&login=" . rawurlencode($user->user_login), 'login');
      $message = sprintf(
         "Welcome to %s!\n\n" .
@@ -1939,6 +1941,7 @@
            'jvb-cache',
            'jvb-tabs',
            'jvb-modal',
            'jvb-popup'
         ],
         '1.0.0',
         [