From 148d8ee0b749334a11e894de93009721fee5f2af Mon Sep 17 00:00:00 2001 From: Developing-Gamer Date: Thu, 11 Jun 2026 11:56:44 -0700 Subject: [PATCH] Implement loading state for purchase page and enhance styling --- .../app/(main)/purchase/[code]/loading.tsx | 25 +++++++++++++++++++ .../(main)/purchase/[code]/page-client.tsx | 4 +-- .../(main)/purchase/return/page-client.tsx | 2 +- apps/dashboard/src/app/globals.css | 14 +++++++++++ 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 apps/dashboard/src/app/(main)/purchase/[code]/loading.tsx diff --git a/apps/dashboard/src/app/(main)/purchase/[code]/loading.tsx b/apps/dashboard/src/app/(main)/purchase/[code]/loading.tsx new file mode 100644 index 000000000..02a4a8525 --- /dev/null +++ b/apps/dashboard/src/app/(main)/purchase/[code]/loading.tsx @@ -0,0 +1,25 @@ +export default function Loading() { + return ( +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ ); +} diff --git a/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx b/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx index c4301bb91..d3937e69d 100644 --- a/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx +++ b/apps/dashboard/src/app/(main)/purchase/[code]/page-client.tsx @@ -168,7 +168,7 @@ export default function PageClient({ code }: { code: string }) { if (showInvalidPurchaseCode) { return ( -
+
@@ -189,7 +189,7 @@ export default function PageClient({ code }: { code: string }) { } return ( -
+
{/* Left Panel: Product & Pricing Selection */}
diff --git a/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx b/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx index e945c8f6c..f67ab67ae 100644 --- a/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx +++ b/apps/dashboard/src/app/(main)/purchase/return/page-client.tsx @@ -106,7 +106,7 @@ export default function ReturnClient({ clientSecret, stripeAccountId, purchaseFu }, [updateViewState]); return ( -
+
{state.kind === "loading" && ( <> diff --git a/apps/dashboard/src/app/globals.css b/apps/dashboard/src/app/globals.css index 1f044316a..efd172ee4 100644 --- a/apps/dashboard/src/app/globals.css +++ b/apps/dashboard/src/app/globals.css @@ -285,6 +285,20 @@ opacity: 0; background-image: none; } + + body:has([data-hexclave-purchase-page]) { + background-color: white; + background-image: none; + } + + .dark body:has([data-hexclave-purchase-page]) { + background-color: hsl(240 10% 3.9%); + } + + body:has([data-hexclave-purchase-page])::before { + opacity: 0; + background-image: none; + } } ::view-transition-old(root),