from pathlib import Path

root = Path('.')
replacements = {
    'class="form-control"': 'class="<?php echo ui(\'form.control\'); ?>"',
    'class="form-select"': 'class="<?php echo ui(\'form.select\'); ?>"',
    'class="card shadow-sm rounded-lg border-0"': 'class="<?php echo ui(\'card.base\'); ?>"',
    'class="card-body"': 'class="<?php echo ui(\'card.group\'); ?>"',
    'class="table table-hover align-middle"': 'class="<?php echo ui(\'table.base\'); ?>"',
    'class="btn btn-primary"': 'class="<?php echo ui(\'button.primary\'); ?>"',
    'class="btn btn-outline-secondary"': 'class="<?php echo ui(\'button.secondary\'); ?>"',
    'class="btn btn-success"': 'class="<?php echo ui(\'button.success\'); ?>"',
    'class="text-muted"': 'class="<?php echo ui(\'text.muted\'); ?>"',
}

for path in root.rglob('*.php'):
    text = path.read_text(encoding='utf-8')
    new_text = text
    for old, new in replacements.items():
        new_text = new_text.replace(old, new)
    if new_text != text:
        path.write_text(new_text, encoding='utf-8')
        print(f'updated {path}')
