{{-- ============================================================================ PAGE CONTENT — Soalan Lazim (FAQ) Site : nres · Page slug: faq · Page ID: auto (dicipta oleh apply-faq.php) URL : /nres/faq Sumber data: `content_article` (article_subcategory = FAQ, status ACTIVE) + `content_article_translation` (BM/EN) Setiap artikel = 1 pasangan Soalan (tajuk) + Jawapan (kandungan HTML). Ciri: senarai akordion (
), carian segera (JS), CTA hubungi, BM/EN ikut sesi, dark mode + responsif. Nota: SEMUA logik + markup + CSS ada dalam fail ini (tiada komponen/partial). ============================================================================ --}} @php $faqLang = ($lang ?? session('locale', 'ms')) === 'en' ? 'en' : 'ms'; $faqIsEn = $faqLang === 'en'; $faqRows = DB::table('content_article as a') ->join('content_article_translation as t', 't.article_translation_parent_id', '=', 'a.article_id') ->where(function ($q) { $q->where('a.article_subcategory', 'FAQ')->orWhere('a.article_category', 'FAQ'); }) ->where('a.article_status', 'ACTIVE') ->where('t.article_translation_language', $faqLang) ->orderBy('a.article_sorting') ->orderBy('a.article_id') ->select('a.article_id', 'a.article_code', 't.article_translation_title as title', 't.article_translation_content as body') ->get(); $faqItems = []; foreach ($faqRows as $faqRow) { $faqTitle = trim((string) $faqRow->title); $faqBody = (string) $faqRow->body; if ($faqTitle === '') { continue; } $faqItems[] = [ 'id' => (int) $faqRow->article_id, 'code' => (string) $faqRow->article_code, 'title' => $faqTitle, 'body' => $faqBody, // teks rata untuk carian klien 'search' => mb_strtolower($faqTitle.' '.trim(preg_replace('/\s+/', ' ', strip_tags($faqBody)))), ]; } $faqTotal = count($faqItems); $faqLinks = [ [ 'title' => t('Complaints & Feedback'), 'desc' => t('faq.complaint_desc'), 'url' => url(trim(((string) ($siteSlug ?? '')).'/complaints-feedback', '/')), 'icon' => '', ], [ 'title' => t('Location'), 'desc' => t('faq.address_desc'), 'url' => url(trim(((string) ($siteSlug ?? '')).'/location', '/')), 'icon' => '', ], [ 'title' => t('Officer Directory'), 'desc' => t('faq.officer_hint'), 'url' => url(trim(((string) ($siteSlug ?? '')).'/officer-directory', '/')), 'icon' => '', ], ]; @endphp
{{-- ============================ BREADCRUMB ============================ --}} {{-- ============================== TAJUK ============================== --}}

{{ t('faq.frequently_asked_questions') }}

{{ t('faq.intro') }}

{{-- ============================= CARIAN ============================= --}}

{{ $faqTotal }} {{ t('faq.questions') }}

{{-- ============================= SENARAI ============================= --}} @if ($faqTotal > 0)
@foreach ($faqItems as $faqIndex => $faqItem)
{{ $faqIndex + 1 }} {{ $faqItem['title'] }}
{!! $faqItem['body'] !!}
@endforeach
@else

{{ t('faq.empty') }}

@endif {{-- ========================== MASIH ADA SOALAN ========================== --}} {{-- =============================== NOTA =============================== --}}

{{ t('faq.note_phone') }}