import os

files = [
    'resources/views/results/history.blade.php',
    'resources/views/results/entry.blade.php',
    'resources/views/results/publish.blade.php',
    'resources/views/results/saved.blade.php',
    'resources/views/reports/index.blade.php'
]

stream_html_history = '''                    <div class="col-md-2">
                        <label class="form-label fw-bold text-secondary small mb-1"><i class="fa fa-users me-1"></i> STREAM</label>
                        <select name="stream" class="form-select form-select-sm border-0 shadow-sm" onchange="document.getElementById('filterForm').submit()">
                            <option value="">----select----</option>
                            @foreach($options['streams'] as $stream)
                                <option value="{{ $stream }}" {{ ($filters['stream'] ?? '') == $stream ? 'selected' : '' }}>{{ $stream }}</option>
                            @endforeach
                        </select>
                    </div>'''

stream_html_other = '''                    <div class="col-md-2">
                        <label class="form-label fw-bold text-secondary small mb-1"><i class="fa fa-users me-1"></i> STREAM</label>
                        <select name="stream" class="form-select form-select-sm" onchange="document.getElementById('filterForm').submit()">
                            <option value="">----select----</option>
                            @foreach($options['streams'] as $stream)
                                <option value="{{ $stream }}" {{ ($filters['stream'] ?? '') == $stream ? 'selected' : '' }}>{{ $stream }}</option>
                            @endforeach
                        </select>
                    </div>'''

for fpath in files:
    if not os.path.exists(fpath): continue
    with open(fpath, 'r', encoding='utf-8') as f:
        content = f.read()

    if 'name="stream"' in content:
        continue # already has stream

    lines = content.split('\n')
    new_lines = []
    in_class = False
    in_search = False
    for i, line in enumerate(lines):
        if 'class="col-md-3"' in line or 'class="col-md-4"' in line or 'class="col-md-2"' in line:
            if i+1 < len(lines) and ('ACADEMIC YEAR' in lines[i+1] or 'TERM' in lines[i+1] or 'CLASS' in lines[i+1] or 'SUBJECT' in lines[i+1]):
                line = line.replace('col-md-3', 'col-md-2').replace('col-md-4', 'col-md-2')
            elif i+1 < len(lines) and 'SEARCH' in lines[i+1]:
                line = line.replace('col-md-3', 'col-md-2').replace('col-md-4', 'col-md-2')
        
        if 'name="class_level"' in line:
            in_class = True
            
        if in_class and '</select>' in line:
            new_lines.append(line)
            new_lines.append('                    </div>')
            
            stream_html = stream_html_history if 'border-0 shadow-sm' in content else stream_html_other
            new_lines.append(stream_html)
            in_class = False
            continue
            
        if in_class and '</div>' in line:
            continue
            
        new_lines.append(line)
        
    with open(fpath, 'w', encoding='utf-8') as f:
        f.write('\n'.join(new_lines))
    print(f'Updated {fpath}')
