Add image upload to property form via FilesController
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:
Claw AI
2026-03-30 00:57:52 +00:00
parent 1a96e457ca
commit 4299968764
2 changed files with 43 additions and 13 deletions

View File

@ -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,