feat/airbnb-phone-scraper #15

Merged
hume merged 11 commits from feat/airbnb-phone-scraper into main 2026-09-04 18:14:44 +00:00
Owner
No description provided.
hume added 11 commits 2026-09-04 18:14:18 +00:00
- Replace custom sidebar with PrimeVue Menubar (horizontal, native)
- Parents = dropdown triggers only, children = navigation
- Rename 'Airbnb - Téléphones' to 'Airbnb - Scraping'
- Responsive: horizontal desktop, scroll-x mobile
- Remove hamburger, logo, version badge
- AirbnbScraper: extraction nom voyageur + téléphone depuis page détail réservation
  - Clic sur onglet 'Voyageurs'/'Qui participent' AVANT 'Gérer la réservation'
  - Attente networkidle pour chargement téléphone
  - Regex word-boundary pour nettoyage nom (fix 's Eleonore' bug)
  - Fermeture modal via Escape avant navigation

- Backend API:
  - GET /imports/airbnb/bookings-current-future (réservations en cours/futures)
  - POST /imports/airbnb/scrape-phones-selected (scraping sélection manuelle)
  - GET /mobile/bookings/{id} retourne tenant_phone
  - GET /imports/mobile/notifications retourne guest_phone

- Frontend AirbnbConfigView:
  - Bouton 'Sélection manuelle' avec DataTable (code, voyageur, dates, téléphone, statut)
  - Case 'Sélectionner toutes sans téléphone'
  - Progression temps réel pendant scraping

- Mobile App:
  - BookingDetailView: section Locataire avec 2 boutons téléphone
    - Bouton large 📋 : copie presse-papiers (fallback HTTP)
    - Bouton rond 📞 : ouvre app native d'appel (tel:)
    - Toast animé au lieu d'alert() natif
  - NotificationsView: champ guest_phone ajouté

- DB: migrations import_history (status + progression fields)
- Scraping progress: bg-blue-100 + text-blue-900 (was bg-blue-50/text-blue-600)
- Test result cards: bg-green-100/border-green-300 + text-gray-900
- Scrape results table: wrapped in bg-gray-50 border container
- Selection dialog phone column: Tag wrapped in bg-gray-50 rounded border
- ProgressSpinner: added strokeWidth + fill color
- Config fields: p-3 bg-gray-50 rounded border + text-gray-900
- Labels: text-gray-700
- Dernier scraping Airbnb: bg-gray-100 border border-gray-300 + text-gray-900
- Removed dark:bg-surface-800 (causes white-on-white in light mode)
- Config fields: inline styles with explicit hex colors (!important)
  - bg: #f9fafb, border: #d1d5db, label: #374151, value: #111827
- Dernier scraping Airbnb: bg #f3f4f6, border #d1d5db, text #111827
- Overrides PrimeVue dark mode tokens that cause white-on-white
- Header: gradient badge + icon, responsive layout
- Config card: 4-field grid (sm:2, lg:4) with elevated cards, subtle shadows
- Scraping status: green accent card with icon
- Actions: outlined secondary buttons + primary actions grouped
- Progress: gradient blue background, better typography
- Test form: aligned grid, improved result card with icons
- Results table: striped rows, colored phone numbers
- Dialogs: wider, better typography, consistent styling
- All cards: consistent shadow, border, rounded-xl
- Clean Card-based layout matching ImportFilePanel pattern
- summary-grid for config fields (Account ID, validation, cookies, created)
- Consistent actions row (Configurer, Tester, Valider)
- Scraping card with year selector + 2 primary actions
- Test card with aligned grid + result display
- Results table with stripedRows, colored phone numbers
- Dialogs: Selection (950px) + Cookies (700px)
- Fixed TypeScript null checks (testResult.value!, importStatus?.airbnb_scraping)
- Fixed @click handler (showCookieDialog = true)
- Added  import
- Query filter:
- Excludes past bookings (where Gérer la réservation is inaccessible)
- .forgejo/workflows/mobile.yml: Added commented build-live-update job
- deploy/deploy-mobile.sh: Added upload_live_update_release() function
  - Creates/updates 'live-update' release tag on Forgejo
  - Uploads bundle-v{version}.zip + latest.json
  - Handles 409 (release exists) gracefully
- capacitor.config.ts: Fixed LiveUpdate URL to point to latest.json
- liveUpdate.ts: Fixed check URL to match

Live Update will work after running deploy/deploy-mobile.sh
feat: add deploy-mobile-test.sh for local Live Update testing
All checks were successful
Backend / backend (pull_request) Successful in 53s
Frontend / frontend (pull_request) Successful in 21s
Migration Test / migration-test (pull_request) Successful in 38s
Mobile Frontend / Build Web Assets (pull_request) Successful in 10m0s
ade57a214d
- Builds web assets + bundle + latest.json
- Starts local HTTP server on 192.168.8.111:8080
- Creates test version (appends -test suffix)
- Optionally builds/installs debug APK (SKIP_APK=1 to skip)
- Uses cleartext HTTP (allowed by capacitor config)
- Run: ./deploy/deploy-mobile-test.sh [version]
hume merged commit d312a7987f into main 2026-09-04 18:14:44 +00:00
hume deleted branch feat/airbnb-phone-scraper 2026-09-04 18:14:44 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hume/sci-rental-manager!15
No description provided.