Skip to content

Conversation

@maximedeprince
Copy link

Description

This PR adds a new presence for Dealabs, the largest French community for sharing deals and coupons.

✨ Features:

  • Browsing Deals: Displays the deal title, price, and "temperature" (votes).
  • Forum Activity: Shows the current discussion topic or forum category being browsed.
  • Merchants & Groups: Updates status when browsing specific merchants (promo codes) or categories.
  • Search & Feeds: specific states for "New", "Hot", "Top" deals feeds and search results.
  • Localization: Fully translated in English and French 🇫🇷 / 🇬🇧.

⚙️ Settings:

  • Privacy Mode: A global switch to hide all specific details (titles, prices).
  • Granular Control: Options to hide specific elements like prices, deal titles, or images individually.

Technical details:

  • Implements the object-based getStrings mapping for cleaner translation handling.

Acknowledgements

Screenshots

Proof showing the creation/modification is working as expected
Browsing a Deal Browsing Forums Settings
Deal View Forum View Settings View

Adds a new presence for Dealabs, the largest French community for sharing deals and coupons.

**Features:**

- 🛍️ **Browsing Deals:** Displays the deal title, price, and "temperature" (votes).

- 💬 **Forum:** Shows current discussion topic or forum category.

- 🏷️ **Merchants & Groups:** Updates when browsing specific merchants or categories.

- 🌍 **Localization:** Fully translated in English and French.

- ⚙️ **Settings:**

  - Privacy Mode (hides specific details globally).

  - Options to hide prices, images, or titles individually.

**Technical details:**

- Uses the new `getStrings` object mapping structure.

- Validated with both privacy settings and various page types.
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ESLint found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

Updates the logo to meet the 512x512px requirement and applies ESLint fixes (quotes, semicolons) to match project style.
@theusaf theusaf changed the title feat: Add Dealabs presence feat(Dealabs): add activity Jan 3, 2026
@maximedeprince maximedeprince requested a review from theusaf January 3, 2026 23:32
- Revert accidental changes to `cli/src/commands/checkDns.ts`
- Implement native localization system using `Dealabs.json`
- Update thumbnail to a landscape promotional image in `metadata.json`
- Use `ActivityType` enum in `presence.ts` instead of hardcoded value
Copilot AI review requested due to automatic review settings January 6, 2026 15:58
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new presence for Dealabs, a French community platform for sharing deals and coupons. The implementation provides rich activity tracking across different sections of the website including deals, forums, merchants, and categories, with comprehensive privacy settings.

Key Changes:

  • Implements a modular resolver pattern for different page types (deals, discussions, merchants, groups, listings)
  • Adds granular privacy controls allowing users to hide specific elements
  • Provides English translations for user-facing strings

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 20 comments.

Show a summary per file
File Description
websites/D/Dealabs/presence.ts Main presence logic orchestrating resolvers and handling activity updates
websites/D/Dealabs/util/interfaces.ts TypeScript interfaces for settings, translations, and resolver pattern
websites/D/Dealabs/util/index.ts Utility functions for slug formatting and content selection
websites/D/Dealabs/sources/deal.ts Resolver for individual deal pages with price and temperature display
websites/D/Dealabs/sources/discussion.ts Resolver for forum discussions
websites/D/Dealabs/sources/group.ts Resolver for category/group pages
websites/D/Dealabs/sources/listing.ts Resolver for feed pages (new, hot, top deals)
websites/D/Dealabs/sources/merchant.ts Resolver for merchant promo code pages
websites/D/Dealabs/metadata.json Service configuration with French-language settings
websites/D/Dealabs/Dealabs.json English translation strings for presence messages

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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