fix: handle empty package pricing fields correctly
This commit is contained in:
@@ -94,8 +94,8 @@ export default function HealthPackagePage() {
|
|||||||
slug: "",
|
slug: "",
|
||||||
description: "",
|
description: "",
|
||||||
image: "",
|
image: "",
|
||||||
price: 0,
|
price: undefined,
|
||||||
discountedPrice: 0,
|
discountedPrice: undefined,
|
||||||
categoryId: 0,
|
categoryId: 0,
|
||||||
isActive: true,
|
isActive: true,
|
||||||
sortOrder: 1000,
|
sortOrder: 1000,
|
||||||
@@ -204,8 +204,8 @@ export default function HealthPackagePage() {
|
|||||||
slug: "",
|
slug: "",
|
||||||
description: "",
|
description: "",
|
||||||
image: "",
|
image: "",
|
||||||
price: 0,
|
price: undefined,
|
||||||
discountedPrice: 0,
|
discountedPrice: undefined,
|
||||||
categoryId: categories[0]?.id || 0,
|
categoryId: categories[0]?.id || 0,
|
||||||
isActive: true,
|
isActive: true,
|
||||||
sortOrder: 1000,
|
sortOrder: 1000,
|
||||||
@@ -300,13 +300,16 @@ export default function HealthPackagePage() {
|
|||||||
inclusions: parsedInclusions,
|
inclusions: parsedInclusions,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!finalData.price) {
|
finalData.price =
|
||||||
delete finalData.price;
|
finalData.price !== undefined && finalData.price !== null
|
||||||
}
|
? Number(finalData.price)
|
||||||
|
: null;
|
||||||
|
|
||||||
if (!finalData.discountedPrice) {
|
finalData.discountedPrice =
|
||||||
delete finalData.discountedPrice;
|
finalData.discountedPrice !== undefined &&
|
||||||
}
|
finalData.discountedPrice !== null
|
||||||
|
? Number(finalData.discountedPrice)
|
||||||
|
: null;
|
||||||
if (editingPackage?.id) {
|
if (editingPackage?.id) {
|
||||||
const changedFields: Record<string, any> = {};
|
const changedFields: Record<string, any> = {};
|
||||||
Object.keys(finalData).forEach((key) => {
|
Object.keys(finalData).forEach((key) => {
|
||||||
@@ -519,9 +522,15 @@ export default function HealthPackagePage() {
|
|||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<div className="font-semibold">
|
<div className="font-semibold">
|
||||||
₹{pkg.discountedPrice || pkg.price}
|
{pkg.discountedPrice != null
|
||||||
|
? `₹${pkg.discountedPrice}`
|
||||||
|
: pkg.price != null
|
||||||
|
? `₹${pkg.price}`
|
||||||
|
: "Not Entered"}
|
||||||
</div>
|
</div>
|
||||||
{pkg.discountedPrice &&
|
|
||||||
|
{pkg.discountedPrice != null &&
|
||||||
|
pkg.price != null &&
|
||||||
pkg.discountedPrice < pkg.price && (
|
pkg.discountedPrice < pkg.price && (
|
||||||
<div className="text-xs text-muted-foreground line-through">
|
<div className="text-xs text-muted-foreground line-through">
|
||||||
₹{pkg.price}
|
₹{pkg.price}
|
||||||
@@ -835,14 +844,19 @@ export default function HealthPackagePage() {
|
|||||||
<Input
|
<Input
|
||||||
type="number"
|
type="number"
|
||||||
value={pkgForm.price || ""}
|
value={pkgForm.price || ""}
|
||||||
onChange={(e) =>
|
onChange={(e) => {
|
||||||
|
const value = e.target.value
|
||||||
|
? Number(e.target.value)
|
||||||
|
: undefined;
|
||||||
|
|
||||||
setPkgForm({
|
setPkgForm({
|
||||||
...pkgForm,
|
...pkgForm,
|
||||||
price: e.target.value
|
price: value,
|
||||||
? Number(e.target.value)
|
discountedPrice: value
|
||||||
|
? pkgForm.discountedPrice
|
||||||
: undefined,
|
: undefined,
|
||||||
})
|
});
|
||||||
}
|
}}
|
||||||
className="text-base"
|
className="text-base"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -852,6 +866,7 @@ export default function HealthPackagePage() {
|
|||||||
</Label>
|
</Label>
|
||||||
<Input
|
<Input
|
||||||
type="number"
|
type="number"
|
||||||
|
disabled={!pkgForm.price}
|
||||||
value={pkgForm.discountedPrice || ""}
|
value={pkgForm.discountedPrice || ""}
|
||||||
onChange={(e) =>
|
onChange={(e) =>
|
||||||
setPkgForm({
|
setPkgForm({
|
||||||
@@ -1061,7 +1076,11 @@ export default function HealthPackagePage() {
|
|||||||
Pricing
|
Pricing
|
||||||
</p>
|
</p>
|
||||||
<p className="text-xl font-bold">
|
<p className="text-xl font-bold">
|
||||||
₹{selectedPackage?.discountedPrice || selectedPackage?.price}
|
{selectedPackage?.discountedPrice != null
|
||||||
|
? `₹${selectedPackage.discountedPrice}`
|
||||||
|
: selectedPackage?.price != null
|
||||||
|
? `₹${selectedPackage.price}`
|
||||||
|
: "Not Entered"}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user