﻿with open('resources/views/panel-tests/show.blade.php', 'r', encoding='utf-8') as f:
    content = f.read()

# Cari dan hapus blok Pertanyaan Kesimpulan yang salah posisi
start_wrong = content.find('\n        <div class="card mb-3" style="border-left:4px solid #8b5cf6">')
end_wrong   = content.find('        @endif\n\n    </div>\n</div>\n@endsection')

if start_wrong != -1 and end_wrong != -1:
    # Ambil blok kesimpulan yang salah
    wrong_block = content[start_wrong:end_wrong]
    # Hapus dari posisi yang salah
    content = content[:start_wrong] + content[end_wrong:]
    print('Blok lama dihapus dari posisi salah')

# Sisipkan setelah @endforeach utama sampel (sebelum @if draft Tambah Sampel Baru)
insert_marker = "        @endforeach\n\n        @if($panelTest->status === 'draft')\n        <div class=\"card\" style=\"border:2px dashed"

idx = content.find(insert_marker)

kesimpulan_block = """
        {{-- Pertanyaan Kesimpulan --}}
        <div class="card mb-3" style="border-left:4px solid #8b5cf6">
            <div class="card-header bg-white py-3 d-flex justify-content-between align-items-center">
                <h6 class="fw-semibold mb-0">
                    <i class="bi bi-list-check" style="color:#8b5cf6"></i>
                    Pertanyaan Kesimpulan
                    <span class="badge ms-1" style="font-size:11px;background:#f3f4f6;color:#6b7280">
                        Ditampilkan setelah semua sampel dinilai
                    </span>
                </h6>
                <span class="badge" style="background:#8b5cf6">
                    {{ $panelTest->generalQuestions->count() }} pertanyaan
                </span>
            </div>
            <div class="card-body">
                @forelse($panelTest->generalQuestions as $i => $q)
                <div class="d-flex gap-2 p-2 border rounded mb-2" style="background:#f5f3ff">
                    <div style="width:24px;height:24px;background:#8b5cf6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0;margin-top:2px">
                        {{ $i + 1 }}
                    </div>
                    <div class="flex-grow-1">
                        <div class="fw-medium small">{{ $q->question_text }}</div>
                        <div class="d-flex gap-1 mt-1 flex-wrap">
                            <span class="badge" style="background:#e2e8f0;color:#475569;font-size:10px">
                                {{ $q->question_type }}
                            </span>
                            @if($q->options)
                            @foreach($q->options as $opt)
                            <span class="badge bg-light text-dark" style="font-size:10px">{{ $opt }}</span>
                            @endforeach
                            @endif
                        </div>
                    </div>
                    @if($panelTest->status === 'draft')
                    <form method="POST" action="{{ route('questions.destroy', $q) }}"
                        onsubmit="return confirm('Hapus pertanyaan ini?')">
                        @csrf @method('DELETE')
                        <button class="btn btn-sm btn-outline-danger py-0">
                            <i class="bi bi-trash"></i>
                        </button>
                    </form>
                    @endif
                </div>
                @empty
                <p class="text-muted small text-center py-2">Belum ada pertanyaan kesimpulan</p>
                @endforelse

                @if($panelTest->status === 'draft')
                <form method="POST" action="{{ route('questions.store', $panelTest) }}" class="mt-3">
                    @csrf
                    <div class="row g-2">
                        <div class="col-12">
                            <textarea name="question_text" class="form-control form-control-sm" rows="2"
                                placeholder="Contoh: Dari semua sampel, mana yang paling Anda sukai?" required></textarea>
                        </div>
                        <div class="col-md-5">
                            <select name="question_type" class="form-select form-select-sm"
                                id="generalType" onchange="toggleGeneralOptions()">
                                <option value="rating">Rating (1-5)</option>
                                <option value="text">Teks Bebas</option>
                                <option value="yes_no">Ya/Tidak</option>
                                <option value="multiple_choice">Pilihan Ganda</option>
                            </select>
                        </div>
                        <div class="col-md-4" id="generalOptionsField" style="display:none">
                            <textarea name="options" class="form-control form-control-sm" rows="2"
                                placeholder="Pilihan A&#10;Pilihan B&#10;Pilihan C"></textarea>
                        </div>
                        <div class="col-md-3">
                            <button type="submit" class="btn btn-sm w-100"
                                style="background:#8b5cf6;color:#fff;border:none">
                                <i class="bi bi-plus"></i> Tambah
                            </button>
                        </div>
                    </div>
                </form>
                @endif
            </div>
        </div>

"""

if idx != -1:
    insert_pos = idx + len("        @endforeach\n\n")
    content = content[:insert_pos] + kesimpulan_block + content[insert_pos:]
    print('Berhasil disisipkan di posisi yang benar!')
else:
    print('ERROR: marker tidak ditemukan, cari manual')
    # Fallback: cari @endforeach terakhir sebelum @endif Tambah Sampel
    idx2 = content.rfind("        @endforeach\n")
    if idx2 != -1:
        insert_pos = idx2 + len("        @endforeach\n")
        content = content[:insert_pos] + kesimpulan_block + content[insert_pos:]
        print('Berhasil dengan fallback!')

with open('resources/views/panel-tests/show.blade.php', 'w', encoding='utf-8') as f:
    f.write(content)
