Merge pull request 'fix: optional price fields' (#39) from fix/optional-pricing into dev
Reviewed-on: #39
This commit was merged in pull request #39.
This commit is contained in:
@@ -6,7 +6,7 @@ export interface HealthPackage {
|
||||
name: string;
|
||||
slug: string;
|
||||
description?: string;
|
||||
price: number;
|
||||
price?: number;
|
||||
image?: string;
|
||||
discountedPrice?: number;
|
||||
inclusions: Record<string, string[]>;
|
||||
|
||||
@@ -270,10 +270,6 @@ export default function HealthPackagePage() {
|
||||
if (!pkgForm.slug?.trim()) return toast.error("URL Slug is required.");
|
||||
if (!pkgForm.categoryId)
|
||||
return toast.error("Please select a valid category.");
|
||||
if (pkgForm.price === undefined || pkgForm.price <= 0)
|
||||
return toast.error(
|
||||
"Regular Price must be a valid amount greater than 0.",
|
||||
);
|
||||
if (!pkgForm.description?.trim())
|
||||
return toast.error("Description is required.");
|
||||
|
||||
@@ -299,8 +295,18 @@ export default function HealthPackagePage() {
|
||||
}
|
||||
});
|
||||
|
||||
const finalData = { ...pkgForm, inclusions: parsedInclusions };
|
||||
const finalData: Partial<HealthPackage> = {
|
||||
...pkgForm,
|
||||
inclusions: parsedInclusions,
|
||||
};
|
||||
|
||||
if (!finalData.price) {
|
||||
delete finalData.price;
|
||||
}
|
||||
|
||||
if (!finalData.discountedPrice) {
|
||||
delete finalData.discountedPrice;
|
||||
}
|
||||
if (editingPackage?.id) {
|
||||
const changedFields: Record<string, any> = {};
|
||||
Object.keys(finalData).forEach((key) => {
|
||||
@@ -836,7 +842,9 @@ export default function HealthPackagePage() {
|
||||
onChange={(e) =>
|
||||
setPkgForm({
|
||||
...pkgForm,
|
||||
price: Number(e.target.value),
|
||||
price: e.target.value
|
||||
? Number(e.target.value)
|
||||
: undefined,
|
||||
})
|
||||
}
|
||||
className="text-base"
|
||||
@@ -852,7 +860,9 @@ export default function HealthPackagePage() {
|
||||
onChange={(e) =>
|
||||
setPkgForm({
|
||||
...pkgForm,
|
||||
discountedPrice: Number(e.target.value),
|
||||
discountedPrice: e.target.value
|
||||
? Number(e.target.value)
|
||||
: undefined,
|
||||
})
|
||||
}
|
||||
className="text-base"
|
||||
|
||||
Reference in New Issue
Block a user