Remove all fallback dummy data - API-only
All checks were successful
Build frontend / build (push) Successful in 38s
All checks were successful
Build frontend / build (push) Successful in 38s
- Removed FALLBACK_PROPERTIES from main page, properties listing, and property detail - Pages now start empty and populate only from API responses - Show empty state / error on API failure instead of dummy data
This commit is contained in:
86
app/page.js
86
app/page.js
@ -85,86 +85,7 @@ function mapApiProperty(item, index) {
|
||||
|
||||
// extractCity is now imported from @/app/enums
|
||||
|
||||
// Fallback dummy data
|
||||
const FALLBACK_PROPERTIES = [
|
||||
{
|
||||
id: 1,
|
||||
title: 'فيلا فاخرة في المزة',
|
||||
description: 'فيلا فاخرة مع حديقة خاصة ومسبح في أفضل أحياء دمشق.',
|
||||
type: 'villa',
|
||||
price: 500000,
|
||||
priceUSD: 50,
|
||||
priceUnit: 'daily',
|
||||
location: { city: 'دمشق', district: 'المزة', address: 'شارع المزة - فيلات غربية', lat: 33.5138, lng: 36.2765 },
|
||||
bedrooms: 5, bathrooms: 4, area: 450,
|
||||
features: ['مسبح', 'حديقة خاصة', 'موقف سيارات', 'أمن 24/7', 'تدفئة مركزية', 'تكييف مركزي'],
|
||||
images: ['/villa1.jpg', '/villa2.jpg', '/villa3.jpg'],
|
||||
status: 'available', rating: 4.8, isNew: true,
|
||||
allowedIdentities: ['syrian', 'passport'],
|
||||
priceDisplay: { daily: 500000, monthly: 15000000 },
|
||||
bookings: [{ startDate: '2024-03-10', endDate: '2024-03-15' }, { startDate: '2024-03-20', endDate: '2024-03-25' }]
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: 'شقة حديثة في الشهباء',
|
||||
description: 'شقة عصرية في حي الشهباء الراقي بحلب.',
|
||||
type: 'apartment',
|
||||
price: 250000, priceUSD: 25, priceUnit: 'daily',
|
||||
location: { city: 'حلب', district: 'الشهباء', address: 'شارع النيل - بناء الرحاب', lat: 36.2021, lng: 37.1347 },
|
||||
bedrooms: 3, bathrooms: 2, area: 180,
|
||||
features: ['مطبخ مجهز', 'بلكونة', 'موقف سيارات', 'مصعد'],
|
||||
images: ['/apartment1.jpg', '/apartment2.jpg'],
|
||||
status: 'available', rating: 4.5, isNew: false,
|
||||
allowedIdentities: ['syrian'],
|
||||
priceDisplay: { daily: 250000, monthly: 7500000 },
|
||||
bookings: [{ startDate: '2024-03-05', endDate: '2024-03-08' }]
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: 'بيت عائلي في بابا عمرو',
|
||||
description: 'بيت واسع مناسب للعائلات في حمص.',
|
||||
type: 'house',
|
||||
price: 350000, priceUSD: 35, priceUnit: 'daily',
|
||||
location: { city: 'حمص', district: 'بابا عمرو', address: 'حي الزهور', lat: 34.7265, lng: 36.7186 },
|
||||
bedrooms: 4, bathrooms: 3, area: 300,
|
||||
features: ['حديقة كبيرة', 'موقف سيارات', 'مدفأة', 'كراج'],
|
||||
images: ['/house1.jpg'],
|
||||
status: 'booked', rating: 4.3, isNew: false,
|
||||
allowedIdentities: ['syrian', 'passport'],
|
||||
priceDisplay: { daily: 350000, monthly: 10500000 },
|
||||
bookings: []
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: 'شقة بجانب البحر',
|
||||
description: 'شقة رائعة مع إطلالة بحرية في اللاذقية.',
|
||||
type: 'apartment',
|
||||
price: 300000, priceUSD: 30, priceUnit: 'daily',
|
||||
location: { city: 'اللاذقية', district: 'الشاطئ الأزرق', address: 'الكورنيش الغربي', lat: 35.5306, lng: 35.7801 },
|
||||
bedrooms: 3, bathrooms: 2, area: 200,
|
||||
features: ['إطلالة بحرية', 'شرفة', 'تكييف', 'أمن'],
|
||||
images: ['/seaside1.jpg', '/seaside2.jpg', '/seaside3.jpg'],
|
||||
status: 'available', rating: 4.9, isNew: true,
|
||||
allowedIdentities: ['passport'],
|
||||
priceDisplay: { daily: 300000, monthly: 9000000 },
|
||||
bookings: []
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
title: 'فيلا في درعا',
|
||||
description: 'فيلا فاخرة في حي الأطباء بدرعا.',
|
||||
type: 'villa',
|
||||
price: 400000, priceUSD: 40, priceUnit: 'daily',
|
||||
location: { city: 'درعا', district: 'حي الأطباء', address: 'شارع الشفاء', lat: 32.6237, lng: 36.1016 },
|
||||
bedrooms: 4, bathrooms: 3, area: 350,
|
||||
features: ['حديقة مثمرة', 'أنظمة أمن', 'مسبح', 'كراج'],
|
||||
images: ['/villa4.jpg', '/villa5.jpg'],
|
||||
status: 'available', rating: 4.6, isNew: false,
|
||||
allowedIdentities: ['syrian', 'passport'],
|
||||
priceDisplay: { daily: 400000, monthly: 12000000 },
|
||||
bookings: []
|
||||
}
|
||||
];
|
||||
// API-only — no fallback data
|
||||
|
||||
export default function HomePage() {
|
||||
const mapSectionRef = useRef(null);
|
||||
@ -176,7 +97,7 @@ export default function HomePage() {
|
||||
const [showUserMenu, setShowUserMenu] = useState(false);
|
||||
const menuRef = useRef(null);
|
||||
|
||||
const [allProperties, setAllProperties] = useState(FALLBACK_PROPERTIES);
|
||||
const [allProperties, setAllProperties] = useState([]);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
// Fetch properties from API on mount
|
||||
@ -210,8 +131,7 @@ export default function HomePage() {
|
||||
}
|
||||
// If API returns empty, keep fallback
|
||||
} catch (err) {
|
||||
console.warn('Failed to fetch properties, using fallback data:', err);
|
||||
// keep fallback data
|
||||
console.error('[Home] Failed to fetch properties:', err);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user