import React, { useState } from 'react'; import { Trash2, Edit3, Save, X } from 'lucide-react'; const App = () => { const [properties, setProperties] = useState([]); const [property, setProperty] = useState({ name: '', address: '', rent: '' }); const [editIndex, setEditIndex] = useState(null); const [filterRent, setFilterRent] = useState(''); const addProperty = () => { if (property.name && property.address && property.rent) { setProperties([...properties, property]); setProperty({ name: '', address: '', rent: '' }); } }; const updateProperty = (index) => { const updatedProperties = properties.map((prop, i) => i === index ? property : prop ); setProperties(updatedProperties); setEditIndex(null); setProperty({ name: '', address: '', rent: '' }); }; const deleteProperty = (index) => { setProperties(properties.filter((_, i) => i !== index)); }; const filteredProperties = properties.filter((prop) => filterRent ? prop.rent <= filterRent : true ); return (

Rental Property Manager

{editIndex !== null ? 'Edit Property' : 'Add New Property'}

setProperty({ ...property, name: e.target.value })} className="block w-full mb-2 p-2 border rounded" /> setProperty({ ...property, address: e.target.value })} className="block w-full mb-2 p-2 border rounded" /> setProperty({ ...property, rent: e.target.value })} className="block w-full mb-4 p-2 border rounded" /> {editIndex !== null ? ( ) : ( )} {editIndex !== null && ( )}

Filter Properties by Rent

setFilterRent(e.target.value)} className="block w-full mb-4 p-2 border rounded" />

Properties

{filteredProperties.length === 0 ? (

No properties match the criteria.

) : ( )}
); }; export default App;