diff --git a/src/utils/service-pricing.ts b/src/utils/service-pricing.ts index d411c31..234b5f1 100644 --- a/src/utils/service-pricing.ts +++ b/src/utils/service-pricing.ts @@ -33,6 +33,13 @@ export function serviceHasActiveClassPrices( ); } +export function isServiceBookableForClass( + service: BusinessService, + classId: string, +): boolean { + return service.isActive && !!getClassPriceForService(service, classId); +} + export function isServiceBookable( service: BusinessService, classesEnabled: boolean, @@ -47,7 +54,13 @@ export function servicePriceLabel( service: BusinessService, classesEnabled: boolean, classes: BusinessServiceClass[], + classId?: string | null, ): string { + if (classId) { + const price = resolvedServicePrice(service, classId); + return price ? `${formatPriceToman(price)} تومان` : 'قیمت تعیین نشده'; + } + if (!usesServiceClasses(classesEnabled, classes)) { return `${formatPriceToman(service.price)} تومان`; } diff --git a/src/views/app/AppBusinessDetailView.vue b/src/views/app/AppBusinessDetailView.vue index 19b5dc4..a7254d0 100644 --- a/src/views/app/AppBusinessDetailView.vue +++ b/src/views/app/AppBusinessDetailView.vue @@ -60,88 +60,140 @@ > {{ servicesError }}
-- خدمات مورد نظر را انتخاب کنید، سپس زمان مراجعه را تعیین کنید. -
-+ برای دیدن خدمات و قیمتها، ابتدا کلاس خودرو را انتخاب کنید. +
+ ++ {{ + requiresServiceClass + ? '۲. خدمات مورد نظر را انتخاب کنید، سپس زمان مراجعه را تعیین کنید.' + : 'خدمات مورد نظر را انتخاب کنید، سپس زمان مراجعه را تعیین کنید.' + }} +
+- {{ svc.serviceTemplate?.title ?? 'خدمت' }} -
-- {{ svc.serviceTemplate.description }} -
-{{ servicePriceLabel(svc, classesEnabled, serviceClasses) }}
-{{ serviceDurationLabel(svc, classesEnabled, serviceClasses) }}
-- {{ svc.serviceTemplate?.title ?? 'خدمت' }} -
-- {{ svc.serviceTemplate.description }} -
-{{ servicePriceLabel(svc, classesEnabled, serviceClasses) }}
-{{ serviceDurationLabel(svc, classesEnabled, serviceClasses) }}
-+ {{ svc.serviceTemplate?.title ?? 'خدمت' }} +
++ {{ svc.serviceTemplate.description }} +
+{{ servicePriceLabel(svc, classesEnabled, serviceClasses, selectedClassId || null) }}
+{{ serviceDurationLabel(svc, classesEnabled, serviceClasses, selectedClassId || null) }}
+کسبوکار
{{ business.title }}
+کلاس
+{{ selectedClass.title }}
{{ totalDurationLabel }}
- ابتدا کلاس خودرو را انتخاب کنید. -