Add image upload to property form via FilesController
All checks were successful
Build frontend / build (push) Successful in 52s
All checks were successful
Build frontend / build (push) Successful in 52s
- Added uploadPicture() API function for POST /Files/UploadPicture - Images uploaded immediately on selection, paths stored - PropertyInformation.images sent with server-side paths - Remove image also removes from uploaded paths
This commit is contained in:
@ -175,7 +175,7 @@ export default function AddPropertyPage() {
|
||||
{ id: 'daily', label: 'إيجار يومي', icon: Clock },
|
||||
{ id: 'monthly', label: 'إيجار شهري', icon: Calendar },
|
||||
{ id: 'both', label: 'إيجار يومي وشهري', icon: Calendar },
|
||||
];
|
||||
].filter(Boolean);
|
||||
|
||||
useEffect(() => {
|
||||
if (typeof window !== 'undefined') {
|
||||
@ -376,22 +376,25 @@ const handleMapClick = async (coords) => {
|
||||
};
|
||||
|
||||
const toggleService = (serviceId) => {
|
||||
setFormData({
|
||||
...formData,
|
||||
services: {
|
||||
...formData.services,
|
||||
[serviceId]: !formData.services[serviceId]
|
||||
}
|
||||
setFormData(prev => {
|
||||
const services = { ...prev.services };
|
||||
services[serviceId] = !services[serviceId];
|
||||
return { ...prev, services };
|
||||
});
|
||||
};
|
||||
|
||||
const updateServiceDetail = (serviceId, value) => {
|
||||
setFormData(prev => ({
|
||||
...prev,
|
||||
serviceDetails: { ...prev.serviceDetails, [serviceId]: value }
|
||||
}));
|
||||
};
|
||||
|
||||
const toggleTerm = (termId) => {
|
||||
setFormData({
|
||||
...formData,
|
||||
terms: {
|
||||
...formData.terms,
|
||||
[termId]: !formData.terms[termId]
|
||||
}
|
||||
setFormData(prev => {
|
||||
const terms = { ...prev.terms };
|
||||
terms[termId] = !terms[termId];
|
||||
return { ...prev, terms };
|
||||
});
|
||||
};
|
||||
|
||||
@ -565,6 +568,7 @@ const handleMapClick = async (coords) => {
|
||||
buildingType: buildingTypeMap[formData.propertyType] ?? BuildingType.APARTMENT,
|
||||
status: 0,
|
||||
propertyType: formData.furnished ? RentPropertyCondition.WITH_FURNITURE : RentPropertyCondition.WITHOUT_FURNITURE,
|
||||
images: uploadedImagePaths,
|
||||
},
|
||||
deposit: parseFloat(formData.deposit) || 0,
|
||||
monthlyRent: parseFloat(formData.monthlyPrice) || 0,
|
||||
|
||||
Reference in New Issue
Block a user