feat(frontend): add email check and gift card support to booking flow
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -92,6 +92,7 @@
|
||||
let hasEligiblePatchTests = $state(false);
|
||||
let customerRelationship = $state<CustomerRelationship | null>(null);
|
||||
let loadingRelationship = $state(false);
|
||||
let giftCardBalance = $state<number | null>(null);
|
||||
|
||||
async function fetchUserDetails() {
|
||||
if (!userId) return;
|
||||
@@ -217,11 +218,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
async function fetchGiftCardBalance() {
|
||||
if (!userId) return;
|
||||
try {
|
||||
const res = await fetch(`/api/admin/users/${userId}/giftcard-balance`, {
|
||||
headers: { Authorization: `Bearer ${authStore.currentToken}` }
|
||||
});
|
||||
if (res.ok) {
|
||||
const data = await res.json();
|
||||
giftCardBalance = data.balance;
|
||||
}
|
||||
} catch { /* ignore */ }
|
||||
}
|
||||
|
||||
$effect(() => {
|
||||
if (open && userId) {
|
||||
fetchUserDetails();
|
||||
fetchUserBookings();
|
||||
fetchCustomerRelationship();
|
||||
fetchGiftCardBalance();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -519,6 +534,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if giftCardBalance !== null && giftCardBalance > 0}
|
||||
<div class="mt-3 border-t pt-3">
|
||||
<div class="text-xs text-gray-500">Gift Card Balance</div>
|
||||
<div class="text-2xl font-bold text-green-600">
|
||||
£{giftCardBalance.toFixed(2)}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if customerRelationship.topServices && customerRelationship.topServices.length > 0}
|
||||
<div class="mt-4">
|
||||
<div class="mb-2 text-xs font-semibold text-gray-600">Most Booked Services</div>
|
||||
|
||||
Reference in New Issue
Block a user