diff --git a/frontend/src/app.css b/frontend/src/app.css index 3fafd65..d71b0b9 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -2,7 +2,7 @@ @import 'tw-animate-css'; -@import "shadcn-svelte/tailwind.css"; +@import 'shadcn-svelte/tailwind.css'; @custom-variant dark (&:is(.dark *)); @@ -122,7 +122,7 @@ @apply bg-background text-foreground; } .maplibregl-popup-content { - @apply bg-transparent! shadow-none! p-0! rounded-none!; + @apply rounded-none! bg-transparent! p-0! shadow-none!; } .maplibregl-popup-tip { @apply hidden!; diff --git a/frontend/src/lib/components/account/EditRequestModal.svelte b/frontend/src/lib/components/account/EditRequestModal.svelte index 1043dcd..48a07c0 100644 --- a/frontend/src/lib/components/account/EditRequestModal.svelte +++ b/frontend/src/lib/components/account/EditRequestModal.svelte @@ -9,7 +9,13 @@ import * as Label from '$lib/components/ui/label'; import DatePicker from '$lib/components/booking/DatePicker.svelte'; import PolicyPopover from '$lib/components/ui/policyPopover.svelte'; - import type { Booking, BookingDiscount, Service, WorkingHoursDay, AvailableHoursDay } from '$lib/types/booking'; + import type { + Booking, + BookingDiscount, + Service, + WorkingHoursDay, + AvailableHoursDay + } from '$lib/types/booking'; import { extractBookedSlots, getLunchProtectionForSlots, @@ -70,7 +76,11 @@ // ─── Date constants ───────────────────────────────────── const todayCalendarDate = getLondonTodayCalendarDate(); const minDate = todayCalendarDate; - const maxDate = new SvelteDate(todayCalendarDate.year, todayCalendarDate.month - 1, todayCalendarDate.day); + const maxDate = new SvelteDate( + todayCalendarDate.year, + todayCalendarDate.month - 1, + todayCalendarDate.day + ); maxDate.setMonth(todayCalendarDate.month - 1 + 6); const maxCalendarDate = new CalendarDate( maxDate.getFullYear(), @@ -82,9 +92,7 @@ let hoursUntilAppointment = $derived( (new SvelteDate(booking.start_time).getTime() - new SvelteDate().getTime()) / (1000 * 60 * 60) ); - let hasPayments = $derived( - (booking.amount_paid ?? 0) > 0 - ); + let hasPayments = $derived((booking.amount_paid ?? 0) > 0); let noticePeriodBlocked = $derived( hasPayments ? hoursUntilAppointment < 72 : hoursUntilAppointment < 24 ); @@ -218,7 +226,12 @@ if (isToday) { const now = new Date(); - const londonTime = now.toLocaleTimeString('en-GB', { timeZone: 'Europe/London', hour: '2-digit', minute: '2-digit', hour12: false }); + const londonTime = now.toLocaleTimeString('en-GB', { + timeZone: 'Europe/London', + hour: '2-digit', + minute: '2-digit', + hour12: false + }); const [londonHours, londonMinutes] = londonTime.split(':').map(Number); const currentMin = londonHours * 60 + londonMinutes; startMin = Math.max(startMin, Math.ceil((currentMin + 60) / 15) * 15); @@ -268,7 +281,12 @@ const isToday = date.compare(todayCal) === 0; if (isToday) { const now = new Date(); - const londonTime = now.toLocaleTimeString('en-GB', { timeZone: 'Europe/London', hour: '2-digit', minute: '2-digit', hour12: false }); + const londonTime = now.toLocaleTimeString('en-GB', { + timeZone: 'Europe/London', + hour: '2-digit', + minute: '2-digit', + hour12: false + }); const [londonHours, londonMinutes] = londonTime.split(':').map(Number); const currentMin = londonHours * 60 + londonMinutes; startMin = Math.max(startMin, Math.ceil((currentMin + 60) / 15) * 15); @@ -466,11 +484,7 @@ } const tomorrowCal = getLondonTodayCalendarDate(); - newDate = new CalendarDate( - tomorrowCal.year, - tomorrowCal.month, - tomorrowCal.day + 1 - ); + newDate = new CalendarDate(tomorrowCal.year, tomorrowCal.month, tomorrowCal.day + 1); if (!userNavigatedCalendar) { placeholderDate = new CalendarDate(tomorrowCal.year, tomorrowCal.month, 1); } @@ -774,8 +788,13 @@
Cannot Reschedule Online
{noticeBlockedMessage}
- Contact us to discuss options,
- or
+ Contact us to discuss
+ options, or
+
and rebook — note that cancellation fees may apply based on our
Rescheduling Within 24h
- Rescheduling within 24h counts as a no-show towards your deposit obligations. Two no-shows
- within 6 months will require deposits on future bookings.
+ Rescheduling within 24h counts as a no-show towards your deposit obligations. Two
+ no-shows within 6 months will require deposits on future bookings.
Discounts Applied to This Booking
- Your booking has £{discountTotal.toFixed(2)} in savings from loyalty stamps or
- promotional offers. A time change requires admin approval. If denied, you can cancel
- (standard refund policy applies) and rebook at full price.
+ Your booking has £{discountTotal.toFixed(2)} in savings from loyalty stamps or promotional
+ offers. A time change requires admin approval. If denied, you can cancel (standard refund
+ policy applies) and rebook at full price.