From b0194e10a87e16797a568d8a30d53ebecd27d8a4 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sat, 18 Oct 2025 15:04:51 +0000
Subject: [PATCH] =DataStore.js and UploaderManager.js overhaul

---
 assets/js/dash/SquareCheckout.js |   44 ++++++++------------------------------------
 1 files changed, 8 insertions(+), 36 deletions(-)

diff --git a/assets/js/dash/SquareCheckout.js b/assets/js/dash/SquareCheckout.js
index 1a1dda3..3fc9a3c 100644
--- a/assets/js/dash/SquareCheckout.js
+++ b/assets/js/dash/SquareCheckout.js
@@ -15,7 +15,6 @@
 		}, config);
 
 
-
 		this.stepMultiplier = 1;
 
 		this.cache = new window.jvbCache('cart', {TTL: 8.64e+7});
@@ -36,6 +35,13 @@
 
 		this.initElements();
 		this.bindEvents();
+
+		this.popup = new window.jvbPopup({
+			popup: this.checkout,
+			toggle: this.toggle,
+			name: 'Cart',
+			onOpen: this.maybeAddEmptyState.bind(this),
+		});
 		this.init();
 
 		this.toggle.hidden = false;
@@ -49,11 +55,7 @@
 		}
 	}
 	handleClick(e) {
-		if (window.targetCheck(e, '.toggle-cart')) {
-			let toggle = window.targetCheck(e, '.toggle-cart');
-			console.log('Toggle found. Toggling cart');
-			this.toggleCart();
-		} else if (window.targetCheck(e, 'button') && window.targetCheck(e, 'div.quantity')) {
+		if (window.targetCheck(e, 'button') && window.targetCheck(e, 'div.quantity')) {
 			let quantity = window.targetCheck(e, 'div.quantity');
 			this.handleNumberClick(e, quantity);
 		}else if (window.targetCheck(e, '[data-add-to-cart]')) {
@@ -64,10 +66,6 @@
 			this.handleRemoveFromCart(remove);
 		} else if (window.targetCheck(e, '[data-clear-cart]')) {
 			this.clearCart();
-		} else if (this.checkout.classList.contains('expanded') &&
-			!this.checkout.contains(e.target) &&
-			e.target !== this.toggle) {
-			this.closeCart();
 		}
 	}
 
@@ -150,22 +148,6 @@
 		}
 	}
 
-	toggleCart() {
-		if (!this.checkout.classList.contains('expanded')) {
-			this.openCart();
-		} else {
-			this.closeCart();
-		}
-	}
-	openCart(message = 'Opened Cart') {
-		this.checkout.classList.add('expanded');
-		this.toggle.title = 'Hide cart';
-		this.toggle.ariaExpanded = true;
-		this.toggle.querySelector('span').textContent = 'Close Cart';
-		this.a11y.announce(message);
-		this.maybeAddEmptyState();
-		document.addEventListener('keydown', this.keyHandler);
-	}
 	maybeAddEmptyState() {
 		let empty = this.itemsList.querySelector('.empty');
 		if(empty) {
@@ -187,18 +169,8 @@
 			this.checkoutPanel.title = 'Checkout';
 		}
 	}
-	closeCart(message = 'Closed Cart') {
-		this.checkout.classList.remove('expanded');
-		this.toggle.title = 'Show Cart';
-		this.toggle.ariaExpanded = false;
-
-		this.toggle.querySelector('span').textContent = '';
-		this.a11y.announce(message);
-		document.removeEventListener('keydown', this.keyHandler);
-	}
 	handleEscape(e) {
 		if (e.key === 'Escape') {
-			this.closeCart('Closed Cart with escape key');
 			this.stepMultiplier = 1;
 		} else if (e.ctrlKey && e.shiftKey) {
 			this.stepMultiplier = Math.max(parseInt(this.stepMultiplier) * 100, 1000);

--
Gitblit v1.10.0