#!/usr/bin/env python3
"""Update Sign Up & Sign In block on all Irish casino review pages. Make it more visual with numbered steps."""

import re
from pathlib import Path

BASE = Path(__file__).resolve().parent / "irish-online-casino"
EXCLUDE = {"terms", "privacy", "responsible-gambling", "disclaimer", "trust-badges"}


def build_signup_block(casino_name: str, name_lower: str) -> str:
    return f'''<h2>{casino_name} Casino Sign Up & Sign In</h2>
<div class="irish-signup-block">
<div class="irish-signup-register">
<h3>How to register at {casino_name} Casino</h3>
<ul class="irish-signup-steps">
<li><span class="irish-step-num">1</span> Click <strong>Register</strong> on the site</li>
<li><span class="irish-step-num">2</span> Enter your email and choose a password</li>
<li><span class="irish-step-num">3</span> Verify your email via the link sent to you</li>
<li><span class="irish-step-num">4</span> Complete KYC (ID, proof of address) if requested</li>
<li><span class="irish-step-num">5</span> Make a deposit and claim your welcome bonus</li>
</ul>
</div>
<div class="irish-signup-login">
<h3>Sign in (login)</h3>
<p>Use the email and password you set during registration. Go to the {name_lower} casino site, click <strong>Log In</strong> and enter your credentials. The process is quick and secure.</p>
</div>
</div>'''


def main():
    for p in sorted(BASE.iterdir()):
        if not p.is_dir() or p.name in EXCLUDE:
            continue
        index = p / "index.html"
        if not index.exists():
            continue
        content = index.read_text(encoding="utf-8")

        m = re.search(r'<h1>([^<]+) Casino Review', content)
        casino_name = m.group(1).strip() if m else p.name.replace("-", " ").title()
        name_lower = casino_name.lower() if casino_name != "21" else "21"

        new_block = build_signup_block(casino_name, name_lower)

        old = re.search(
            r'<h2>[^<]+ Casino Sign Up &amp; Sign In</h2>\s*<p>To [^<]+ register: [^<]+</p>',
            content,
            re.DOTALL
        )
        if not old:
            old = re.search(
                r'<h2>[^<]+ Casino Sign Up & Sign In</h2>\s*<p>To [^<]+ register: [^<]+</p>',
                content,
                re.DOTALL
            )
        if old:
            content = content.replace(old.group(0), new_block, 1)
            index.write_text(content, encoding="utf-8")
            print(p.name)
    print("Done.")


if __name__ == "__main__":
    main()
