AI d9a203016f feat: massive Airbnb import pipeline overhaul + UI fixes
🔥 Scraper Improvements:
- Add JSON-LD price extraction (regression fix)
- Fix sleeping spotsPerUnit bug (was hardcoded to 2)
- Remove stale CSS selectors, add robust fallbacks
- Add JSON-LD price fallback in extraction pipeline
- Improve sleeping parser regex (lastIndex bug fix)
- Add 15+ new bed type patterns (murphy, day bed, hammock, plurals)
- Smarter deriveSleepingFromBeds() with mixed bed logic

📅 Import Form UX:
- Smart defaults (next weekend dates)
- Auto-calculate nights display
- URL param auto-detection (?check_in=&check_out=&adults=)
- Better visual hierarchy with icons
- Progress steps during import
- Success redirect to listing detail page

🗑️ Delete Button Fix:
- Add router.refresh() after successful delete
- Inline error state instead of alert()
- Admin delete button as proper client component

✏️ Edit/Admin Fixes:
- Fix revalidatePath using slug instead of id
- Fix redirect to detail page after edit
- Add cascade delete logic to admin deleteListing
- Extract delete to proper client component

🎨 UI States for Partial Data:
- Price: 'Preis auf Anfrage' with context hint
- Location: 'Ort nicht erkannt' instead of empty
- Sleeping: placeholder when no data
- Suitability: 3-state (yes/no/unknown)
- Use formatPrice/formatRating utilities

🛏️ Sleeping Data Quality:
- Add sleepingDataQuality to Prisma schema
- Save quality (EXACT/DERIVED/UNKNOWN) to DB
- Display '(geschätzt)' label for derived data

📊 Database:
- Restore corrupted schema.prisma from git
- Add sleepingDataQuality field
- Push schema changes

 TypeScript: Zero errors
 Build: Successful
2026-03-12 08:07:52 +00:00
..