awaiting_payment fit

This commit is contained in:
2026-06-29 17:32:43 +03:30
parent 11894cea4e
commit 129a34f7eb
+16 -4
View File
@@ -65,6 +65,11 @@
:error="classesError" :error="classesError"
/> />
<ListCardSkeleton
v-else-if="loadingClasses && currentStep < 2"
:count="3"
/>
<div v-else-if="currentStep === 2" class="space-y-4"> <div v-else-if="currentStep === 2" class="space-y-4">
<p class="text-sm text-muted"> <p class="text-sm text-muted">
می‌توانید یک یا چند خدمت انتخاب کنید. برای لغو انتخاب، دوباره روی همان خدمت بزنید. می‌توانید یک یا چند خدمت انتخاب کنید. برای لغو انتخاب، دوباره روی همان خدمت بزنید.
@@ -319,6 +324,7 @@ const paymentInfoText = computed(() =>
: 'پس از ثبت، درخواست شما بررسی می‌شود. در صورت تأیید صاحب کسب‌وکار، لینک پرداخت آنلاین برای شما در اپ و پیامک ارسال می‌شود.', : 'پس از ثبت، درخواست شما بررسی می‌شود. در صورت تأیید صاحب کسب‌وکار، لینک پرداخت آنلاین برای شما در اپ و پیامک ارسال می‌شود.',
); );
const phase = ref<'booking' | 'success'>('booking'); const phase = ref<'booking' | 'success'>('booking');
const currentStep = ref(1);
const selectedClassId = ref(''); const selectedClassId = ref('');
const selectedServiceIds = ref<string[]>([]); const selectedServiceIds = ref<string[]>([]);
const scheduledAt = ref(''); const scheduledAt = ref('');
@@ -330,12 +336,15 @@ const earliestSlotIso = ref<string | null>(null);
const dateTimeRef = ref<InstanceType<typeof DesktopBookingDateTime> | null>(null); const dateTimeRef = ref<InstanceType<typeof DesktopBookingDateTime> | null>(null);
const serviceClasses = ref<BusinessServiceClass[]>([]); const serviceClasses = ref<BusinessServiceClass[]>([]);
const loadingClasses = ref(false); const loadingClasses = ref(true);
const classesError = ref(''); const classesError = ref('');
const classStepRequired = computed( const classStepRequired = computed(() => {
() => Boolean(props.business.serviceClassesEnabled) && serviceClasses.value.length > 0, if (loadingClasses.value && props.business.serviceClassesEnabled) {
); return true;
}
return Boolean(props.business.serviceClassesEnabled) && serviceClasses.value.length > 0;
});
const firstBookingStep = computed(() => { const firstBookingStep = computed(() => {
if (!classStepRequired.value) return 2; if (!classStepRequired.value) return 2;
@@ -544,6 +553,9 @@ function toggleService(serviceId: string) {
async function loadClasses() { async function loadClasses() {
loadingClasses.value = true; loadingClasses.value = true;
classesError.value = ''; classesError.value = '';
if (!props.business.serviceClassesEnabled) {
currentStep.value = 2;
}
try { try {
serviceClasses.value = await fetchBusinessServiceClasses(props.business.id, { serviceClasses.value = await fetchBusinessServiceClasses(props.business.id, {
activeOnly: true, activeOnly: true,