import os
import re

replacements = [
    (r'(?<!dark:)bg-white', 'bg-white dark:bg-slate-900'),
    (r'(?<!dark:)bg-slate-50', 'bg-slate-50 dark:bg-slate-950'),
    (r'(?<!dark:)bg-slate-100', 'bg-slate-100 dark:bg-slate-800'),
    (r'(?<!dark:)bg-slate-200', 'bg-slate-200 dark:bg-slate-700'),
    
    (r'(?<!dark:)text-slate-900', 'text-slate-900 dark:text-white'),
    (r'(?<!dark:)text-slate-800', 'text-slate-800 dark:text-slate-100'),
    (r'(?<!dark:)text-slate-700', 'text-slate-700 dark:text-slate-200'),
    (r'(?<!dark:)text-slate-600', 'text-slate-600 dark:text-slate-300'),
    (r'(?<!dark:)text-slate-500', 'text-slate-500 dark:text-slate-400'),
    
    (r'(?<!dark:)border-slate-100', 'border-slate-100 dark:border-slate-800'),
    (r'(?<!dark:)border-slate-200', 'border-slate-200 dark:border-slate-700'),
    (r'(?<!dark:)border-slate-300', 'border-slate-300 dark:border-slate-600'),
]

for root, dirs, files in os.walk('src/app'):
    for file in files:
        if file.endswith('.tsx') or file.endswith('.ts'):
            filepath = os.path.join(root, file)
            with open(filepath, 'r') as f:
                content = f.read()
            
            new_content = content
            for old, new in replacements:
                # Use negative lookbehind in regex to avoid replacing already converted ones
                # Also we use word boundaries to avoid matching bg-white-500 (if it existed)
                new_content = re.sub(r'\b' + old + r'\b', new, new_content)
                
            if new_content != content:
                with open(filepath, 'w') as f:
                    f.write(new_content)
                print(f"Updated {filepath}")
