hours and minutes to one input for duration
parent
07f9240994
commit
93a5094c7c
|
@ -16,8 +16,12 @@
|
||||||
"add": "Hinzufügen"
|
"add": "Hinzufügen"
|
||||||
},
|
},
|
||||||
"unit": {
|
"unit": {
|
||||||
|
"hours": "Stunden",
|
||||||
|
"hour": "Stunde",
|
||||||
"minutes": "Minuten",
|
"minutes": "Minuten",
|
||||||
"days": "Tage"
|
"minute": "Minute",
|
||||||
|
"days": "Tage",
|
||||||
|
"separator": "und"
|
||||||
},
|
},
|
||||||
"failed": "Fehlgeschlagen",
|
"failed": "Fehlgeschlagen",
|
||||||
"action": "Aktion",
|
"action": "Aktion",
|
||||||
|
@ -104,10 +108,7 @@
|
||||||
"serviceActivityPrice": "Preis der Tätigkeit",
|
"serviceActivityPrice": "Preis der Tätigkeit",
|
||||||
"serviceActivityPricePlaceholder": "Geben Sie den Preis der Tätigkeit ein",
|
"serviceActivityPricePlaceholder": "Geben Sie den Preis der Tätigkeit ein",
|
||||||
"serviceActivityPriceUnit": "€",
|
"serviceActivityPriceUnit": "€",
|
||||||
"serviceActivityDurationHours": "Dauer der Tätigkeit (Stunden)",
|
"serviceActivityDurationMinutes": "Dauer der Tätigkeit",
|
||||||
"serviceActivityDurationHoursPlaceholder": "Geben Sie die Dauer der Tätigkeit in Stunden ein",
|
|
||||||
"serviceActivityDurationHoursUnit": "Stunden",
|
|
||||||
"serviceActivityDurationMinutes": "Dauer der Tätigkeit (Minuten)",
|
|
||||||
"serviceActivityDurationMinutesPlaceholder": "Geben Sie die Dauer der Tätigkeit in Minuten ein",
|
"serviceActivityDurationMinutesPlaceholder": "Geben Sie die Dauer der Tätigkeit in Minuten ein",
|
||||||
"serviceActivityDurationMinutesUnit": "Minuten",
|
"serviceActivityDurationMinutesUnit": "Minuten",
|
||||||
"serviceActivityResponsible": "Verantwortliche Mitarbeiter",
|
"serviceActivityResponsible": "Verantwortliche Mitarbeiter",
|
||||||
|
|
|
@ -16,8 +16,12 @@
|
||||||
"add": "Add"
|
"add": "Add"
|
||||||
},
|
},
|
||||||
"unit": {
|
"unit": {
|
||||||
"minutes": "Minutes",
|
"hours": "hours",
|
||||||
"days": "Days"
|
"hour": "hour",
|
||||||
|
"minutes": "minutes",
|
||||||
|
"minute": "minute",
|
||||||
|
"days": "Days",
|
||||||
|
"separator": "and"
|
||||||
},
|
},
|
||||||
"failed": "Failed",
|
"failed": "Failed",
|
||||||
"action": "Action",
|
"action": "Action",
|
||||||
|
@ -107,9 +111,6 @@
|
||||||
"serviceActivityPrice": "Price of the activity",
|
"serviceActivityPrice": "Price of the activity",
|
||||||
"serviceActivityPricePlaceholder": "Enter the price of the activity",
|
"serviceActivityPricePlaceholder": "Enter the price of the activity",
|
||||||
"serviceActivityPriceUnit": "€",
|
"serviceActivityPriceUnit": "€",
|
||||||
"serviceActivityDurationHours": "Duration of activity (hours)",
|
|
||||||
"serviceActivityDurationHoursPlaceholder": "Enter the duration of the activity in hours",
|
|
||||||
"serviceActivityDurationHoursUnit": "Hours",
|
|
||||||
"serviceActivityDurationMinutes": "Duration of activity (minutes)",
|
"serviceActivityDurationMinutes": "Duration of activity (minutes)",
|
||||||
"serviceActivityDurationMinutesPlaceholder": "Enter the duration of the activity in minutes",
|
"serviceActivityDurationMinutesPlaceholder": "Enter the duration of the activity in minutes",
|
||||||
"serviceActivityDurationMinutesUnit": "Minutes",
|
"serviceActivityDurationMinutesUnit": "Minutes",
|
||||||
|
|
|
@ -351,7 +351,12 @@ function Service({
|
||||||
>
|
>
|
||||||
<p>{activity.description}</p>
|
<p>{activity.description}</p>
|
||||||
<p>Preis: {activity.price} €</p>
|
<p>Preis: {activity.price} €</p>
|
||||||
<p>Dauer: {activity.duration} Minuten</p>
|
<p>
|
||||||
|
Dauer: {activity.duration} Minuten{" "}
|
||||||
|
<Typography.Text type="secondary">
|
||||||
|
{durationToHoursAndMinutes(t, activity.duration)}
|
||||||
|
</Typography.Text>
|
||||||
|
</p>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
|
@ -366,6 +371,37 @@ function Service({
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function durationToHoursAndMinutes(t, duration) {
|
||||||
|
const MINUTES_IN_HOUR = 60;
|
||||||
|
const singularHourText = t("common.unit.hour");
|
||||||
|
const pluralHourText = t("common.unit.hours");
|
||||||
|
const singularMinuteText = t("common.unit.minute");
|
||||||
|
const pluralMinuteText = t("common.unit.minutes");
|
||||||
|
|
||||||
|
const hours = Math.floor(duration / MINUTES_IN_HOUR);
|
||||||
|
const minutes = duration % MINUTES_IN_HOUR;
|
||||||
|
|
||||||
|
if (hours === 0 && minutes < 61) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
let response = "";
|
||||||
|
|
||||||
|
if (hours === 0) {
|
||||||
|
response = `${minutes} ${
|
||||||
|
minutes === 1 ? singularMinuteText : pluralMinuteText
|
||||||
|
}`;
|
||||||
|
} else if (minutes === 0) {
|
||||||
|
response = `${hours} ${hours === 1 ? singularHourText : pluralHourText}`;
|
||||||
|
} else {
|
||||||
|
response = `${hours} ${hours === 1 ? singularHourText : pluralHourText} ${t(
|
||||||
|
"common.unit.separator"
|
||||||
|
)} ${minutes} ${minutes === 1 ? singularMinuteText : pluralMinuteText}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return `(${response})`;
|
||||||
|
}
|
||||||
|
|
||||||
// this modal is used to create and edit services
|
// this modal is used to create and edit services
|
||||||
function ModalAddEditService({
|
function ModalAddEditService({
|
||||||
storeId,
|
storeId,
|
||||||
|
@ -550,11 +586,9 @@ function ModalAddEditServiceActivity({
|
||||||
serviceActivityDescription:
|
serviceActivityDescription:
|
||||||
addEditServiceActivityModalOptions.activity.description,
|
addEditServiceActivityModalOptions.activity.description,
|
||||||
serviceActivityPrice: addEditServiceActivityModalOptions.activity.price,
|
serviceActivityPrice: addEditServiceActivityModalOptions.activity.price,
|
||||||
serviceActivityDurationHours: Math.floor(
|
|
||||||
addEditServiceActivityModalOptions.activity.duration / 60
|
|
||||||
),
|
|
||||||
serviceActivityDurationMinutes:
|
serviceActivityDurationMinutes:
|
||||||
addEditServiceActivityModalOptions.activity.duration % 60,
|
addEditServiceActivityModalOptions.activity.duration,
|
||||||
});
|
});
|
||||||
|
|
||||||
setSelectedEmployeesRowKeys(
|
setSelectedEmployeesRowKeys(
|
||||||
|
@ -600,9 +634,7 @@ function ModalAddEditServiceActivity({
|
||||||
name: values.serviceActivityName,
|
name: values.serviceActivityName,
|
||||||
description: values.serviceActivityDescription,
|
description: values.serviceActivityDescription,
|
||||||
price: values.serviceActivityPrice,
|
price: values.serviceActivityPrice,
|
||||||
duration:
|
duration: values.serviceActivityDurationMinutes,
|
||||||
values.serviceActivityDurationHours * 60 +
|
|
||||||
values.serviceActivityDurationMinutes,
|
|
||||||
userIds:
|
userIds:
|
||||||
selectedEmployeesRowKeys.length === users.length
|
selectedEmployeesRowKeys.length === users.length
|
||||||
? []
|
? []
|
||||||
|
@ -637,14 +669,11 @@ function ModalAddEditServiceActivity({
|
||||||
const formServiceActivityPrice = form.getFieldValue(
|
const formServiceActivityPrice = form.getFieldValue(
|
||||||
"serviceActivityPrice"
|
"serviceActivityPrice"
|
||||||
);
|
);
|
||||||
const formServiceActivityDurationHours = form.getFieldValue(
|
|
||||||
"serviceActivityDurationHours"
|
|
||||||
);
|
|
||||||
const formServiceActivityDurationMinutes = form.getFieldValue(
|
const formServiceActivityDurationMinutes = form.getFieldValue(
|
||||||
"serviceActivityDurationMinutes"
|
"serviceActivityDurationMinutes"
|
||||||
);
|
);
|
||||||
|
|
||||||
// if the service name didn't change, don't send a request
|
// if the service didn't change, don't send a request
|
||||||
if (
|
if (
|
||||||
addEditServiceActivityModalOptions.activity.name ===
|
addEditServiceActivityModalOptions.activity.name ===
|
||||||
formServiceActivityName &&
|
formServiceActivityName &&
|
||||||
|
@ -653,7 +682,6 @@ function ModalAddEditServiceActivity({
|
||||||
addEditServiceActivityModalOptions.activity.price ===
|
addEditServiceActivityModalOptions.activity.price ===
|
||||||
formServiceActivityPrice &&
|
formServiceActivityPrice &&
|
||||||
addEditServiceActivityModalOptions.activity.duration ===
|
addEditServiceActivityModalOptions.activity.duration ===
|
||||||
formServiceActivityDurationHours * 60 +
|
|
||||||
formServiceActivityDurationMinutes &&
|
formServiceActivityDurationMinutes &&
|
||||||
(selectedEmployeesRowKeys.length === users.length ||
|
(selectedEmployeesRowKeys.length === users.length ||
|
||||||
addEditServiceActivityModalOptions.activity
|
addEditServiceActivityModalOptions.activity
|
||||||
|
@ -694,15 +722,12 @@ function ModalAddEditServiceActivity({
|
||||||
body.price = formServiceActivityPrice;
|
body.price = formServiceActivityPrice;
|
||||||
}
|
}
|
||||||
|
|
||||||
let formDuration =
|
let formDuration = formServiceActivityDurationMinutes;
|
||||||
formServiceActivityDurationHours * 60 +
|
|
||||||
formServiceActivityDurationMinutes;
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
formDuration !==
|
formDuration !==
|
||||||
addEditServiceActivityModalOptions.activity.duration
|
addEditServiceActivityModalOptions.activity.duration
|
||||||
) {
|
) {
|
||||||
validateFields.push("serviceActivityDurationHours");
|
|
||||||
validateFields.push("serviceActivityDurationMinutes");
|
validateFields.push("serviceActivityDurationMinutes");
|
||||||
body.duration = formDuration;
|
body.duration = formDuration;
|
||||||
}
|
}
|
||||||
|
@ -740,8 +765,6 @@ function ModalAddEditServiceActivity({
|
||||||
|
|
||||||
<ServiceActivityPriceFormInput formItemName="serviceActivityPrice" />
|
<ServiceActivityPriceFormInput formItemName="serviceActivityPrice" />
|
||||||
|
|
||||||
<ServiceActivityDurationHoursFormInput formItemName="serviceActivityDurationHours" />
|
|
||||||
|
|
||||||
<ServiceActivityDurationMinutesFormInput formItemName="serviceActivityDurationMinutes" />
|
<ServiceActivityDurationMinutesFormInput formItemName="serviceActivityDurationMinutes" />
|
||||||
|
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
<Space direction="vertical" style={{ width: "100%" }}>
|
||||||
|
@ -870,7 +893,7 @@ function ServiceActivityPriceFormInput({ formItemName }) {
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
function ServiceActivityDurationHoursFormInput({
|
function ServiceActivityDurationHoursFormInput({
|
||||||
formItemName,
|
formItemName,
|
||||||
setIsInputValid,
|
setIsInputValid,
|
||||||
|
@ -897,7 +920,7 @@ function ServiceActivityDurationHoursFormInput({
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
function ServiceActivityDurationMinutesFormInput({
|
function ServiceActivityDurationMinutesFormInput({
|
||||||
formItemName,
|
formItemName,
|
||||||
setIsInputValid,
|
setIsInputValid,
|
||||||
|
|
|
@ -70,14 +70,12 @@ export const Constants = {
|
||||||
MAX_STORE_SERVICE_ACTIVITY_DESCRIPTION_LENGTH: 1024,
|
MAX_STORE_SERVICE_ACTIVITY_DESCRIPTION_LENGTH: 1024,
|
||||||
MIN_STORE_SERVICE_ACTIVITY_PRICE: 0,
|
MIN_STORE_SERVICE_ACTIVITY_PRICE: 0,
|
||||||
MAX_STORE_SERVICE_ACTIVITY_PRICE: 10000000,
|
MAX_STORE_SERVICE_ACTIVITY_PRICE: 10000000,
|
||||||
MIN_STORE_SERVICE_ACTIVITY_DURATION_HOURS: 0,
|
|
||||||
MAX_STORE_SERVICE_ACTIVITY_DURATION_HOURS: 23,
|
|
||||||
MIN_STORE_SERVICE_ACTIVITY_DURATION_MINUTES: 0,
|
MIN_STORE_SERVICE_ACTIVITY_DURATION_MINUTES: 0,
|
||||||
MAX_STORE_SERVICE_ACTIVITY_DURATION_MINUTES: 59,
|
MAX_STORE_SERVICE_ACTIVITY_DURATION_MINUTES: 60 * 24, // 24 hours in minutes
|
||||||
MIN_CALENDAR_FUTURE_BOOKING_DAYS: 0,
|
MIN_CALENDAR_FUTURE_BOOKING_DAYS: 0,
|
||||||
MAX_CALENDAR_FUTURE_BOOKING_DAYS: 365,
|
MAX_CALENDAR_FUTURE_BOOKING_DAYS: 365,
|
||||||
MIN_CALENDAR_EARLIEST_BOOKING_TIME: 0,
|
MIN_CALENDAR_EARLIEST_BOOKING_TIME: 0,
|
||||||
MAX_CALENDAR_EARLIEST_BOOKING_TIME: 60 * 24, // 24 hours
|
MAX_CALENDAR_EARLIEST_BOOKING_TIME: 60 * 24, // 24 hours in minutes
|
||||||
},
|
},
|
||||||
DELAY_ACCOUNT_NAME_CHECK: 250,
|
DELAY_ACCOUNT_NAME_CHECK: 250,
|
||||||
MAX_AVATAR_SIZE: 5 * 1024 * 1024,
|
MAX_AVATAR_SIZE: 5 * 1024 * 1024,
|
||||||
|
|
Loading…
Reference in New Issue