import os
import re

def fix_file(filepath):
    with open(filepath, 'r') as f:
        content = f.read()

    # Revert all previous messy replacements
    # If we have {"{{DOMAIN}}"}, change back to {{DOMAIN}}
    content = content.replace('{"{{DOMAIN}}"}', '{{DOMAIN}}')
    content = content.replace('{"{{EMAIL}}"}', '{{EMAIL}}')
    
    # Now correctly replace
    # 1. In JSX text, we want {"{{DOMAIN}}"}
    # JSX text is generally > text <
    # We can just replace >{{DOMAIN}}< with >{"{{DOMAIN}}"}<
    # And >{{EMAIL}}< with >{"{{EMAIL}}"}<
    content = re.sub(r'>\s*\{\{DOMAIN\}\}\s*<', '>{"{{DOMAIN}}"}<', content)
    content = re.sub(r'>\s*\{\{EMAIL\}\}\s*<', '>{"{{EMAIL}}"}<', content)
    
    # Other places like text nodes without exact matching
    content = re.sub(r'E-mail\s*:\s*\{\{EMAIL\}\}', 'E-mail : {"{{EMAIL}}"}', content)
    
    # What about >https://{{DOMAIN}}< ?
    content = re.sub(r'>\s*https://\{\{DOMAIN\}\}\s*<', '>https://{"{{DOMAIN}}"}<', content)

    with open(filepath, 'w') as f:
        f.write(content)

dirs_to_check = ['app', 'components']
for d in dirs_to_check:
    for root, dirs, files in os.walk(d):
        for file in files:
            if file.endswith('.tsx') or file.endswith('.ts'):
                fix_file(os.path.join(root, file))

print("Fixed")
