Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Leboncoin): fix and improve pratically everything #9227

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

Lenochxd
Copy link

Description

This PR introduces several improvements and fixes related to the LeBonCoin presence integration. The changes include new presence support for various LeBonCoin pages (almost all of them ig), refinements to the detection of prices and advertisers, and fixes for translation issues. Additionally, minor refactors and cleanup were performed.

Changes:
  • Added support

    • Added detection for the homepage (/) with the state "Page d'accueil".
    • Added detection for boutique pages, displaying the boutique name (/boutique).
    • Added detection for the "Favorites" page on LeBonCoin (/favorites).
    • Set a generic "Explore" presence for other unknown pages.
  • Fixed presences

    • Added /profile alias to deprecated /profil.
    • Fixed CSS queries for profiles (/profil/ & /profile/).
    • Fixed CSS queries for search results (/recherche).
    • Fixed CSS queries for account pages (/account).
  • Improvements

    • General: Added getAdvertiserName() and getAdPrice() functions to improve detection.
    • Adjusted price formatting for /offres_d_emploi/ (job offers) pages to correctly display salaries instead of sale prices. ("Payé 12€ brut/heure" instead of "Vendu 12€")
    • Fixed incorrect translation: Renamed "Mes annonces sauvegardées" to "Mes annonces" for better clarity. The previous term implied "Saved items", but it actually represents "My items" that the user is selling.
    • Improved consistency in extracting ad details and handling missing data by removing /voitures and /commerces_marches/ as they are now duplicates of /ad/.

Acknowledgements

Screenshots

Proof showing the creation/modification is working as expected

image

image

image

image

image

image

image

image

Lenochxd and others added 9 commits January 29, 2025 01:20
- Renamed "Mes annonces sauvegardées" to "Mes annonces" for better clarity.
  - The previous term implied "Saved items", but it actually represents "My items" that the user is selling.

Signed-off-by: Lenoch <[email protected]>
- Introduced a new presence for the "Favorites" page on LeBonCoin (`leboncoin.fr/favorites`).
- Displays activity for saved or favorited items.

Signed-off-by: Lenoch <[email protected]>
- Added `getAdvertiserName()` and `getAdPrice()` functions to improve detection.
- Added "/profile" alias to "/profil".
- Fixed CSS queries for profiles and search results (`/profil/`-`/profile/` & `/recherche`).
- Removed `/voitures` and `/commerces_marches/` as they are now duplicates of `/ad/`.
- Improved consistency in extracting ad details and handling missing data.
- Added myself (`LenochJade`) to the contributors list in `metadata.json`.
- Adjusted price formatting for `/offres_d_emploi/` pages to correctly display salaries instead of sale prices.
- Now prefixes job salaries with "Payé" instead of "Vendu".
- Ensured presence data updates correctly even if some price details are missing.
- Added detection for `/boutique` pages to display shop names in the presence.
- Uses `document.querySelector("h1.mb-md")?.textContent` to extract the boutique name.
- Includes a button linking to the boutique page.
- Added detection for the homepage (`/`) with the state "Page d'accueil".
- Set a generic "Explore" presence for other unknown pages.
websites/L/Leboncoin/presence.ts Outdated Show resolved Hide resolved
@theusaf theusaf enabled auto-merge (squash) January 30, 2025 22:06
@theusaf theusaf requested a review from Bas950 January 30, 2025 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants