import os

import bs4
import dotenv
import httpx


dotenv.load_dotenv()

token = os.environ.get("MASSIVE_TOKEN", "")

api = "https://render.joinmassive.com/browser"

headers = {
    "Authorization": f"Bearer {token}",
}
params = {
    "url": "https://www.yelp.co.uk/",
    "format": "rendered",
    "country": "GB",
}

response = httpx.get(api, headers=headers, params=params, timeout=60)
response.raise_for_status()

soup = bs4.BeautifulSoup(response.text, "html.parser")

section = soup.select_one('[aria-label="Explore Recent Activity Section"]')
if section is None:
    raise SystemExit("No Recent Activity section found.")

cards = section.find_all("div", recursive=False)[1].find_all("div", recursive=False)

seen = set()

for card in cards:
    lines = [
        line.strip()
        for line in card.get_text("\n", strip=True).splitlines()
        if line.strip()
    ]
    activity = lines[0] if lines else ""

    if not activity or activity in seen:
        continue

    seen.add(activity)
    print(activity)
