{
    "taken_at": "2026-10-24 01:29:25",
    "pages": [
        {
            "id": 24,
            "slug": "complaints-feedback",
            "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Borang: Complaints & Feedback\r\n     Site  : nres  ·  Page slug: complaints-feedback\r\n     Modul : content-form (Aduan & Maklum Balas)\r\n\r\n     SEMUA markup borang ada DALAM fail page ini — tiada component kongsi, tiada\r\n     blade partial. Nak tukar borang yang dipaparkan oleh page ini? Ubah nilai\r\n     $cfDefaultSlug di bawah ('' = papar senarai semua borang yang dibuka).\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    /* --------------------------------------------------------------------\r\n     | 1. TETAPAN PAGE INI — ubah di sini sahaja\r\n     -------------------------------------------------------------------- */\r\n    $cfDefaultSlug = '';\r\n\r\n    /* --------------------------------------------------------------------\r\n     | 2. KONTEKS (site, query, servis)\r\n     -------------------------------------------------------------------- */\r\n    $cfSite  = $siteSlug ?? request()->segment(1);\r\n    $cfQuery = request()->query();\r\n    $cfSvc   = app(\\App\\Services\\ContentFormService::class);\r\n    $cfList  = url($cfSite.'/complaints-feedback');\r\n\r\n    // Keutamaan: ?form=slug → $cfDefaultSlug → slug page semasa\r\n    $cfSlug = (string) ($cfQuery['form'] ?? '');\r\n    if ($cfSlug === '') {\r\n        $cfSlug = $cfDefaultSlug !== '' ? $cfDefaultSlug : (string) (request()->route('slug') ?? '');\r\n    }\r\n\r\n    $cfForm = $cfSlug !== '' ? $cfSvc->findOpenForm($cfSlug) : null;\r\n\r\n    // Kad \"borang telah dihantar\" — redirect dari POST {site}/aduan/{slug}?selesai=1\r\n    $cfSubmission = (! empty($cfQuery['selesai']) && session('form_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with('form')->find(session('form_submission_id'))\r\n        : null;\r\n\r\n    // Kad \"semak status tiket\" — ?tiket=1\r\n    $cfTracked = (! empty($cfQuery['tiket']) && session('tracked_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with(['messages', 'answers'])->find(session('tracked_submission_id'))\r\n        : null;\r\n\r\n    // Kumpulkan field ikut seksyen (seksyen + field tanpa seksyen)\r\n    $cfGroups = [];\r\n    if ($cfForm) {\r\n        foreach ($cfForm->sections as $cfSection) {\r\n            $cfGroups[] = [\r\n                'title'  => $cfSection->section_title,\r\n                'desc'   => $cfSection->section_desc,\r\n                'fields' => $cfForm->fields->where('field_section_fk', $cfSection->section_id)->values(),\r\n            ];\r\n        }\r\n\r\n        $cfLoose = $cfForm->fields->whereNull('field_section_fk')->values();\r\n        if ($cfLoose->isNotEmpty()) {\r\n            $cfGroups[] = ['title' => null, 'desc' => null, 'fields' => $cfLoose];\r\n        }\r\n    }\r\n@endphp\r\n\r\n<style>\r\n.cf-narrow{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-wrap{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-title{font-weight:700;color:var(--green);font-size:1.35rem;margin-bottom:.35rem}\r\n.cf-desc{font-size:.86rem;color:var(--bs-secondary-color);margin-bottom:1.25rem}\r\n.cf-section{border:0;padding:0;margin:0 0 1.75rem}\r\n.cf-legend{font-weight:700;color:var(--teal);font-size:.95rem;padding:.4rem .75rem;background:var(--fade);border-left:4px solid var(--teal);border-radius:6px;margin-bottom:.35rem;width:100%}\r\n.cf-section-desc{font-size:.78rem;color:var(--bs-secondary-color);margin:.35rem 0 .9rem}\r\n.cf-field{margin-bottom:1.15rem}\r\n.cf-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem;color:var(--ink)}\r\n.cf-req{color:#dc2626}\r\n.cf-help{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:.45rem}\r\n.cf-input{font-size:.86rem;border-color:var(--line)}\r\n.cf-input:focus{border-color:var(--teal);box-shadow:0 0 0 .18rem rgba(17,128,143,.15)}\r\n.cf-field-error .cf-input{border-color:#dc2626}\r\n.cf-error{font-size:.75rem;color:#dc2626;margin-top:.35rem}\r\n.cf-options{display:flex;flex-direction:column;gap:.45rem}\r\n.cf-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font-size:.84rem;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-opt input{margin-top:.15rem;flex:none;accent-color:var(--teal)}\r\n.cf-opt:has(input:checked){border-color:var(--teal);background:var(--fade);font-weight:600}\r\n.cf-card{display:flex;flex-direction:column;height:100%}\r\n.cf-card h3{font-weight:700;color:var(--green);font-size:1rem;margin-bottom:.4rem}\r\n.cf-card p{font-size:.82rem;color:var(--bs-secondary-color);flex-grow:1}\r\n.cf-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--fade);color:var(--teal);margin-bottom:.5rem}\r\n.cf-done{max-width:640px;text-align:center}\r\n.cf-done .cf-ico{width:64px;height:64px;border-radius:50%;background:var(--fade);color:var(--teal);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:.9rem}\r\n.cf-done h2{font-weight:700;color:var(--green);font-size:1.25rem;margin-bottom:.4rem}\r\n.cf-done p{font-size:.86rem;color:var(--bs-secondary-color)}\r\n.cf-ticket{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:700;letter-spacing:1px;color:var(--teal);background:var(--fade);border:1px dashed var(--teal);border-radius:10px;padding:.6rem 1.1rem;margin:.75rem 0}\r\n.cf-track{max-width:720px;margin-left:auto;margin-right:auto}\r\n.cf-track-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}\r\n.cf-track-form .cf-g{flex:1 1 220px}\r\n.cf-track-form label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.3rem}\r\n.cf-status{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:99px}\r\n.cf-rows{font-size:.85rem}\r\n.cf-rows .row-line{display:flex;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}\r\n.cf-rows .row-line:first-child{border-top:0}\r\n.cf-rows .k{flex:0 0 42%;color:var(--bs-secondary-color)}\r\n.cf-rows .v{flex:1;font-weight:600}\r\n.cf-thread{margin-top:1rem}\r\n.cf-msg{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--bs-body-bg)}\r\n.cf-msg .meta{font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.25rem}\r\n.cf-msg.admin{border-left-color:var(--teal)}\r\n.cf-msg.user{border-left-color:#94a3b8}\r\n[data-bs-theme=dark] .cf-legend{background:#0f2226}\r\n\r\n.cf-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}\r\n.cf-scale-opt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:.6rem .4rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-scale-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-scale-opt input{position:absolute;opacity:0;width:0;height:0}\r\n.cf-scale-num{font-weight:700;font-size:1rem;color:var(--teal)}\r\n.cf-scale-lbl{font-size:.68rem;line-height:1.2;color:var(--bs-secondary-color)}\r\n.cf-scale-opt:has(input:checked){border-color:var(--teal);background:var(--teal)}\r\n.cf-scale-opt:has(input:checked) .cf-scale-num,.cf-scale-opt:has(input:checked) .cf-scale-lbl{color:#fff}\r\n.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\r\n.cf-note{font-size:.75rem;color:var(--bs-secondary-color);margin:.9rem 0 0}\r\n</style>\r\n\r\n<section class=\"py-4 py-lg-5\">\r\n    <div class=\"container-xl\">\r\n\r\n        @if ($cfForm)\r\n            <div class=\"cf-narrow mb-3\">\r\n                <a href=\"{{ $cfList }}\" class=\"text-teal small fw-semibold text-decoration-none\">&larr; Kembali ke senarai borang</a>\r\n            </div>\r\n        @endif\r\n\r\n        @if ($cfSubmission)\r\n            {{-- ---------- BORANG TELAH DIHANTAR ---------- --}}\r\n            <div class=\"card-soft p-4 cf-done mx-auto\">\r\n                <span class=\"cf-ico\">\r\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:32px;height:32px\" aria-hidden=\"true\">\r\n                        <path d=\"M20 6L9 17l-5-5\"/>\r\n                    </svg>\r\n                </span>\r\n\r\n                <h2>Terima kasih</h2>\r\n\r\n                <p>{{ $cfSubmission->form?->form_thanks ?: 'Borang anda telah diterima.' }}</p>\r\n\r\n                <div class=\"cf-ticket\">{{ $cfSubmission->submission_ticket_no }}</div>\r\n\r\n                <p class=\"mb-3\">\r\n                    Sila simpan <strong>No. Tiket</strong> di atas untuk menyemak status pada bila-bila masa.\r\n                    @if (filled($cfSubmission->submission_email))\r\n                        Salinan pengesahan telah dihantar ke <strong>{{ $cfSubmission->submission_email }}</strong>.\r\n                    @endif\r\n                </p>\r\n\r\n                <div class=\"d-flex flex-wrap gap-2 justify-content-center\">\r\n                    <a href=\"{{ $cfList }}?tiket=1\" class=\"btn btn-teal btn-sm\">Semak Status</a>\r\n                    <a href=\"{{ $cfList }}\" class=\"btn btn-outline-secondary btn-sm\">Kembali ke senarai borang</a>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif (! empty($cfQuery['tiket']))\r\n            {{-- ---------- SEMAK STATUS TIKET ---------- --}}\r\n            <div class=\"cf-track\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">Semak Status Aduan / Maklum Balas</h2>\r\n                    <p class=\"cf-desc\">Masukkan No. Tiket dan e-mel yang digunakan semasa menghantar.</p>\r\n\r\n                    <form method=\"POST\" class=\"cf-track-form\" action=\"{{ route('frontend-form.track.submit', ['site' => $cfSite]) }}\">\r\n                        @csrf\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-ticket\">No. Tiket</label>\r\n                            <input type=\"text\" id=\"cf-ticket\" name=\"ticket_no\" value=\"{{ old('ticket_no') }}\"\r\n                                class=\"form-control form-control-sm @error('ticket_no') is-invalid @enderror\"\r\n                                placeholder=\"cth AI/2026/0001\" required>\r\n                            @error('ticket_no')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-email\">E-mel</label>\r\n                            <input type=\"email\" id=\"cf-email\" name=\"email\" value=\"{{ old('email') }}\"\r\n                                class=\"form-control form-control-sm @error('email') is-invalid @enderror\" required>\r\n                            @error('email')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <button type=\"submit\" class=\"btn btn-teal btn-sm\">Semak</button>\r\n                    </form>\r\n\r\n                    @if (session('track_error'))\r\n                        <div class=\"alert alert-warning mt-3 mb-0 py-2 small\">{{ session('track_error') }}</div>\r\n                    @endif\r\n\r\n                    @if (! empty($cfTracked))\r\n                        <hr class=\"my-3\">\r\n                        <div class=\"d-flex flex-wrap justify-content-between align-items-center gap-2 mb-2\">\r\n                            <strong style=\"font-family:ui-monospace,monospace\">{{ $cfTracked->submission_ticket_no }}</strong>\r\n                            <span class=\"cf-status\" style=\"background:var(--fade);color:var(--teal)\">{{ $cfTracked->statusLabel() }}</span>\r\n                        </div>\r\n\r\n                        <div class=\"cf-rows\">\r\n                            <div class=\"row-line\"><span class=\"k\">Jenis</span><span class=\"v\">{{ $cfTracked->submission_type }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Subjek</span><span class=\"v\">{{ $cfTracked->submission_subject ?: '—' }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Tarikh hantar</span><span class=\"v\">{{ $cfTracked->submission_submitted_at?->format('d/m/Y H:i') ?? '—' }}</span></div>\r\n                            @if ($cfTracked->submission_closed_at)\r\n                                <div class=\"row-line\"><span class=\"k\">Tarikh tutup</span><span class=\"v\">{{ $cfTracked->submission_closed_at->format('d/m/Y H:i') }}</span></div>\r\n                            @endif\r\n                        </div>\r\n\r\n                        @if ($cfTracked->messages->isNotEmpty())\r\n                            <div class=\"cf-thread\">\r\n                                <strong class=\"d-block mb-2\" style=\"font-size:.85rem\">Balasan</strong>\r\n                                @foreach ($cfTracked->messages as $cfMessage)\r\n                                    <div class=\"cf-msg {{ $cfMessage->isFromAdmin() ? 'admin' : 'user' }}\">\r\n                                        <div class=\"meta\">\r\n                                            {{ $cfMessage->isFromAdmin() ? 'NRES' : 'Pengadu' }} ·\r\n                                            {{ $cfMessage->created_at?->format('d/m/Y H:i') }}\r\n                                        </div>\r\n                                        <div style=\"font-size:.85rem\">{!! nl2br(e($cfMessage->message_body)) !!}</div>\r\n                                    </div>\r\n                                @endforeach\r\n                            </div>\r\n                        @else\r\n                            <p class=\"small text-body-secondary mb-0 mt-2\">Belum ada balasan daripada pihak NRES.</p>\r\n                        @endif\r\n                    @endif\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm && filled($cfForm->form_external_url))\r\n            {{-- ---------- BORANG DI SISTEM LUAR ---------- --}}\r\n            <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                    <div class=\"card-soft p-3 cf-card\">\r\n                        <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfForm->form_type)->value('descr') ?? $cfForm->form_type) }}</span>\r\n                        <h3>{{ $cfForm->title() }}</h3>\r\n                        <p>{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                        <a href=\"{{ $cfForm->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">Buka Sistem</a>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm)\r\n            {{-- ---------- BORANG ---------- --}}\r\n            <div class=\"cf-wrap\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">{{ $cfForm->title() }}</h2>\r\n\r\n                    @if (filled($cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc))\r\n                        <p class=\"cf-desc\">{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                    @endif\r\n\r\n                    <form method=\"POST\" enctype=\"multipart/form-data\" class=\"cf-form\"\r\n                        action=\"{{ route('frontend-form.store', ['site' => $cfSite, 'formSlug' => $cfForm->form_slug]) }}\">\r\n                        @csrf\r\n\r\n                        {{-- Honeypot: manusia tidak nampak, bot akan isi --}}\r\n                        <div class=\"cf-hp\" aria-hidden=\"true\">\r\n                            <label for=\"cf-website\">Website</label>\r\n                            <input type=\"text\" id=\"cf-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\r\n                        </div>\r\n\r\n                        @foreach ($cfGroups as $cfGroup)\r\n                            <fieldset class=\"cf-section\">\r\n                                @if (filled($cfGroup['title']))\r\n                                    <legend class=\"cf-legend\">{{ $cfGroup['title'] }}</legend>\r\n                                @endif\r\n\r\n                                @if (filled($cfGroup['desc']))\r\n                                    <p class=\"cf-section-desc\">{{ $cfGroup['desc'] }}</p>\r\n                                @endif\r\n\r\n                                @foreach ($cfGroup['fields'] as $cfField)\r\n                                    @php\r\n                                        $cfCode       = $cfField->field_code;\r\n                                        $cfIsCheckbox = $cfField->field_type === 'CHECKBOX';\r\n                                        $cfName       = $cfIsCheckbox ? \"fields[{$cfCode}][]\" : \"fields[{$cfCode}]\";\r\n                                        $cfOld        = old(\"fields.{$cfCode}\");\r\n                                        $cfHasError   = $errors->has(\"fields.{$cfCode}\");\r\n                                        $cfInvalid    = $cfHasError ? 'is-invalid' : '';\r\n                                        $cfReq        = $cfField->field_required ? 'required' : '';\r\n                                    @endphp\r\n\r\n                                    <div class=\"cf-field {{ $cfHasError ? 'cf-field-error' : '' }}\" id=\"cf-{{ $cfCode }}\">\r\n                                        <label class=\"cf-label\" @if (! $cfIsCheckbox) for=\"cf-input-{{ $cfCode }}\" @endif>\r\n                                            {{ $cfField->field_label }}\r\n                                            @if ($cfField->field_required)\r\n                                                <span class=\"cf-req\" aria-hidden=\"true\">*</span>\r\n                                            @endif\r\n                                        </label>\r\n\r\n                                        @if (filled($cfField->field_help))\r\n                                            <div class=\"cf-help\">{{ $cfField->field_help }}</div>\r\n                                        @endif\r\n\r\n                                        @switch($cfField->field_type)\r\n\r\n                                            @case('TEXTAREA')\r\n                                                <textarea id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" rows=\"5\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>{{ $cfOld }}</textarea>\r\n                                                @break\r\n\r\n                                            @case('SELECT')\r\n                                                <select id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\"\r\n                                                    class=\"form-select cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                    <option value=\"\">— Sila pilih —</option>\r\n                                                    @foreach ($cfField->optionList() as $cfOpt)\r\n                                                        <option value=\"{{ $cfOpt['value'] }}\" @selected((string) $cfOld === (string) $cfOpt['value'])>\r\n                                                            {{ $cfOpt['label'] }}\r\n                                                        </option>\r\n                                                    @endforeach\r\n                                                </select>\r\n                                                @break\r\n\r\n                                            @case('RADIO')\r\n                                                <div class=\"cf-options\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked((string) $cfOld === (string) $cfOpt['value']) {{ $cfReq }}>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('CHECKBOX')\r\n                                                <div class=\"cf-options\" role=\"group\" aria-required=\"{{ $cfField->field_required ? 'true' : 'false' }}\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"checkbox\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked(is_array($cfOld) && in_array($cfOpt['value'], $cfOld, true))>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('SCALE')\r\n                                                <div class=\"cf-scale\" role=\"radiogroup\" aria-label=\"{{ $cfField->field_label }}\">\r\n                                                    @foreach ($cfField->scaleRange() as $cfScale)\r\n                                                        <label class=\"cf-scale-opt\" for=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ (int) $cfScale }}\" @checked((string) $cfOld === (string) (int) $cfScale) {{ $cfReq }}>\r\n                                                            <span class=\"cf-scale-num\">{{ (int) $cfScale }}</span>\r\n                                                            <span class=\"cf-scale-lbl\">{{ $cfField->scaleLabel($cfScale) ?? 'Skala '.(int) $cfScale }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('FILE')\r\n                                                <input type=\"file\" id=\"cf-input-{{ $cfCode }}\" name=\"files[{{ $cfCode }}]\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                <div class=\"cf-help mt-1\">Saiz maksimum 10 MB. Format: PDF, JPG, PNG, DOCX, XLSX.</div>\r\n                                                @break\r\n\r\n                                            @case('EMAIL')\r\n                                                <input type=\"email\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"email\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('PHONE')\r\n                                                <input type=\"tel\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"tel\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('DATE')\r\n                                                <input type=\"date\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @default\r\n                                                <input type=\"text\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                        @endswitch\r\n\r\n                                        @error(\"fields.{$cfCode}\")\r\n                                            <div class=\"cf-error\">{{ $message }}</div>\r\n                                        @enderror\r\n                                    </div>\r\n                                @endforeach\r\n                            </fieldset>\r\n                        @endforeach\r\n\r\n                        <div class=\"d-flex flex-wrap gap-2 mt-4\">\r\n                            <button type=\"submit\" class=\"btn btn-teal px-4\">Hantar</button>\r\n                            <button type=\"reset\" class=\"btn btn-outline-secondary\">Set Semula</button>\r\n                        </div>\r\n\r\n                        <p class=\"cf-note\">* Ruangan wajib diisi.</p>\r\n                    </form>\r\n                </div>\r\n            </div>\r\n\r\n\r\n\r\n\r\n        @else\r\n            {{-- ---------- SENARAI BORANG (fallback) ---------- --}}\r\n            <h1 class=\"h4 fw-bold mb-1\" style=\"color:var(--green)\">Aduan dan Maklum Balas</h1>\r\n            <p class=\"small text-body-secondary mb-4\">\r\n                Sila pilih borang di bawah. Untuk aduan awam, gunakan sistem SISPAA.\r\n            </p>\r\n\r\n            @php\r\n                $cfOpenForms = $cfSvc->openForms();\r\n            @endphp\r\n\r\n            @if ($cfOpenForms->isEmpty())\r\n                <div class=\"card-soft p-4 text-center\">\r\n                    <p class=\"mb-0 text-body-secondary\">Tiada borang dibuka pada masa ini.</p>\r\n                </div>\r\n            @else\r\n                <div class=\"row g-3\">\r\n                    @foreach ($cfOpenForms as $cfItem)\r\n                        <div class=\"col-md-6\">\r\n                            <div class=\"card-soft p-3 cf-card\">\r\n                                <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfItem->form_type)->value('descr') ?? $cfItem->form_type) }}</span>\r\n                                <h3>{{ $cfItem->title() }}</h3>\r\n                                <p>{{ $cfItem->translation()?->form_translation_desc ?? $cfItem->form_desc }}</p>\r\n\r\n                                @if (filled($cfItem->form_external_url))\r\n                                    <a href=\"{{ $cfItem->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Buka Sistem\r\n                                    </a>\r\n                                @else\r\n                                    <a href=\"{{ url($cfSite.'/'.$cfItem->form_slug) }}\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Isi Borang\r\n                                    </a>\r\n                                @endif\r\n                            </div>\r\n                        </div>\r\n                    @endforeach\r\n                </div>\r\n            @endif\r\n        @endif\r\n\r\n    </div>\r\n</section>\r\n\r\n\r\n"
        },
        {
            "id": 25,
            "slug": "integrity-complaint",
            "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Borang: Integrity Complaint\r\n     Site  : nres  ·  Page slug: integrity-complaint\r\n     Modul : content-form (Aduan & Maklum Balas)\r\n\r\n     SEMUA markup borang ada DALAM fail page ini — tiada component kongsi, tiada\r\n     blade partial. Nak tukar borang yang dipaparkan oleh page ini? Ubah nilai\r\n     $cfDefaultSlug di bawah ('' = papar senarai semua borang yang dibuka).\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    /* --------------------------------------------------------------------\r\n     | 1. TETAPAN PAGE INI — ubah di sini sahaja\r\n     -------------------------------------------------------------------- */\r\n    $cfDefaultSlug = 'integrity-complaint';\r\n\r\n    /* --------------------------------------------------------------------\r\n     | 2. KONTEKS (site, query, servis)\r\n     -------------------------------------------------------------------- */\r\n    $cfSite  = $siteSlug ?? request()->segment(1);\r\n    $cfQuery = request()->query();\r\n    $cfSvc   = app(\\App\\Services\\ContentFormService::class);\r\n    $cfList  = url($cfSite.'/complaints-feedback');\r\n\r\n    // Keutamaan: ?form=slug → $cfDefaultSlug → slug page semasa\r\n    $cfSlug = (string) ($cfQuery['form'] ?? '');\r\n    if ($cfSlug === '') {\r\n        $cfSlug = $cfDefaultSlug !== '' ? $cfDefaultSlug : (string) (request()->route('slug') ?? '');\r\n    }\r\n\r\n    $cfForm = $cfSlug !== '' ? $cfSvc->findOpenForm($cfSlug) : null;\r\n\r\n    // Kad \"borang telah dihantar\" — redirect dari POST {site}/aduan/{slug}?selesai=1\r\n    $cfSubmission = (! empty($cfQuery['selesai']) && session('form_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with('form')->find(session('form_submission_id'))\r\n        : null;\r\n\r\n    // Kad \"semak status tiket\" — ?tiket=1\r\n    $cfTracked = (! empty($cfQuery['tiket']) && session('tracked_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with(['messages', 'answers'])->find(session('tracked_submission_id'))\r\n        : null;\r\n\r\n    // Kumpulkan field ikut seksyen (seksyen + field tanpa seksyen)\r\n    $cfGroups = [];\r\n    if ($cfForm) {\r\n        foreach ($cfForm->sections as $cfSection) {\r\n            $cfGroups[] = [\r\n                'title'  => $cfSection->section_title,\r\n                'desc'   => $cfSection->section_desc,\r\n                'fields' => $cfForm->fields->where('field_section_fk', $cfSection->section_id)->values(),\r\n            ];\r\n        }\r\n\r\n        $cfLoose = $cfForm->fields->whereNull('field_section_fk')->values();\r\n        if ($cfLoose->isNotEmpty()) {\r\n            $cfGroups[] = ['title' => null, 'desc' => null, 'fields' => $cfLoose];\r\n        }\r\n    }\r\n@endphp\r\n\r\n<style>\r\n.cf-narrow{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-wrap{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-title{font-weight:700;color:var(--green);font-size:1.35rem;margin-bottom:.35rem}\r\n.cf-desc{font-size:.86rem;color:var(--bs-secondary-color);margin-bottom:1.25rem}\r\n.cf-section{border:0;padding:0;margin:0 0 1.75rem}\r\n.cf-legend{font-weight:700;color:var(--teal);font-size:.95rem;padding:.4rem .75rem;background:var(--fade);border-left:4px solid var(--teal);border-radius:6px;margin-bottom:.35rem;width:100%}\r\n.cf-section-desc{font-size:.78rem;color:var(--bs-secondary-color);margin:.35rem 0 .9rem}\r\n.cf-field{margin-bottom:1.15rem}\r\n.cf-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem;color:var(--ink)}\r\n.cf-req{color:#dc2626}\r\n.cf-help{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:.45rem}\r\n.cf-input{font-size:.86rem;border-color:var(--line)}\r\n.cf-input:focus{border-color:var(--teal);box-shadow:0 0 0 .18rem rgba(17,128,143,.15)}\r\n.cf-field-error .cf-input{border-color:#dc2626}\r\n.cf-error{font-size:.75rem;color:#dc2626;margin-top:.35rem}\r\n.cf-options{display:flex;flex-direction:column;gap:.45rem}\r\n.cf-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font-size:.84rem;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-opt input{margin-top:.15rem;flex:none;accent-color:var(--teal)}\r\n.cf-opt:has(input:checked){border-color:var(--teal);background:var(--fade);font-weight:600}\r\n.cf-card{display:flex;flex-direction:column;height:100%}\r\n.cf-card h3{font-weight:700;color:var(--green);font-size:1rem;margin-bottom:.4rem}\r\n.cf-card p{font-size:.82rem;color:var(--bs-secondary-color);flex-grow:1}\r\n.cf-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--fade);color:var(--teal);margin-bottom:.5rem}\r\n.cf-done{max-width:640px;text-align:center}\r\n.cf-done .cf-ico{width:64px;height:64px;border-radius:50%;background:var(--fade);color:var(--teal);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:.9rem}\r\n.cf-done h2{font-weight:700;color:var(--green);font-size:1.25rem;margin-bottom:.4rem}\r\n.cf-done p{font-size:.86rem;color:var(--bs-secondary-color)}\r\n.cf-ticket{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:700;letter-spacing:1px;color:var(--teal);background:var(--fade);border:1px dashed var(--teal);border-radius:10px;padding:.6rem 1.1rem;margin:.75rem 0}\r\n.cf-track{max-width:720px;margin-left:auto;margin-right:auto}\r\n.cf-track-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}\r\n.cf-track-form .cf-g{flex:1 1 220px}\r\n.cf-track-form label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.3rem}\r\n.cf-status{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:99px}\r\n.cf-rows{font-size:.85rem}\r\n.cf-rows .row-line{display:flex;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}\r\n.cf-rows .row-line:first-child{border-top:0}\r\n.cf-rows .k{flex:0 0 42%;color:var(--bs-secondary-color)}\r\n.cf-rows .v{flex:1;font-weight:600}\r\n.cf-thread{margin-top:1rem}\r\n.cf-msg{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--bs-body-bg)}\r\n.cf-msg .meta{font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.25rem}\r\n.cf-msg.admin{border-left-color:var(--teal)}\r\n.cf-msg.user{border-left-color:#94a3b8}\r\n[data-bs-theme=dark] .cf-legend{background:#0f2226}\r\n\r\n.cf-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}\r\n.cf-scale-opt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:.6rem .4rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-scale-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-scale-opt input{position:absolute;opacity:0;width:0;height:0}\r\n.cf-scale-num{font-weight:700;font-size:1rem;color:var(--teal)}\r\n.cf-scale-lbl{font-size:.68rem;line-height:1.2;color:var(--bs-secondary-color)}\r\n.cf-scale-opt:has(input:checked){border-color:var(--teal);background:var(--teal)}\r\n.cf-scale-opt:has(input:checked) .cf-scale-num,.cf-scale-opt:has(input:checked) .cf-scale-lbl{color:#fff}\r\n.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\r\n.cf-note{font-size:.75rem;color:var(--bs-secondary-color);margin:.9rem 0 0}\r\n</style>\r\n\r\n<section class=\"py-4 py-lg-5\">\r\n    <div class=\"container-xl\">\r\n\r\n        @if ($cfForm)\r\n            <div class=\"cf-narrow mb-3\">\r\n                <a href=\"{{ $cfList }}\" class=\"text-teal small fw-semibold text-decoration-none\">&larr; Kembali ke senarai borang</a>\r\n            </div>\r\n        @endif\r\n\r\n        @if ($cfSubmission)\r\n            {{-- ---------- BORANG TELAH DIHANTAR ---------- --}}\r\n            <div class=\"card-soft p-4 cf-done mx-auto\">\r\n                <span class=\"cf-ico\">\r\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:32px;height:32px\" aria-hidden=\"true\">\r\n                        <path d=\"M20 6L9 17l-5-5\"/>\r\n                    </svg>\r\n                </span>\r\n\r\n                <h2>Terima kasih</h2>\r\n\r\n                <p>{{ $cfSubmission->form?->form_thanks ?: 'Borang anda telah diterima.' }}</p>\r\n\r\n                <div class=\"cf-ticket\">{{ $cfSubmission->submission_ticket_no }}</div>\r\n\r\n                <p class=\"mb-3\">\r\n                    Sila simpan <strong>No. Tiket</strong> di atas untuk menyemak status pada bila-bila masa.\r\n                    @if (filled($cfSubmission->submission_email))\r\n                        Salinan pengesahan telah dihantar ke <strong>{{ $cfSubmission->submission_email }}</strong>.\r\n                    @endif\r\n                </p>\r\n\r\n                <div class=\"d-flex flex-wrap gap-2 justify-content-center\">\r\n                    <a href=\"{{ $cfList }}?tiket=1\" class=\"btn btn-teal btn-sm\">Semak Status</a>\r\n                    <a href=\"{{ $cfList }}\" class=\"btn btn-outline-secondary btn-sm\">Kembali ke senarai borang</a>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif (! empty($cfQuery['tiket']))\r\n            {{-- ---------- SEMAK STATUS TIKET ---------- --}}\r\n            <div class=\"cf-track\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">Semak Status Aduan / Maklum Balas</h2>\r\n                    <p class=\"cf-desc\">Masukkan No. Tiket dan e-mel yang digunakan semasa menghantar.</p>\r\n\r\n                    <form method=\"POST\" class=\"cf-track-form\" action=\"{{ route('frontend-form.track.submit', ['site' => $cfSite]) }}\">\r\n                        @csrf\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-ticket\">No. Tiket</label>\r\n                            <input type=\"text\" id=\"cf-ticket\" name=\"ticket_no\" value=\"{{ old('ticket_no') }}\"\r\n                                class=\"form-control form-control-sm @error('ticket_no') is-invalid @enderror\"\r\n                                placeholder=\"cth AI/2026/0001\" required>\r\n                            @error('ticket_no')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-email\">E-mel</label>\r\n                            <input type=\"email\" id=\"cf-email\" name=\"email\" value=\"{{ old('email') }}\"\r\n                                class=\"form-control form-control-sm @error('email') is-invalid @enderror\" required>\r\n                            @error('email')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <button type=\"submit\" class=\"btn btn-teal btn-sm\">Semak</button>\r\n                    </form>\r\n\r\n                    @if (session('track_error'))\r\n                        <div class=\"alert alert-warning mt-3 mb-0 py-2 small\">{{ session('track_error') }}</div>\r\n                    @endif\r\n\r\n                    @if (! empty($cfTracked))\r\n                        <hr class=\"my-3\">\r\n                        <div class=\"d-flex flex-wrap justify-content-between align-items-center gap-2 mb-2\">\r\n                            <strong style=\"font-family:ui-monospace,monospace\">{{ $cfTracked->submission_ticket_no }}</strong>\r\n                            <span class=\"cf-status\" style=\"background:var(--fade);color:var(--teal)\">{{ $cfTracked->statusLabel() }}</span>\r\n                        </div>\r\n\r\n                        <div class=\"cf-rows\">\r\n                            <div class=\"row-line\"><span class=\"k\">Jenis</span><span class=\"v\">{{ $cfTracked->submission_type }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Subjek</span><span class=\"v\">{{ $cfTracked->submission_subject ?: '—' }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Tarikh hantar</span><span class=\"v\">{{ $cfTracked->submission_submitted_at?->format('d/m/Y H:i') ?? '—' }}</span></div>\r\n                            @if ($cfTracked->submission_closed_at)\r\n                                <div class=\"row-line\"><span class=\"k\">Tarikh tutup</span><span class=\"v\">{{ $cfTracked->submission_closed_at->format('d/m/Y H:i') }}</span></div>\r\n                            @endif\r\n                        </div>\r\n\r\n                        @if ($cfTracked->messages->isNotEmpty())\r\n                            <div class=\"cf-thread\">\r\n                                <strong class=\"d-block mb-2\" style=\"font-size:.85rem\">Balasan</strong>\r\n                                @foreach ($cfTracked->messages as $cfMessage)\r\n                                    <div class=\"cf-msg {{ $cfMessage->isFromAdmin() ? 'admin' : 'user' }}\">\r\n                                        <div class=\"meta\">\r\n                                            {{ $cfMessage->isFromAdmin() ? 'NRES' : 'Pengadu' }} ·\r\n                                            {{ $cfMessage->created_at?->format('d/m/Y H:i') }}\r\n                                        </div>\r\n                                        <div style=\"font-size:.85rem\">{!! nl2br(e($cfMessage->message_body)) !!}</div>\r\n                                    </div>\r\n                                @endforeach\r\n                            </div>\r\n                        @else\r\n                            <p class=\"small text-body-secondary mb-0 mt-2\">Belum ada balasan daripada pihak NRES.</p>\r\n                        @endif\r\n                    @endif\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm && filled($cfForm->form_external_url))\r\n            {{-- ---------- BORANG DI SISTEM LUAR ---------- --}}\r\n            <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                    <div class=\"card-soft p-3 cf-card\">\r\n                        <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfForm->form_type)->value('descr') ?? $cfForm->form_type) }}</span>\r\n                        <h3>{{ $cfForm->title() }}</h3>\r\n                        <p>{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                        <a href=\"{{ $cfForm->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">Buka Sistem</a>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm)\r\n            {{-- ---------- BORANG ---------- --}}\r\n            <div class=\"cf-wrap\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">{{ $cfForm->title() }}</h2>\r\n\r\n                    @if (filled($cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc))\r\n                        <p class=\"cf-desc\">{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                    @endif\r\n\r\n                    <form method=\"POST\" enctype=\"multipart/form-data\" class=\"cf-form\"\r\n                        action=\"{{ route('frontend-form.store', ['site' => $cfSite, 'formSlug' => $cfForm->form_slug]) }}\">\r\n                        @csrf\r\n\r\n                        {{-- Honeypot: manusia tidak nampak, bot akan isi --}}\r\n                        <div class=\"cf-hp\" aria-hidden=\"true\">\r\n                            <label for=\"cf-website\">Website</label>\r\n                            <input type=\"text\" id=\"cf-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\r\n                        </div>\r\n\r\n                        @foreach ($cfGroups as $cfGroup)\r\n                            <fieldset class=\"cf-section\">\r\n                                @if (filled($cfGroup['title']))\r\n                                    <legend class=\"cf-legend\">{{ $cfGroup['title'] }}</legend>\r\n                                @endif\r\n\r\n                                @if (filled($cfGroup['desc']))\r\n                                    <p class=\"cf-section-desc\">{{ $cfGroup['desc'] }}</p>\r\n                                @endif\r\n\r\n                                @foreach ($cfGroup['fields'] as $cfField)\r\n                                    @php\r\n                                        $cfCode       = $cfField->field_code;\r\n                                        $cfIsCheckbox = $cfField->field_type === 'CHECKBOX';\r\n                                        $cfName       = $cfIsCheckbox ? \"fields[{$cfCode}][]\" : \"fields[{$cfCode}]\";\r\n                                        $cfOld        = old(\"fields.{$cfCode}\");\r\n                                        $cfHasError   = $errors->has(\"fields.{$cfCode}\");\r\n                                        $cfInvalid    = $cfHasError ? 'is-invalid' : '';\r\n                                        $cfReq        = $cfField->field_required ? 'required' : '';\r\n                                    @endphp\r\n\r\n                                    <div class=\"cf-field {{ $cfHasError ? 'cf-field-error' : '' }}\" id=\"cf-{{ $cfCode }}\">\r\n                                        <label class=\"cf-label\" @if (! $cfIsCheckbox) for=\"cf-input-{{ $cfCode }}\" @endif>\r\n                                            {{ $cfField->field_label }}\r\n                                            @if ($cfField->field_required)\r\n                                                <span class=\"cf-req\" aria-hidden=\"true\">*</span>\r\n                                            @endif\r\n                                        </label>\r\n\r\n                                        @if (filled($cfField->field_help))\r\n                                            <div class=\"cf-help\">{{ $cfField->field_help }}</div>\r\n                                        @endif\r\n\r\n                                        @switch($cfField->field_type)\r\n\r\n                                            @case('TEXTAREA')\r\n                                                <textarea id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" rows=\"5\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>{{ $cfOld }}</textarea>\r\n                                                @break\r\n\r\n                                            @case('SELECT')\r\n                                                <select id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\"\r\n                                                    class=\"form-select cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                    <option value=\"\">— Sila pilih —</option>\r\n                                                    @foreach ($cfField->optionList() as $cfOpt)\r\n                                                        <option value=\"{{ $cfOpt['value'] }}\" @selected((string) $cfOld === (string) $cfOpt['value'])>\r\n                                                            {{ $cfOpt['label'] }}\r\n                                                        </option>\r\n                                                    @endforeach\r\n                                                </select>\r\n                                                @break\r\n\r\n                                            @case('RADIO')\r\n                                                <div class=\"cf-options\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked((string) $cfOld === (string) $cfOpt['value']) {{ $cfReq }}>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('CHECKBOX')\r\n                                                <div class=\"cf-options\" role=\"group\" aria-required=\"{{ $cfField->field_required ? 'true' : 'false' }}\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"checkbox\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked(is_array($cfOld) && in_array($cfOpt['value'], $cfOld, true))>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('SCALE')\r\n                                                <div class=\"cf-scale\" role=\"radiogroup\" aria-label=\"{{ $cfField->field_label }}\">\r\n                                                    @foreach ($cfField->scaleRange() as $cfScale)\r\n                                                        <label class=\"cf-scale-opt\" for=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ (int) $cfScale }}\" @checked((string) $cfOld === (string) (int) $cfScale) {{ $cfReq }}>\r\n                                                            <span class=\"cf-scale-num\">{{ (int) $cfScale }}</span>\r\n                                                            <span class=\"cf-scale-lbl\">{{ $cfField->scaleLabel($cfScale) ?? 'Skala '.(int) $cfScale }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('FILE')\r\n                                                <input type=\"file\" id=\"cf-input-{{ $cfCode }}\" name=\"files[{{ $cfCode }}]\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                <div class=\"cf-help mt-1\">Saiz maksimum 10 MB. Format: PDF, JPG, PNG, DOCX, XLSX.</div>\r\n                                                @break\r\n\r\n                                            @case('EMAIL')\r\n                                                <input type=\"email\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"email\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('PHONE')\r\n                                                <input type=\"tel\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"tel\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('DATE')\r\n                                                <input type=\"date\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @default\r\n                                                <input type=\"text\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                        @endswitch\r\n\r\n                                        @error(\"fields.{$cfCode}\")\r\n                                            <div class=\"cf-error\">{{ $message }}</div>\r\n                                        @enderror\r\n                                    </div>\r\n                                @endforeach\r\n                            </fieldset>\r\n                        @endforeach\r\n\r\n                        <div class=\"d-flex flex-wrap gap-2 mt-4\">\r\n                            <button type=\"submit\" class=\"btn btn-teal px-4\">Hantar</button>\r\n                            <button type=\"reset\" class=\"btn btn-outline-secondary\">Set Semula</button>\r\n                        </div>\r\n\r\n                        <p class=\"cf-note\">* Ruangan wajib diisi.</p>\r\n                    </form>\r\n                </div>\r\n            </div>\r\n\r\n\r\n\r\n\r\n        @else\r\n            {{-- ---------- SENARAI BORANG (fallback) ---------- --}}\r\n            <h1 class=\"h4 fw-bold mb-1\" style=\"color:var(--green)\">Aduan dan Maklum Balas</h1>\r\n            <p class=\"small text-body-secondary mb-4\">\r\n                Sila pilih borang di bawah. Untuk aduan awam, gunakan sistem SISPAA.\r\n            </p>\r\n\r\n            @php\r\n                $cfOpenForms = $cfSvc->openForms();\r\n            @endphp\r\n\r\n            @if ($cfOpenForms->isEmpty())\r\n                <div class=\"card-soft p-4 text-center\">\r\n                    <p class=\"mb-0 text-body-secondary\">Tiada borang dibuka pada masa ini.</p>\r\n                </div>\r\n            @else\r\n                <div class=\"row g-3\">\r\n                    @foreach ($cfOpenForms as $cfItem)\r\n                        <div class=\"col-md-6\">\r\n                            <div class=\"card-soft p-3 cf-card\">\r\n                                <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfItem->form_type)->value('descr') ?? $cfItem->form_type) }}</span>\r\n                                <h3>{{ $cfItem->title() }}</h3>\r\n                                <p>{{ $cfItem->translation()?->form_translation_desc ?? $cfItem->form_desc }}</p>\r\n\r\n                                @if (filled($cfItem->form_external_url))\r\n                                    <a href=\"{{ $cfItem->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Buka Sistem\r\n                                    </a>\r\n                                @else\r\n                                    <a href=\"{{ url($cfSite.'/'.$cfItem->form_slug) }}\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Isi Borang\r\n                                    </a>\r\n                                @endif\r\n                            </div>\r\n                        </div>\r\n                    @endforeach\r\n                </div>\r\n            @endif\r\n        @endif\r\n\r\n    </div>\r\n</section>\r\n\r\n\r\n"
        },
        {
            "id": 26,
            "slug": "customer-satisfaction-2026",
            "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Borang: Customer Satisfaction Survey 2026\r\n     Site  : nres  ·  Page slug: customer-satisfaction-2026\r\n     Modul : content-form (Aduan & Maklum Balas)\r\n\r\n     SEMUA markup borang ada DALAM fail page ini — tiada component kongsi, tiada\r\n     blade partial. Nak tukar borang yang dipaparkan oleh page ini? Ubah nilai\r\n     $cfDefaultSlug di bawah ('' = papar senarai semua borang yang dibuka).\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    /* --------------------------------------------------------------------\r\n     | 1. TETAPAN PAGE INI — ubah di sini sahaja\r\n     -------------------------------------------------------------------- */\r\n    $cfDefaultSlug = 'customer-satisfaction-2026';\r\n\r\n    /* --------------------------------------------------------------------\r\n     | 2. KONTEKS (site, query, servis)\r\n     -------------------------------------------------------------------- */\r\n    $cfSite  = $siteSlug ?? request()->segment(1);\r\n    $cfQuery = request()->query();\r\n    $cfSvc   = app(\\App\\Services\\ContentFormService::class);\r\n    $cfList  = url($cfSite.'/complaints-feedback');\r\n\r\n    // Keutamaan: ?form=slug → $cfDefaultSlug → slug page semasa\r\n    $cfSlug = (string) ($cfQuery['form'] ?? '');\r\n    if ($cfSlug === '') {\r\n        $cfSlug = $cfDefaultSlug !== '' ? $cfDefaultSlug : (string) (request()->route('slug') ?? '');\r\n    }\r\n\r\n    $cfForm = $cfSlug !== '' ? $cfSvc->findOpenForm($cfSlug) : null;\r\n\r\n    // Kad \"borang telah dihantar\" — redirect dari POST {site}/aduan/{slug}?selesai=1\r\n    $cfSubmission = (! empty($cfQuery['selesai']) && session('form_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with('form')->find(session('form_submission_id'))\r\n        : null;\r\n\r\n    // Kad \"semak status tiket\" — ?tiket=1\r\n    $cfTracked = (! empty($cfQuery['tiket']) && session('tracked_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with(['messages', 'answers'])->find(session('tracked_submission_id'))\r\n        : null;\r\n\r\n    // Kumpulkan field ikut seksyen (seksyen + field tanpa seksyen)\r\n    $cfGroups = [];\r\n    if ($cfForm) {\r\n        foreach ($cfForm->sections as $cfSection) {\r\n            $cfGroups[] = [\r\n                'title'  => $cfSection->section_title,\r\n                'desc'   => $cfSection->section_desc,\r\n                'fields' => $cfForm->fields->where('field_section_fk', $cfSection->section_id)->values(),\r\n            ];\r\n        }\r\n\r\n        $cfLoose = $cfForm->fields->whereNull('field_section_fk')->values();\r\n        if ($cfLoose->isNotEmpty()) {\r\n            $cfGroups[] = ['title' => null, 'desc' => null, 'fields' => $cfLoose];\r\n        }\r\n    }\r\n@endphp\r\n\r\n<style>\r\n.cf-narrow{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-wrap{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-title{font-weight:700;color:var(--green);font-size:1.35rem;margin-bottom:.35rem}\r\n.cf-desc{font-size:.86rem;color:var(--bs-secondary-color);margin-bottom:1.25rem}\r\n.cf-section{border:0;padding:0;margin:0 0 1.75rem}\r\n.cf-legend{font-weight:700;color:var(--teal);font-size:.95rem;padding:.4rem .75rem;background:var(--fade);border-left:4px solid var(--teal);border-radius:6px;margin-bottom:.35rem;width:100%}\r\n.cf-section-desc{font-size:.78rem;color:var(--bs-secondary-color);margin:.35rem 0 .9rem}\r\n.cf-field{margin-bottom:1.15rem}\r\n.cf-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem;color:var(--ink)}\r\n.cf-req{color:#dc2626}\r\n.cf-help{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:.45rem}\r\n.cf-input{font-size:.86rem;border-color:var(--line)}\r\n.cf-input:focus{border-color:var(--teal);box-shadow:0 0 0 .18rem rgba(17,128,143,.15)}\r\n.cf-field-error .cf-input{border-color:#dc2626}\r\n.cf-error{font-size:.75rem;color:#dc2626;margin-top:.35rem}\r\n.cf-options{display:flex;flex-direction:column;gap:.45rem}\r\n.cf-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font-size:.84rem;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-opt input{margin-top:.15rem;flex:none;accent-color:var(--teal)}\r\n.cf-opt:has(input:checked){border-color:var(--teal);background:var(--fade);font-weight:600}\r\n.cf-card{display:flex;flex-direction:column;height:100%}\r\n.cf-card h3{font-weight:700;color:var(--green);font-size:1rem;margin-bottom:.4rem}\r\n.cf-card p{font-size:.82rem;color:var(--bs-secondary-color);flex-grow:1}\r\n.cf-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--fade);color:var(--teal);margin-bottom:.5rem}\r\n.cf-done{max-width:640px;text-align:center}\r\n.cf-done .cf-ico{width:64px;height:64px;border-radius:50%;background:var(--fade);color:var(--teal);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:.9rem}\r\n.cf-done h2{font-weight:700;color:var(--green);font-size:1.25rem;margin-bottom:.4rem}\r\n.cf-done p{font-size:.86rem;color:var(--bs-secondary-color)}\r\n.cf-ticket{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:700;letter-spacing:1px;color:var(--teal);background:var(--fade);border:1px dashed var(--teal);border-radius:10px;padding:.6rem 1.1rem;margin:.75rem 0}\r\n.cf-track{max-width:720px;margin-left:auto;margin-right:auto}\r\n.cf-track-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}\r\n.cf-track-form .cf-g{flex:1 1 220px}\r\n.cf-track-form label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.3rem}\r\n.cf-status{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:99px}\r\n.cf-rows{font-size:.85rem}\r\n.cf-rows .row-line{display:flex;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}\r\n.cf-rows .row-line:first-child{border-top:0}\r\n.cf-rows .k{flex:0 0 42%;color:var(--bs-secondary-color)}\r\n.cf-rows .v{flex:1;font-weight:600}\r\n.cf-thread{margin-top:1rem}\r\n.cf-msg{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--bs-body-bg)}\r\n.cf-msg .meta{font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.25rem}\r\n.cf-msg.admin{border-left-color:var(--teal)}\r\n.cf-msg.user{border-left-color:#94a3b8}\r\n[data-bs-theme=dark] .cf-legend{background:#0f2226}\r\n\r\n.cf-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}\r\n.cf-scale-opt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:.6rem .4rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-scale-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-scale-opt input{position:absolute;opacity:0;width:0;height:0}\r\n.cf-scale-num{font-weight:700;font-size:1rem;color:var(--teal)}\r\n.cf-scale-lbl{font-size:.68rem;line-height:1.2;color:var(--bs-secondary-color)}\r\n.cf-scale-opt:has(input:checked){border-color:var(--teal);background:var(--teal)}\r\n.cf-scale-opt:has(input:checked) .cf-scale-num,.cf-scale-opt:has(input:checked) .cf-scale-lbl{color:#fff}\r\n.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\r\n.cf-note{font-size:.75rem;color:var(--bs-secondary-color);margin:.9rem 0 0}\r\n</style>\r\n\r\n<section class=\"py-4 py-lg-5\">\r\n    <div class=\"container-xl\">\r\n\r\n        @if ($cfForm)\r\n            <div class=\"cf-narrow mb-3\">\r\n                <a href=\"{{ $cfList }}\" class=\"text-teal small fw-semibold text-decoration-none\">&larr; Kembali ke senarai borang</a>\r\n            </div>\r\n        @endif\r\n\r\n        @if ($cfSubmission)\r\n            {{-- ---------- BORANG TELAH DIHANTAR ---------- --}}\r\n            <div class=\"card-soft p-4 cf-done mx-auto\">\r\n                <span class=\"cf-ico\">\r\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:32px;height:32px\" aria-hidden=\"true\">\r\n                        <path d=\"M20 6L9 17l-5-5\"/>\r\n                    </svg>\r\n                </span>\r\n\r\n                <h2>Terima kasih</h2>\r\n\r\n                <p>{{ $cfSubmission->form?->form_thanks ?: 'Borang anda telah diterima.' }}</p>\r\n\r\n                <div class=\"cf-ticket\">{{ $cfSubmission->submission_ticket_no }}</div>\r\n\r\n                <p class=\"mb-3\">\r\n                    Sila simpan <strong>No. Tiket</strong> di atas untuk menyemak status pada bila-bila masa.\r\n                    @if (filled($cfSubmission->submission_email))\r\n                        Salinan pengesahan telah dihantar ke <strong>{{ $cfSubmission->submission_email }}</strong>.\r\n                    @endif\r\n                </p>\r\n\r\n                <div class=\"d-flex flex-wrap gap-2 justify-content-center\">\r\n                    <a href=\"{{ $cfList }}?tiket=1\" class=\"btn btn-teal btn-sm\">Semak Status</a>\r\n                    <a href=\"{{ $cfList }}\" class=\"btn btn-outline-secondary btn-sm\">Kembali ke senarai borang</a>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif (! empty($cfQuery['tiket']))\r\n            {{-- ---------- SEMAK STATUS TIKET ---------- --}}\r\n            <div class=\"cf-track\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">Semak Status Aduan / Maklum Balas</h2>\r\n                    <p class=\"cf-desc\">Masukkan No. Tiket dan e-mel yang digunakan semasa menghantar.</p>\r\n\r\n                    <form method=\"POST\" class=\"cf-track-form\" action=\"{{ route('frontend-form.track.submit', ['site' => $cfSite]) }}\">\r\n                        @csrf\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-ticket\">No. Tiket</label>\r\n                            <input type=\"text\" id=\"cf-ticket\" name=\"ticket_no\" value=\"{{ old('ticket_no') }}\"\r\n                                class=\"form-control form-control-sm @error('ticket_no') is-invalid @enderror\"\r\n                                placeholder=\"cth AI/2026/0001\" required>\r\n                            @error('ticket_no')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-email\">E-mel</label>\r\n                            <input type=\"email\" id=\"cf-email\" name=\"email\" value=\"{{ old('email') }}\"\r\n                                class=\"form-control form-control-sm @error('email') is-invalid @enderror\" required>\r\n                            @error('email')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <button type=\"submit\" class=\"btn btn-teal btn-sm\">Semak</button>\r\n                    </form>\r\n\r\n                    @if (session('track_error'))\r\n                        <div class=\"alert alert-warning mt-3 mb-0 py-2 small\">{{ session('track_error') }}</div>\r\n                    @endif\r\n\r\n                    @if (! empty($cfTracked))\r\n                        <hr class=\"my-3\">\r\n                        <div class=\"d-flex flex-wrap justify-content-between align-items-center gap-2 mb-2\">\r\n                            <strong style=\"font-family:ui-monospace,monospace\">{{ $cfTracked->submission_ticket_no }}</strong>\r\n                            <span class=\"cf-status\" style=\"background:var(--fade);color:var(--teal)\">{{ $cfTracked->statusLabel() }}</span>\r\n                        </div>\r\n\r\n                        <div class=\"cf-rows\">\r\n                            <div class=\"row-line\"><span class=\"k\">Jenis</span><span class=\"v\">{{ $cfTracked->submission_type }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Subjek</span><span class=\"v\">{{ $cfTracked->submission_subject ?: '—' }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Tarikh hantar</span><span class=\"v\">{{ $cfTracked->submission_submitted_at?->format('d/m/Y H:i') ?? '—' }}</span></div>\r\n                            @if ($cfTracked->submission_closed_at)\r\n                                <div class=\"row-line\"><span class=\"k\">Tarikh tutup</span><span class=\"v\">{{ $cfTracked->submission_closed_at->format('d/m/Y H:i') }}</span></div>\r\n                            @endif\r\n                        </div>\r\n\r\n                        @if ($cfTracked->messages->isNotEmpty())\r\n                            <div class=\"cf-thread\">\r\n                                <strong class=\"d-block mb-2\" style=\"font-size:.85rem\">Balasan</strong>\r\n                                @foreach ($cfTracked->messages as $cfMessage)\r\n                                    <div class=\"cf-msg {{ $cfMessage->isFromAdmin() ? 'admin' : 'user' }}\">\r\n                                        <div class=\"meta\">\r\n                                            {{ $cfMessage->isFromAdmin() ? 'NRES' : 'Pengadu' }} ·\r\n                                            {{ $cfMessage->created_at?->format('d/m/Y H:i') }}\r\n                                        </div>\r\n                                        <div style=\"font-size:.85rem\">{!! nl2br(e($cfMessage->message_body)) !!}</div>\r\n                                    </div>\r\n                                @endforeach\r\n                            </div>\r\n                        @else\r\n                            <p class=\"small text-body-secondary mb-0 mt-2\">Belum ada balasan daripada pihak NRES.</p>\r\n                        @endif\r\n                    @endif\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm && filled($cfForm->form_external_url))\r\n            {{-- ---------- BORANG DI SISTEM LUAR ---------- --}}\r\n            <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                    <div class=\"card-soft p-3 cf-card\">\r\n                        <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfForm->form_type)->value('descr') ?? $cfForm->form_type) }}</span>\r\n                        <h3>{{ $cfForm->title() }}</h3>\r\n                        <p>{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                        <a href=\"{{ $cfForm->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">Buka Sistem</a>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm)\r\n            {{-- ---------- BORANG ---------- --}}\r\n            <div class=\"cf-wrap\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">{{ $cfForm->title() }}</h2>\r\n\r\n                    @if (filled($cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc))\r\n                        <p class=\"cf-desc\">{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                    @endif\r\n\r\n                    <form method=\"POST\" enctype=\"multipart/form-data\" class=\"cf-form\"\r\n                        action=\"{{ route('frontend-form.store', ['site' => $cfSite, 'formSlug' => $cfForm->form_slug]) }}\">\r\n                        @csrf\r\n\r\n                        {{-- Honeypot: manusia tidak nampak, bot akan isi --}}\r\n                        <div class=\"cf-hp\" aria-hidden=\"true\">\r\n                            <label for=\"cf-website\">Website</label>\r\n                            <input type=\"text\" id=\"cf-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\r\n                        </div>\r\n\r\n                        @foreach ($cfGroups as $cfGroup)\r\n                            <fieldset class=\"cf-section\">\r\n                                @if (filled($cfGroup['title']))\r\n                                    <legend class=\"cf-legend\">{{ $cfGroup['title'] }}</legend>\r\n                                @endif\r\n\r\n                                @if (filled($cfGroup['desc']))\r\n                                    <p class=\"cf-section-desc\">{{ $cfGroup['desc'] }}</p>\r\n                                @endif\r\n\r\n                                @foreach ($cfGroup['fields'] as $cfField)\r\n                                    @php\r\n                                        $cfCode       = $cfField->field_code;\r\n                                        $cfIsCheckbox = $cfField->field_type === 'CHECKBOX';\r\n                                        $cfName       = $cfIsCheckbox ? \"fields[{$cfCode}][]\" : \"fields[{$cfCode}]\";\r\n                                        $cfOld        = old(\"fields.{$cfCode}\");\r\n                                        $cfHasError   = $errors->has(\"fields.{$cfCode}\");\r\n                                        $cfInvalid    = $cfHasError ? 'is-invalid' : '';\r\n                                        $cfReq        = $cfField->field_required ? 'required' : '';\r\n                                    @endphp\r\n\r\n                                    <div class=\"cf-field {{ $cfHasError ? 'cf-field-error' : '' }}\" id=\"cf-{{ $cfCode }}\">\r\n                                        <label class=\"cf-label\" @if (! $cfIsCheckbox) for=\"cf-input-{{ $cfCode }}\" @endif>\r\n                                            {{ $cfField->field_label }}\r\n                                            @if ($cfField->field_required)\r\n                                                <span class=\"cf-req\" aria-hidden=\"true\">*</span>\r\n                                            @endif\r\n                                        </label>\r\n\r\n                                        @if (filled($cfField->field_help))\r\n                                            <div class=\"cf-help\">{{ $cfField->field_help }}</div>\r\n                                        @endif\r\n\r\n                                        @switch($cfField->field_type)\r\n\r\n                                            @case('TEXTAREA')\r\n                                                <textarea id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" rows=\"5\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>{{ $cfOld }}</textarea>\r\n                                                @break\r\n\r\n                                            @case('SELECT')\r\n                                                <select id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\"\r\n                                                    class=\"form-select cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                    <option value=\"\">— Sila pilih —</option>\r\n                                                    @foreach ($cfField->optionList() as $cfOpt)\r\n                                                        <option value=\"{{ $cfOpt['value'] }}\" @selected((string) $cfOld === (string) $cfOpt['value'])>\r\n                                                            {{ $cfOpt['label'] }}\r\n                                                        </option>\r\n                                                    @endforeach\r\n                                                </select>\r\n                                                @break\r\n\r\n                                            @case('RADIO')\r\n                                                <div class=\"cf-options\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked((string) $cfOld === (string) $cfOpt['value']) {{ $cfReq }}>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('CHECKBOX')\r\n                                                <div class=\"cf-options\" role=\"group\" aria-required=\"{{ $cfField->field_required ? 'true' : 'false' }}\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"checkbox\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked(is_array($cfOld) && in_array($cfOpt['value'], $cfOld, true))>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('SCALE')\r\n                                                <div class=\"cf-scale\" role=\"radiogroup\" aria-label=\"{{ $cfField->field_label }}\">\r\n                                                    @foreach ($cfField->scaleRange() as $cfScale)\r\n                                                        <label class=\"cf-scale-opt\" for=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ (int) $cfScale }}\" @checked((string) $cfOld === (string) (int) $cfScale) {{ $cfReq }}>\r\n                                                            <span class=\"cf-scale-num\">{{ (int) $cfScale }}</span>\r\n                                                            <span class=\"cf-scale-lbl\">{{ $cfField->scaleLabel($cfScale) ?? 'Skala '.(int) $cfScale }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('FILE')\r\n                                                <input type=\"file\" id=\"cf-input-{{ $cfCode }}\" name=\"files[{{ $cfCode }}]\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                <div class=\"cf-help mt-1\">Saiz maksimum 10 MB. Format: PDF, JPG, PNG, DOCX, XLSX.</div>\r\n                                                @break\r\n\r\n                                            @case('EMAIL')\r\n                                                <input type=\"email\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"email\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('PHONE')\r\n                                                <input type=\"tel\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"tel\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('DATE')\r\n                                                <input type=\"date\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @default\r\n                                                <input type=\"text\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                        @endswitch\r\n\r\n                                        @error(\"fields.{$cfCode}\")\r\n                                            <div class=\"cf-error\">{{ $message }}</div>\r\n                                        @enderror\r\n                                    </div>\r\n                                @endforeach\r\n                            </fieldset>\r\n                        @endforeach\r\n\r\n                        <div class=\"d-flex flex-wrap gap-2 mt-4\">\r\n                            <button type=\"submit\" class=\"btn btn-teal px-4\">Hantar</button>\r\n                            <button type=\"reset\" class=\"btn btn-outline-secondary\">Set Semula</button>\r\n                        </div>\r\n\r\n                        <p class=\"cf-note\">* Ruangan wajib diisi.</p>\r\n                    </form>\r\n                </div>\r\n            </div>\r\n\r\n\r\n\r\n\r\n        @else\r\n            {{-- ---------- SENARAI BORANG (fallback) ---------- --}}\r\n            <h1 class=\"h4 fw-bold mb-1\" style=\"color:var(--green)\">Aduan dan Maklum Balas</h1>\r\n            <p class=\"small text-body-secondary mb-4\">\r\n                Sila pilih borang di bawah. Untuk aduan awam, gunakan sistem SISPAA.\r\n            </p>\r\n\r\n            @php\r\n                $cfOpenForms = $cfSvc->openForms();\r\n            @endphp\r\n\r\n            @if ($cfOpenForms->isEmpty())\r\n                <div class=\"card-soft p-4 text-center\">\r\n                    <p class=\"mb-0 text-body-secondary\">Tiada borang dibuka pada masa ini.</p>\r\n                </div>\r\n            @else\r\n                <div class=\"row g-3\">\r\n                    @foreach ($cfOpenForms as $cfItem)\r\n                        <div class=\"col-md-6\">\r\n                            <div class=\"card-soft p-3 cf-card\">\r\n                                <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfItem->form_type)->value('descr') ?? $cfItem->form_type) }}</span>\r\n                                <h3>{{ $cfItem->title() }}</h3>\r\n                                <p>{{ $cfItem->translation()?->form_translation_desc ?? $cfItem->form_desc }}</p>\r\n\r\n                                @if (filled($cfItem->form_external_url))\r\n                                    <a href=\"{{ $cfItem->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Buka Sistem\r\n                                    </a>\r\n                                @else\r\n                                    <a href=\"{{ url($cfSite.'/'.$cfItem->form_slug) }}\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Isi Borang\r\n                                    </a>\r\n                                @endif\r\n                            </div>\r\n                        </div>\r\n                    @endforeach\r\n                </div>\r\n            @endif\r\n        @endif\r\n\r\n    </div>\r\n</section>\r\n\r\n\r\n"
        },
        {
            "id": 27,
            "slug": "digital-satisfaction-2026",
            "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Borang: Digital Satisfaction Survey 2026\r\n     Site  : nres  ·  Page slug: digital-satisfaction-2026\r\n     Modul : content-form (Aduan & Maklum Balas)\r\n\r\n     SEMUA markup borang ada DALAM fail page ini — tiada component kongsi, tiada\r\n     blade partial. Nak tukar borang yang dipaparkan oleh page ini? Ubah nilai\r\n     $cfDefaultSlug di bawah ('' = papar senarai semua borang yang dibuka).\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    /* --------------------------------------------------------------------\r\n     | 1. TETAPAN PAGE INI — ubah di sini sahaja\r\n     -------------------------------------------------------------------- */\r\n    $cfDefaultSlug = 'digital-satisfaction-2026';\r\n\r\n    /* --------------------------------------------------------------------\r\n     | 2. KONTEKS (site, query, servis)\r\n     -------------------------------------------------------------------- */\r\n    $cfSite  = $siteSlug ?? request()->segment(1);\r\n    $cfQuery = request()->query();\r\n    $cfSvc   = app(\\App\\Services\\ContentFormService::class);\r\n    $cfList  = url($cfSite.'/complaints-feedback');\r\n\r\n    // Keutamaan: ?form=slug → $cfDefaultSlug → slug page semasa\r\n    $cfSlug = (string) ($cfQuery['form'] ?? '');\r\n    if ($cfSlug === '') {\r\n        $cfSlug = $cfDefaultSlug !== '' ? $cfDefaultSlug : (string) (request()->route('slug') ?? '');\r\n    }\r\n\r\n    $cfForm = $cfSlug !== '' ? $cfSvc->findOpenForm($cfSlug) : null;\r\n\r\n    // Kad \"borang telah dihantar\" — redirect dari POST {site}/aduan/{slug}?selesai=1\r\n    $cfSubmission = (! empty($cfQuery['selesai']) && session('form_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with('form')->find(session('form_submission_id'))\r\n        : null;\r\n\r\n    // Kad \"semak status tiket\" — ?tiket=1\r\n    $cfTracked = (! empty($cfQuery['tiket']) && session('tracked_submission_id'))\r\n        ? \\App\\Models\\Backend\\ContentFormSubmission::with(['messages', 'answers'])->find(session('tracked_submission_id'))\r\n        : null;\r\n\r\n    // Kumpulkan field ikut seksyen (seksyen + field tanpa seksyen)\r\n    $cfGroups = [];\r\n    if ($cfForm) {\r\n        foreach ($cfForm->sections as $cfSection) {\r\n            $cfGroups[] = [\r\n                'title'  => $cfSection->section_title,\r\n                'desc'   => $cfSection->section_desc,\r\n                'fields' => $cfForm->fields->where('field_section_fk', $cfSection->section_id)->values(),\r\n            ];\r\n        }\r\n\r\n        $cfLoose = $cfForm->fields->whereNull('field_section_fk')->values();\r\n        if ($cfLoose->isNotEmpty()) {\r\n            $cfGroups[] = ['title' => null, 'desc' => null, 'fields' => $cfLoose];\r\n        }\r\n    }\r\n@endphp\r\n\r\n<style>\r\n.cf-narrow{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-wrap{max-width:900px;margin-left:auto;margin-right:auto}\r\n.cf-title{font-weight:700;color:var(--green);font-size:1.35rem;margin-bottom:.35rem}\r\n.cf-desc{font-size:.86rem;color:var(--bs-secondary-color);margin-bottom:1.25rem}\r\n.cf-section{border:0;padding:0;margin:0 0 1.75rem}\r\n.cf-legend{font-weight:700;color:var(--teal);font-size:.95rem;padding:.4rem .75rem;background:var(--fade);border-left:4px solid var(--teal);border-radius:6px;margin-bottom:.35rem;width:100%}\r\n.cf-section-desc{font-size:.78rem;color:var(--bs-secondary-color);margin:.35rem 0 .9rem}\r\n.cf-field{margin-bottom:1.15rem}\r\n.cf-label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem;color:var(--ink)}\r\n.cf-req{color:#dc2626}\r\n.cf-help{font-size:.75rem;color:var(--bs-secondary-color);margin-bottom:.45rem}\r\n.cf-input{font-size:.86rem;border-color:var(--line)}\r\n.cf-input:focus{border-color:var(--teal);box-shadow:0 0 0 .18rem rgba(17,128,143,.15)}\r\n.cf-field-error .cf-input{border-color:#dc2626}\r\n.cf-error{font-size:.75rem;color:#dc2626;margin-top:.35rem}\r\n.cf-options{display:flex;flex-direction:column;gap:.45rem}\r\n.cf-opt{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;font-size:.84rem;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-opt input{margin-top:.15rem;flex:none;accent-color:var(--teal)}\r\n.cf-opt:has(input:checked){border-color:var(--teal);background:var(--fade);font-weight:600}\r\n.cf-card{display:flex;flex-direction:column;height:100%}\r\n.cf-card h3{font-weight:700;color:var(--green);font-size:1rem;margin-bottom:.4rem}\r\n.cf-card p{font-size:.82rem;color:var(--bs-secondary-color);flex-grow:1}\r\n.cf-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:99px;background:var(--fade);color:var(--teal);margin-bottom:.5rem}\r\n.cf-done{max-width:640px;text-align:center}\r\n.cf-done .cf-ico{width:64px;height:64px;border-radius:50%;background:var(--fade);color:var(--teal);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:.9rem}\r\n.cf-done h2{font-weight:700;color:var(--green);font-size:1.25rem;margin-bottom:.4rem}\r\n.cf-done p{font-size:.86rem;color:var(--bs-secondary-color)}\r\n.cf-ticket{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:700;letter-spacing:1px;color:var(--teal);background:var(--fade);border:1px dashed var(--teal);border-radius:10px;padding:.6rem 1.1rem;margin:.75rem 0}\r\n.cf-track{max-width:720px;margin-left:auto;margin-right:auto}\r\n.cf-track-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}\r\n.cf-track-form .cf-g{flex:1 1 220px}\r\n.cf-track-form label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.3rem}\r\n.cf-status{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:99px}\r\n.cf-rows{font-size:.85rem}\r\n.cf-rows .row-line{display:flex;gap:.6rem;padding:.5rem 0;border-top:1px solid var(--line)}\r\n.cf-rows .row-line:first-child{border-top:0}\r\n.cf-rows .k{flex:0 0 42%;color:var(--bs-secondary-color)}\r\n.cf-rows .v{flex:1;font-weight:600}\r\n.cf-thread{margin-top:1rem}\r\n.cf-msg{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;background:var(--bs-body-bg)}\r\n.cf-msg .meta{font-size:.7rem;color:var(--bs-secondary-color);margin-bottom:.25rem}\r\n.cf-msg.admin{border-left-color:var(--teal)}\r\n.cf-msg.user{border-left-color:#94a3b8}\r\n[data-bs-theme=dark] .cf-legend{background:#0f2226}\r\n\r\n.cf-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}\r\n.cf-scale-opt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:.6rem .4rem;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.15s;background:var(--bs-body-bg)}\r\n.cf-scale-opt:hover{border-color:var(--teal);background:var(--fade)}\r\n.cf-scale-opt input{position:absolute;opacity:0;width:0;height:0}\r\n.cf-scale-num{font-weight:700;font-size:1rem;color:var(--teal)}\r\n.cf-scale-lbl{font-size:.68rem;line-height:1.2;color:var(--bs-secondary-color)}\r\n.cf-scale-opt:has(input:checked){border-color:var(--teal);background:var(--teal)}\r\n.cf-scale-opt:has(input:checked) .cf-scale-num,.cf-scale-opt:has(input:checked) .cf-scale-lbl{color:#fff}\r\n.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}\r\n.cf-note{font-size:.75rem;color:var(--bs-secondary-color);margin:.9rem 0 0}\r\n</style>\r\n\r\n<section class=\"py-4 py-lg-5\">\r\n    <div class=\"container-xl\">\r\n\r\n        @if ($cfForm)\r\n            <div class=\"cf-narrow mb-3\">\r\n                <a href=\"{{ $cfList }}\" class=\"text-teal small fw-semibold text-decoration-none\">&larr; Kembali ke senarai borang</a>\r\n            </div>\r\n        @endif\r\n\r\n        @if ($cfSubmission)\r\n            {{-- ---------- BORANG TELAH DIHANTAR ---------- --}}\r\n            <div class=\"card-soft p-4 cf-done mx-auto\">\r\n                <span class=\"cf-ico\">\r\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"width:32px;height:32px\" aria-hidden=\"true\">\r\n                        <path d=\"M20 6L9 17l-5-5\"/>\r\n                    </svg>\r\n                </span>\r\n\r\n                <h2>Terima kasih</h2>\r\n\r\n                <p>{{ $cfSubmission->form?->form_thanks ?: 'Borang anda telah diterima.' }}</p>\r\n\r\n                <div class=\"cf-ticket\">{{ $cfSubmission->submission_ticket_no }}</div>\r\n\r\n                <p class=\"mb-3\">\r\n                    Sila simpan <strong>No. Tiket</strong> di atas untuk menyemak status pada bila-bila masa.\r\n                    @if (filled($cfSubmission->submission_email))\r\n                        Salinan pengesahan telah dihantar ke <strong>{{ $cfSubmission->submission_email }}</strong>.\r\n                    @endif\r\n                </p>\r\n\r\n                <div class=\"d-flex flex-wrap gap-2 justify-content-center\">\r\n                    <a href=\"{{ $cfList }}?tiket=1\" class=\"btn btn-teal btn-sm\">Semak Status</a>\r\n                    <a href=\"{{ $cfList }}\" class=\"btn btn-outline-secondary btn-sm\">Kembali ke senarai borang</a>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif (! empty($cfQuery['tiket']))\r\n            {{-- ---------- SEMAK STATUS TIKET ---------- --}}\r\n            <div class=\"cf-track\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">Semak Status Aduan / Maklum Balas</h2>\r\n                    <p class=\"cf-desc\">Masukkan No. Tiket dan e-mel yang digunakan semasa menghantar.</p>\r\n\r\n                    <form method=\"POST\" class=\"cf-track-form\" action=\"{{ route('frontend-form.track.submit', ['site' => $cfSite]) }}\">\r\n                        @csrf\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-ticket\">No. Tiket</label>\r\n                            <input type=\"text\" id=\"cf-ticket\" name=\"ticket_no\" value=\"{{ old('ticket_no') }}\"\r\n                                class=\"form-control form-control-sm @error('ticket_no') is-invalid @enderror\"\r\n                                placeholder=\"cth AI/2026/0001\" required>\r\n                            @error('ticket_no')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <div class=\"cf-g\">\r\n                            <label for=\"cf-email\">E-mel</label>\r\n                            <input type=\"email\" id=\"cf-email\" name=\"email\" value=\"{{ old('email') }}\"\r\n                                class=\"form-control form-control-sm @error('email') is-invalid @enderror\" required>\r\n                            @error('email')<div class=\"cf-error\">{{ $message }}</div>@enderror\r\n                        </div>\r\n                        <button type=\"submit\" class=\"btn btn-teal btn-sm\">Semak</button>\r\n                    </form>\r\n\r\n                    @if (session('track_error'))\r\n                        <div class=\"alert alert-warning mt-3 mb-0 py-2 small\">{{ session('track_error') }}</div>\r\n                    @endif\r\n\r\n                    @if (! empty($cfTracked))\r\n                        <hr class=\"my-3\">\r\n                        <div class=\"d-flex flex-wrap justify-content-between align-items-center gap-2 mb-2\">\r\n                            <strong style=\"font-family:ui-monospace,monospace\">{{ $cfTracked->submission_ticket_no }}</strong>\r\n                            <span class=\"cf-status\" style=\"background:var(--fade);color:var(--teal)\">{{ $cfTracked->statusLabel() }}</span>\r\n                        </div>\r\n\r\n                        <div class=\"cf-rows\">\r\n                            <div class=\"row-line\"><span class=\"k\">Jenis</span><span class=\"v\">{{ $cfTracked->submission_type }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Subjek</span><span class=\"v\">{{ $cfTracked->submission_subject ?: '—' }}</span></div>\r\n                            <div class=\"row-line\"><span class=\"k\">Tarikh hantar</span><span class=\"v\">{{ $cfTracked->submission_submitted_at?->format('d/m/Y H:i') ?? '—' }}</span></div>\r\n                            @if ($cfTracked->submission_closed_at)\r\n                                <div class=\"row-line\"><span class=\"k\">Tarikh tutup</span><span class=\"v\">{{ $cfTracked->submission_closed_at->format('d/m/Y H:i') }}</span></div>\r\n                            @endif\r\n                        </div>\r\n\r\n                        @if ($cfTracked->messages->isNotEmpty())\r\n                            <div class=\"cf-thread\">\r\n                                <strong class=\"d-block mb-2\" style=\"font-size:.85rem\">Balasan</strong>\r\n                                @foreach ($cfTracked->messages as $cfMessage)\r\n                                    <div class=\"cf-msg {{ $cfMessage->isFromAdmin() ? 'admin' : 'user' }}\">\r\n                                        <div class=\"meta\">\r\n                                            {{ $cfMessage->isFromAdmin() ? 'NRES' : 'Pengadu' }} ·\r\n                                            {{ $cfMessage->created_at?->format('d/m/Y H:i') }}\r\n                                        </div>\r\n                                        <div style=\"font-size:.85rem\">{!! nl2br(e($cfMessage->message_body)) !!}</div>\r\n                                    </div>\r\n                                @endforeach\r\n                            </div>\r\n                        @else\r\n                            <p class=\"small text-body-secondary mb-0 mt-2\">Belum ada balasan daripada pihak NRES.</p>\r\n                        @endif\r\n                    @endif\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm && filled($cfForm->form_external_url))\r\n            {{-- ---------- BORANG DI SISTEM LUAR ---------- --}}\r\n            <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                    <div class=\"card-soft p-3 cf-card\">\r\n                        <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfForm->form_type)->value('descr') ?? $cfForm->form_type) }}</span>\r\n                        <h3>{{ $cfForm->title() }}</h3>\r\n                        <p>{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                        <a href=\"{{ $cfForm->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">Buka Sistem</a>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        @elseif ($cfForm)\r\n            {{-- ---------- BORANG ---------- --}}\r\n            <div class=\"cf-wrap\">\r\n                <div class=\"card-soft p-3 p-lg-4\">\r\n                    <h2 class=\"cf-title\">{{ $cfForm->title() }}</h2>\r\n\r\n                    @if (filled($cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc))\r\n                        <p class=\"cf-desc\">{{ $cfForm->translation()?->form_translation_desc ?? $cfForm->form_desc }}</p>\r\n                    @endif\r\n\r\n                    <form method=\"POST\" enctype=\"multipart/form-data\" class=\"cf-form\"\r\n                        action=\"{{ route('frontend-form.store', ['site' => $cfSite, 'formSlug' => $cfForm->form_slug]) }}\">\r\n                        @csrf\r\n\r\n                        {{-- Honeypot: manusia tidak nampak, bot akan isi --}}\r\n                        <div class=\"cf-hp\" aria-hidden=\"true\">\r\n                            <label for=\"cf-website\">Website</label>\r\n                            <input type=\"text\" id=\"cf-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\r\n                        </div>\r\n\r\n                        @foreach ($cfGroups as $cfGroup)\r\n                            <fieldset class=\"cf-section\">\r\n                                @if (filled($cfGroup['title']))\r\n                                    <legend class=\"cf-legend\">{{ $cfGroup['title'] }}</legend>\r\n                                @endif\r\n\r\n                                @if (filled($cfGroup['desc']))\r\n                                    <p class=\"cf-section-desc\">{{ $cfGroup['desc'] }}</p>\r\n                                @endif\r\n\r\n                                @foreach ($cfGroup['fields'] as $cfField)\r\n                                    @php\r\n                                        $cfCode       = $cfField->field_code;\r\n                                        $cfIsCheckbox = $cfField->field_type === 'CHECKBOX';\r\n                                        $cfName       = $cfIsCheckbox ? \"fields[{$cfCode}][]\" : \"fields[{$cfCode}]\";\r\n                                        $cfOld        = old(\"fields.{$cfCode}\");\r\n                                        $cfHasError   = $errors->has(\"fields.{$cfCode}\");\r\n                                        $cfInvalid    = $cfHasError ? 'is-invalid' : '';\r\n                                        $cfReq        = $cfField->field_required ? 'required' : '';\r\n                                    @endphp\r\n\r\n                                    <div class=\"cf-field {{ $cfHasError ? 'cf-field-error' : '' }}\" id=\"cf-{{ $cfCode }}\">\r\n                                        <label class=\"cf-label\" @if (! $cfIsCheckbox) for=\"cf-input-{{ $cfCode }}\" @endif>\r\n                                            {{ $cfField->field_label }}\r\n                                            @if ($cfField->field_required)\r\n                                                <span class=\"cf-req\" aria-hidden=\"true\">*</span>\r\n                                            @endif\r\n                                        </label>\r\n\r\n                                        @if (filled($cfField->field_help))\r\n                                            <div class=\"cf-help\">{{ $cfField->field_help }}</div>\r\n                                        @endif\r\n\r\n                                        @switch($cfField->field_type)\r\n\r\n                                            @case('TEXTAREA')\r\n                                                <textarea id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" rows=\"5\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>{{ $cfOld }}</textarea>\r\n                                                @break\r\n\r\n                                            @case('SELECT')\r\n                                                <select id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\"\r\n                                                    class=\"form-select cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                    <option value=\"\">— Sila pilih —</option>\r\n                                                    @foreach ($cfField->optionList() as $cfOpt)\r\n                                                        <option value=\"{{ $cfOpt['value'] }}\" @selected((string) $cfOld === (string) $cfOpt['value'])>\r\n                                                            {{ $cfOpt['label'] }}\r\n                                                        </option>\r\n                                                    @endforeach\r\n                                                </select>\r\n                                                @break\r\n\r\n                                            @case('RADIO')\r\n                                                <div class=\"cf-options\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked((string) $cfOld === (string) $cfOpt['value']) {{ $cfReq }}>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('CHECKBOX')\r\n                                                <div class=\"cf-options\" role=\"group\" aria-required=\"{{ $cfField->field_required ? 'true' : 'false' }}\">\r\n                                                    @foreach ($cfField->optionList() as $cfI => $cfOpt)\r\n                                                        <label class=\"cf-opt\" for=\"cf-input-{{ $cfCode }}-{{ $cfI }}\">\r\n                                                            <input type=\"checkbox\" id=\"cf-input-{{ $cfCode }}-{{ $cfI }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ $cfOpt['value'] }}\" @checked(is_array($cfOld) && in_array($cfOpt['value'], $cfOld, true))>\r\n                                                            <span>{{ $cfOpt['label'] }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('SCALE')\r\n                                                <div class=\"cf-scale\" role=\"radiogroup\" aria-label=\"{{ $cfField->field_label }}\">\r\n                                                    @foreach ($cfField->scaleRange() as $cfScale)\r\n                                                        <label class=\"cf-scale-opt\" for=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\">\r\n                                                            <input type=\"radio\" id=\"cf-input-{{ $cfCode }}-{{ (int) $cfScale }}\" name=\"{{ $cfName }}\"\r\n                                                                value=\"{{ (int) $cfScale }}\" @checked((string) $cfOld === (string) (int) $cfScale) {{ $cfReq }}>\r\n                                                            <span class=\"cf-scale-num\">{{ (int) $cfScale }}</span>\r\n                                                            <span class=\"cf-scale-lbl\">{{ $cfField->scaleLabel($cfScale) ?? 'Skala '.(int) $cfScale }}</span>\r\n                                                        </label>\r\n                                                    @endforeach\r\n                                                </div>\r\n                                                @break\r\n\r\n                                            @case('FILE')\r\n                                                <input type=\"file\" id=\"cf-input-{{ $cfCode }}\" name=\"files[{{ $cfCode }}]\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                <div class=\"cf-help mt-1\">Saiz maksimum 10 MB. Format: PDF, JPG, PNG, DOCX, XLSX.</div>\r\n                                                @break\r\n\r\n                                            @case('EMAIL')\r\n                                                <input type=\"email\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"email\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('PHONE')\r\n                                                <input type=\"tel\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" autocomplete=\"tel\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @case('DATE')\r\n                                                <input type=\"date\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                                @break\r\n\r\n                                            @default\r\n                                                <input type=\"text\" id=\"cf-input-{{ $cfCode }}\" name=\"{{ $cfName }}\" value=\"{{ $cfOld }}\"\r\n                                                    class=\"form-control cf-input {{ $cfInvalid }}\" {{ $cfReq }}>\r\n                                        @endswitch\r\n\r\n                                        @error(\"fields.{$cfCode}\")\r\n                                            <div class=\"cf-error\">{{ $message }}</div>\r\n                                        @enderror\r\n                                    </div>\r\n                                @endforeach\r\n                            </fieldset>\r\n                        @endforeach\r\n\r\n                        <div class=\"d-flex flex-wrap gap-2 mt-4\">\r\n                            <button type=\"submit\" class=\"btn btn-teal px-4\">Hantar</button>\r\n                            <button type=\"reset\" class=\"btn btn-outline-secondary\">Set Semula</button>\r\n                        </div>\r\n\r\n                        <p class=\"cf-note\">* Ruangan wajib diisi.</p>\r\n                    </form>\r\n                </div>\r\n            </div>\r\n\r\n\r\n\r\n\r\n        @else\r\n            {{-- ---------- SENARAI BORANG (fallback) ---------- --}}\r\n            <h1 class=\"h4 fw-bold mb-1\" style=\"color:var(--green)\">Aduan dan Maklum Balas</h1>\r\n            <p class=\"small text-body-secondary mb-4\">\r\n                Sila pilih borang di bawah. Untuk aduan awam, gunakan sistem SISPAA.\r\n            </p>\r\n\r\n            @php\r\n                $cfOpenForms = $cfSvc->openForms();\r\n            @endphp\r\n\r\n            @if ($cfOpenForms->isEmpty())\r\n                <div class=\"card-soft p-4 text-center\">\r\n                    <p class=\"mb-0 text-body-secondary\">Tiada borang dibuka pada masa ini.</p>\r\n                </div>\r\n            @else\r\n                <div class=\"row g-3\">\r\n                    @foreach ($cfOpenForms as $cfItem)\r\n                        <div class=\"col-md-6\">\r\n                            <div class=\"card-soft p-3 cf-card\">\r\n                                <span class=\"cf-badge\">{{ strtoupper(\\Illuminate\\Support\\Facades\\DB::table('ref')->where('cat', 'FORM_TYPE')->where('code', $cfItem->form_type)->value('descr') ?? $cfItem->form_type) }}</span>\r\n                                <h3>{{ $cfItem->title() }}</h3>\r\n                                <p>{{ $cfItem->translation()?->form_translation_desc ?? $cfItem->form_desc }}</p>\r\n\r\n                                @if (filled($cfItem->form_external_url))\r\n                                    <a href=\"{{ $cfItem->form_external_url }}\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Buka Sistem\r\n                                    </a>\r\n                                @else\r\n                                    <a href=\"{{ url($cfSite.'/'.$cfItem->form_slug) }}\" class=\"btn btn-teal btn-sm align-self-start\">\r\n                                        Isi Borang\r\n                                    </a>\r\n                                @endif\r\n                            </div>\r\n                        </div>\r\n                    @endforeach\r\n                </div>\r\n            @endif\r\n        @endif\r\n\r\n    </div>\r\n</section>\r\n\r\n\r\n"
        }
    ],
    "pivot": []
}