diff --git a/app/properties/page.js b/app/properties/page.js index f8edd7e..7304f40 100644 --- a/app/properties/page.js +++ b/app/properties/page.js @@ -97,7 +97,7 @@ function extractCity(address) { // API-only — no fallback data -const PropertyCard = ({ property, viewMode = 'grid' }) => { +const PropertyCard = ({ property, viewMode = 'grid', onLoginRequired }) => { const { isFavorite: checkFavorite, addFavorite, removeFavorite } = useFavorites(); const [favLoading, setFavLoading] = useState(false); const [currentImage, setCurrentImage] = useState(0); @@ -107,7 +107,7 @@ const PropertyCard = ({ property, viewMode = 'grid' }) => { const toggleFavorite = async (e) => { e.preventDefault(); e.stopPropagation(); - if (!AuthService.isAuthenticated()) { toast.error('سجل الدخول أولاً'); return; } + if (!AuthService.isAuthenticated()) { onLoginRequired?.(); return; } setFavLoading(true); if (isFav) { await removeFavorite(property.id); @@ -493,6 +493,7 @@ export default function PropertiesPage() { const [sortBy, setSortBy] = useState('newest'); const [properties, setProperties] = useState([]); const [loading, setLoading] = useState(true); + const [showLoginDialog, setShowLoginDialog] = useState(false); const [filters, setFilters] = useState({ search: '', propertyType: 'all', @@ -625,7 +626,7 @@ export default function PropertiesPage() { : 'space-y-4' }> {filteredProperties.map((property) => ( - + setShowLoginDialog(true)} /> ))} @@ -644,6 +645,36 @@ export default function PropertiesPage() { )} + {showLoginDialog && ( +
setShowLoginDialog(false)}> + e.stopPropagation()} + className="bg-white rounded-2xl p-6 max-w-sm w-full mx-4 shadow-xl text-center" + > +
+ +
+

تسجيل الدخول مطلوب

+

يجب تسجيل الدخول لإضافة العقارات إلى المفضلة

+
+ + + تسجيل الدخول + +
+
+
+ )} ); } diff --git a/app/property/[id]/PropertyDetail.js b/app/property/[id]/PropertyDetail.js index 374025b..9cae800 100644 --- a/app/property/[id]/PropertyDetail.js +++ b/app/property/[id]/PropertyDetail.js @@ -422,7 +422,7 @@ export default function PropertyDetailsPage() {