{
    "id": 35,
    "slug": "electronic-archive",
    "name": "Electronic Archive",
    "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Arkib Elektronik\r\n     Site  : nres  ·  Page slug: electronic-archive  ·  Page ID: 35\r\n     Konsep: https:\/\/www.nres.gov.my\/ms-my\/Pages\/default.aspx  → MEDIA → Arkib Elektronik\r\n             (portal: tab tahun 2025…2021 + Lain-lain; setiap item = tajuk + dokumen)\r\n\r\n     Sumber data (3 skema berbeza → dinormalkan kepada satu bentuk baris):\r\n       · content_media + content_media_translations   → Kenyataan Media \/ Siaran Media \/ Keratan Akhbar\r\n       · content_speeches                             → Teks Ucapan (terjemahan self-referencing:\r\n                                                         baris induk speech_main='1', anak ikut speech_parent_id)\r\n       · content_article + content_article_translation → Berita\r\n                                                         (article_category 'SEKTOR'\r\n                                                          dikecualikan: teks sektor)\r\n\r\n     Parameter URL:\r\n       jenis   berita | ucapan | kenyataan | keratan   (kosong = halaman hab)\r\n       tahun   tahun dokumen (cth 2026) atau 'lain'    (rekod tanpa tarikh)\r\n       q       carian tajuk (pilihan)\r\n\r\n     Nota:\r\n     · SEMUA logik + markup + CSS ada dalam fail ini — tiada komponen, tiada partial.\r\n     · Tiada paparan butiran: tajuk & butang Dokumen terus buka\/muat turun fail (macam portal).\r\n     · Warna guna CSS variable tema (--teal\/--green\/--fade\/--line\/--ink) → sokong dark mode.\r\n     · Jadual content_clippings (tinggalan) TIDAK digunakan — Keratan Akhbar = content_media.\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    \/* --------------------------------------------------------------------\r\n     | 1. Parameter & konteks\r\n     -------------------------------------------------------------------- *\/\r\n    $arkBase  = url()->current();\r\n    $arkQuery = request()->query();\r\n    $arkLang  = ($lang ?? session('locale', 'ms')) === 'en' ? 'en' : 'ms';\r\n\r\n    $arkJenisDefs = [\r\n        'berita' => [\r\n            'ms' => 'Berita', 'en' => 'News',\r\n            'descr_ms' => 'Arkib berita dan pengumuman kementerian.',\r\n            'descr_en' => 'Archive of ministry news and announcements.',\r\n        ],\r\n        'ucapan' => [\r\n            'ms' => 'Teks Ucapan', 'en' => 'Speeches',\r\n            'descr_ms' => 'Arkib teks ucapan, perasmian dan majlis.',\r\n            'descr_en' => 'Archive of speeches, openings and official events.',\r\n        ],\r\n        'kenyataan' => [\r\n            'ms' => 'Kenyataan Media', 'en' => 'Media Statements',\r\n            'descr_ms' => 'Arkib kenyataan media dan siaran media rasmi.',\r\n            'descr_en' => 'Archive of official media statements and media releases.',\r\n        ],\r\n        'keratan' => [\r\n            'ms' => 'Keratan Akhbar', 'en' => 'Newspaper Clippings',\r\n            'descr_ms' => 'Arkib keratan akhbar daripada media massa.',\r\n            'descr_en' => 'Archive of newspaper clippings from the mass media.',\r\n        ],\r\n    ];\r\n\r\n    $arkJenisKeys = array_keys($arkJenisDefs);\r\n\r\n    $arkJenis = (string) ($arkQuery['jenis'] ?? '');\r\n    $arkJenis = in_array($arkJenis, $arkJenisKeys, true) ? $arkJenis : '';\r\n\r\n    $arkTahun = (string) ($arkQuery['tahun'] ?? '');\r\n    $arkTahun = ($arkTahun === 'lain' || preg_match('\/^\\d{4}$\/', $arkTahun)) ? $arkTahun : '';\r\n\r\n    $arkCari = trim((string) ($arkQuery['q'] ?? ''));\r\n    $arkCari = mb_substr($arkCari, 0, 60);\r\n\r\n    $arkJenisLabel = fn (string $key) => $arkJenisDefs[$key][$arkLang] ?? $arkJenisDefs[$key]['ms'];\r\n\r\n    \/\/ Pembina URL (kekalkan param lain; set nilai '' untuk buang)\r\n    $arkUrl = function (array $params = []) use ($arkBase, $arkJenis, $arkTahun, $arkCari) {\r\n        $current = ['jenis' => $arkJenis, 'tahun' => $arkTahun, 'q' => $arkCari];\r\n        $query = array_filter(array_merge($current, $params), fn ($v) => $v !== null && $v !== '');\r\n\r\n        return $query ? $arkBase.'?'.http_build_query($query) : $arkBase;\r\n    };\r\n\r\n    \/\/ Fail pada disk 'public' → URL awam (sama seperti halaman lain)\r\n    $arkFile = function ($path) {\r\n        $path = trim((string) $path);\r\n\r\n        if ($path === '') {\r\n            return '';\r\n        }\r\n\r\n        if (str_starts_with($path, 'http:\/\/') || str_starts_with($path, 'https:\/\/')) {\r\n            return $path;\r\n        }\r\n\r\n        if (str_starts_with($path, 'dynaweb4\/')) {\r\n            return asset($path);\r\n        }\r\n\r\n        return asset('storage\/'.ltrim($path, '\/'));\r\n    };\r\n\r\n    $arkDate = function ($value) use ($arkLang) {\r\n        if (blank($value)) {\r\n            return '';\r\n        }\r\n\r\n        try {\r\n            return \\Carbon\\Carbon::parse($value)->format('d\/m\/Y');\r\n        } catch (\\Throwable $e) {\r\n            return (string) $value;\r\n        }\r\n    };\r\n\r\n    $arkMonths = $arkLang === 'en'\r\n        ? [1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\r\n        : [1 => 'Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember'];\r\n\r\n    $arkDateLong = function ($value) use ($arkMonths) {\r\n        if (blank($value)) {\r\n            return '';\r\n        }\r\n\r\n        try {\r\n            $date = \\Carbon\\Carbon::parse($value);\r\n\r\n            return $date->day.' '.$arkMonths[(int) $date->month].' '.$date->year;\r\n        } catch (\\Throwable $e) {\r\n            return (string) $value;\r\n        }\r\n    };\r\n\r\n    $arkToday = now()->toDateString();\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 2. Adapter — 3 skema → satu bentuk baris seragam\r\n     |    ['jenis','date','title','summary','file','img','url','source','badge']\r\n     -------------------------------------------------------------------- *\/\r\n    $arkItems = [];\r\n\r\n    \/\/ Label sumber (ref MEDIA_SOURCE) — kod pendek untuk jadual, nama penuh dalam title\r\n    $arkSourceLabel = [];\r\n\r\n    foreach (DB::table('ref')->where('cat', 'MEDIA_SOURCE')->get() as $arkRef) {\r\n        $arkSourceLabel[(string) $arkRef->code] = $arkLang === 'en'\r\n            ? ((string) ($arkRef->descr_en ?: $arkRef->descr))\r\n            : ((string) $arkRef->descr ?: $arkRef->descr_en);\r\n    }\r\n\r\n    $arkSourceShort = function ($code) use ($arkSourceLabel) {\r\n        $label = $arkSourceLabel[(string) $code] ?? (string) $code;\r\n\r\n        return mb_strlen($label) > 24 ? str_replace('_', ' ', (string) $code) : $label;\r\n    };\r\n\r\n    $arkMediaTypeLabel = [];\r\n\r\n    foreach (DB::table('ref')->where('cat', 'MEDIA_TYPE')->get() as $arkRef) {\r\n        $arkMediaTypeLabel[(string) $arkRef->code] = $arkLang === 'en'\r\n            ? ((string) ($arkRef->descr_en ?: $arkRef->descr))\r\n            : ((string) $arkRef->descr ?: $arkRef->descr_en);\r\n    }\r\n\r\n    \/* --- 2b. content_speeches → Teks Ucapan ---\r\n       Corak: baris induk (speech_parent_id NULL) + baris terjemahan (anak) yang\r\n       boleh ada tajuk & fail sendiri. Status guna SPEECH_STATUS = PUBLISHED. *\/\r\n    $arkSpeechLabel = [];\r\n\r\n    foreach (DB::table('ref')->where('cat', 'SPEECH_CATEGORY')->get() as $arkRef) {\r\n        $arkSpeechLabel[(string) $arkRef->code] = $arkLang === 'en'\r\n            ? ((string) ($arkRef->descr_en ?: $arkRef->descr))\r\n            : ((string) $arkRef->descr ?: $arkRef->descr_en);\r\n    }\r\n\r\n    $arkSpeechRows = DB::table('content_speeches')\r\n        ->whereIn('speech_status', ['PUBLISHED', 'ACTIVE'])\r\n        ->where(function ($q) use ($arkToday) {\r\n            $q->whereNull('speech_start_date')->orWhere('speech_start_date', '')->orWhere('speech_start_date', '<=', $arkToday);\r\n        })\r\n        ->where(function ($q) use ($arkToday) {\r\n            $q->whereNull('speech_end_date')->orWhere('speech_end_date', '')->orWhere('speech_end_date', '>=', $arkToday);\r\n        })\r\n        ->orderByDesc('speech_date')\r\n        ->orderByDesc('speech_id')\r\n        ->get();\r\n\r\n    $arkSpeechParents  = $arkSpeechRows->filter(fn ($r) => blank($r->speech_parent_id))->values();\r\n    $arkSpeechChildren = $arkSpeechRows->filter(fn ($r) => filled($r->speech_parent_id))->groupBy('speech_parent_id');\r\n\r\n    foreach ($arkSpeechParents as $arkSpeech) {\r\n        $arkKids  = $arkSpeechChildren[$arkSpeech->speech_id] ?? collect();\r\n        $arkTrRow = $arkKids->firstWhere('speech_language', $arkLang);\r\n\r\n        if (! $arkTrRow || blank($arkTrRow->speech_title)) {\r\n            $arkTrRow = $arkSpeech;\r\n        }\r\n\r\n        $arkItems[] = [\r\n            'jenis'   => 'ucapan',\r\n            'date'    => (string) ($arkSpeech->speech_date ?? ''),\r\n            'title'   => (string) ($arkTrRow->speech_title ?? ''),\r\n            'summary' => '',\r\n            'file'    => $arkFile($arkTrRow->speech_file ?: $arkSpeech->speech_file),\r\n            'img'     => $arkFile($arkSpeech->speech_img),\r\n            'url'     => '',\r\n            'source'  => (string) ($arkSpeech->speech_speaker ?: $arkSpeech->speech_event),\r\n            'badge'   => (string) ($arkSpeechLabel[(string) $arkSpeech->speech_category] ?? ''),\r\n        ];\r\n    }\r\n\r\n    \/* --- 2c. content_article + content_article_translation → Berita --- *\/\r\n    $arkArticleRows = DB::table('content_article')\r\n        ->whereIn('article_status', ['ACTIVE', 'PUBLISHED'])\r\n        ->where('article_category', '!=', 'SEKTOR')\r\n\r\n        ->where(function ($q) use ($arkToday) {\r\n            $q->whereNull('article_start_date')->orWhere('article_start_date', '')->orWhere('article_start_date', '<=', $arkToday);\r\n        })\r\n        ->where(function ($q) use ($arkToday) {\r\n            $q->whereNull('article_end_date')->orWhere('article_end_date', '')->orWhere('article_end_date', '>=', $arkToday);\r\n        })\r\n        ->orderByDesc('article_date')\r\n        ->orderByDesc('article_id')\r\n        ->get();\r\n\r\n    $arkArticleIds = $arkArticleRows->pluck('article_id')->all();\r\n\r\n    $arkArticleTr = $arkArticleIds\r\n        ? DB::table('content_article_translation')\r\n            ->whereIn('article_translation_parent_id', $arkArticleIds)\r\n            ->get()\r\n            ->groupBy('article_translation_parent_id')\r\n        : collect();\r\n\r\n    foreach ($arkArticleRows as $arkRow) {\r\n        $arkTrRows = $arkArticleTr[$arkRow->article_id] ?? collect();\r\n        $arkTrRow  = $arkTrRows->firstWhere('article_translation_language', $arkLang)\r\n            ?? $arkTrRows->firstWhere('article_translation_main', 1)\r\n            ?? $arkTrRows->first();\r\n\r\n        $arkItems[] = [\r\n            'jenis'   => 'berita',\r\n            'date'    => (string) ($arkRow->article_date ?? ''),\r\n            'title'   => (string) ($arkTrRow->article_translation_title ?? ''),\r\n            'summary' => (string) ($arkTrRow->article_translation_content ?? ''),\r\n            'file'    => '',\r\n            'img'     => $arkFile($arkRow->article_image),\r\n            'url'     => (string) ($arkRow->article_url ?? ''),\r\n            'source'  => (string) ($arkRow->article_subcategory ?: $arkRow->article_category),\r\n            'badge'   => '',\r\n        ];\r\n    }\r\n\r\n    \/* --- 2a. content_media → Kenyataan Media \/ Keratan Akhbar --- *\/\r\n    $arkMediaBuckets = [\r\n        'kenyataan' => ['KENYATAAN_MEDIA', 'SIARAN_MEDIA'],\r\n        'keratan'   => ['KERATAN_AKHBAR'],\r\n    ];\r\n\r\n    $arkMediaRows = DB::table('content_media')\r\n        ->where('media_status', 'PUBLISHED')\r\n        ->whereIn('media_type', ['KENYATAAN_MEDIA', 'SIARAN_MEDIA', 'KERATAN_AKHBAR'])\r\n        ->orderByDesc('media_date')\r\n        ->orderByDesc('media_id')\r\n        ->get();\r\n\r\n    $arkMediaIds = $arkMediaRows->pluck('media_id')->all();\r\n\r\n    $arkMediaTr = $arkMediaIds\r\n        ? DB::table('content_media_translations')\r\n            ->whereIn('media_translation_parent_id', $arkMediaIds)\r\n            ->get()\r\n            ->groupBy('media_translation_parent_id')\r\n        : collect();\r\n\r\n    foreach ($arkMediaRows as $arkRow) {\r\n        $arkBucket = null;\r\n\r\n        foreach ($arkMediaBuckets as $arkKey => $arkTypes) {\r\n            if (in_array((string) $arkRow->media_type, $arkTypes, true)) {\r\n                $arkBucket = $arkKey;\r\n                break;\r\n            }\r\n        }\r\n\r\n        if ($arkBucket === null) {\r\n            continue;\r\n        }\r\n\r\n        $arkTrRows = $arkMediaTr[$arkRow->media_id] ?? collect();\r\n        $arkTrRow  = $arkTrRows->firstWhere('media_translation_language', $arkLang)\r\n            ?? $arkTrRows->firstWhere('media_translation_main', 1)\r\n            ?? $arkTrRows->first();\r\n\r\n        $arkItems[] = [\r\n            'jenis'   => $arkBucket,\r\n            'date'    => (string) ($arkRow->media_date ?? ''),\r\n            'title'   => (string) ($arkTrRow->media_translation_title ?? ''),\r\n            'summary' => (string) ($arkTrRow->media_translation_summary ?? ''),\r\n            'file'    => $arkFile($arkRow->media_file),\r\n            'img'     => $arkFile($arkRow->media_img),\r\n            'url'     => (string) ($arkRow->media_url ?? ''),\r\n            'source'  => $arkRow->media_source ? $arkSourceShort($arkRow->media_source) : '',\r\n            'badge'   => (string) ($arkMediaTypeLabel[(string) $arkRow->media_type] ?? ''),\r\n        ];\r\n    }\r\n    \/* --------------------------------------------------------------------\r\n     | 3. Kiraan, tab tahun, penapis & data hab\r\n     -------------------------------------------------------------------- *\/\r\n    $arkCounts = [];\r\n\r\n    foreach ($arkJenisKeys as $arkKey) {\r\n        $arkCounts[$arkKey] = count(array_filter($arkItems, fn ($i) => $i['jenis'] === $arkKey));\r\n    }\r\n\r\n    $arkTotal = count($arkItems);\r\n\r\n    \/\/ Item bagi jenis yang dipilih sahaja (tab tahun & jadual ikut jenis)\r\n    $arkJenisItems = $arkJenis === ''\r\n        ? []\r\n        : array_values(array_filter($arkItems, fn ($i) => $i['jenis'] === $arkJenis));\r\n\r\n    $arkYears   = [];\r\n    $arkUndated = 0;\r\n\r\n    foreach ($arkJenisItems as $arkItem) {\r\n        $arkYear = $arkItem['date'] !== '' ? substr($arkItem['date'], 0, 4) : '';\r\n\r\n        if (preg_match('\/^\\d{4}$\/', $arkYear)) {\r\n            $arkYears[$arkYear] = ($arkYears[$arkYear] ?? 0) + 1;\r\n        } else {\r\n            $arkUndated++;\r\n        }\r\n    }\r\n\r\n    krsort($arkYears);\r\n\r\n    \/\/ Buang nilai penapis yang tidak sah\r\n    if ($arkTahun !== '' && $arkTahun !== 'lain' && ! isset($arkYears[$arkTahun])) {\r\n        $arkTahun = '';\r\n    }\r\n\r\n    if ($arkTahun === 'lain' && $arkUndated === 0) {\r\n        $arkTahun = '';\r\n    }\r\n\r\n    $arkRows = array_values(array_filter($arkJenisItems, function ($arkItem) use ($arkTahun) {\r\n        if ($arkTahun === '') {\r\n            return true;\r\n        }\r\n\r\n        $arkYear = $arkItem['date'] !== '' ? substr($arkItem['date'], 0, 4) : '';\r\n        $arkIsYear = (bool) preg_match('\/^\\d{4}$\/', $arkYear);\r\n\r\n        if ($arkTahun === 'lain') {\r\n            return ! $arkIsYear;\r\n        }\r\n\r\n        return $arkYear === $arkTahun;\r\n    }));\r\n\r\n    if ($arkCari !== '') {\r\n        $arkRows = array_values(array_filter($arkRows, fn ($i) => mb_stripos($i['title'], $arkCari) !== false));\r\n    }\r\n\r\n    $arkIsFiltered = $arkTahun !== '' || $arkCari !== '';\r\n\r\n    \/\/ Label kolum kedua-terakhir ikut jenis\r\n    $arkColMeta = [\r\n        'berita'    => ['ms' => 'Kategori', 'en' => 'Category'],\r\n        'ucapan'    => ['ms' => 'Penyampai', 'en' => 'Speaker'],\r\n        'kenyataan' => ['ms' => 'Sumber', 'en' => 'Source'],\r\n        'keratan'   => ['ms' => 'Akhbar', 'en' => 'Newspaper'],\r\n    ];\r\n\r\n    $arkColLabel = $arkJenis !== ''\r\n        ? ($arkColMeta[$arkJenis][$arkLang] ?? 'Sumber')\r\n        : ($arkLang === 'en' ? 'Source' : 'Sumber');\r\n\r\n    \/\/ Hab: ringkasan setiap jenis (jumlah + julat tahun)\r\n    $arkHub = [];\r\n\r\n    foreach ($arkJenisKeys as $arkKey) {\r\n        $arkKeyItems = array_values(array_filter($arkItems, fn ($i) => $i['jenis'] === $arkKey));\r\n        $arkKeyYears = [];\r\n\r\n        foreach ($arkKeyItems as $arkItem) {\r\n            $arkYear = $arkItem['date'] !== '' ? substr($arkItem['date'], 0, 4) : '';\r\n\r\n            if (preg_match('\/^\\d{4}$\/', $arkYear)) {\r\n                $arkKeyYears[$arkYear] = true;\r\n            }\r\n        }\r\n\r\n        $arkKeyYears = array_keys($arkKeyYears);\r\n        rsort($arkKeyYears);\r\n\r\n        $arkHub[$arkKey] = [\r\n            'count'  => count($arkKeyItems),\r\n            'years'  => $arkKeyYears,\r\n            'latest' => (string) ($arkKeyItems[0]['date'] ?? ''),\r\n        ];\r\n    }\r\n\r\n    \/\/ Jumlah item tanpa tarikh (untuk chip \"Lain-lain\")\r\n    $arkJenisLabelText = $arkJenis !== '' ? $arkJenisLabel($arkJenis) : '';\r\n@endphp\r\n\r\n<style>\r\n\/* ==========================================================================\r\n   ARKIB ELEKTRONIK — gaya skop .ark (warna ikut tema, sokong dark mode)\r\n   ========================================================================== *\/\r\n.ark{padding:34px 0 64px;color:var(--ink);font-family:\"Inter\",\"Segoe UI\",system-ui,-apple-system,Roboto,Arial,sans-serif}\r\n.ark *,.ark *::before,.ark *::after{box-sizing:border-box}\r\n.ark__container{width:min(100% - 32px,1120px);margin:0 auto}\r\n\r\n\/* --- breadcrumb & tajuk -------------------------------------------------- *\/\r\n.ark__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;color:var(--bs-secondary-color);font-size:.85rem}\r\n.ark__breadcrumb a{color:var(--teal);font-weight:600;text-decoration:none}\r\n.ark__breadcrumb a:hover{text-decoration:underline}\r\n.ark__header{margin-bottom:20px}\r\n.ark__eyebrow{display:inline-block;margin-bottom:8px;padding:4px 12px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}\r\n.ark__header h1{margin:0 0 8px;color:var(--green);font-size:clamp(1.45rem,3vw,2.05rem);font-weight:800;line-height:1.2}\r\n.ark__header p{margin:0;max-width:76ch;color:var(--bs-secondary-color);font-size:.95rem;line-height:1.65}\r\n\r\n\/* --- tab jenis ----------------------------------------------------------- *\/\r\n.ark__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding-bottom:14px;border-bottom:2px solid var(--line)}\r\n.ark__tab{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--bs-body-bg);color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;transition:.18s}\r\n.ark__tab:hover{border-color:var(--teal);color:var(--teal)}\r\n.ark__tab.is-active{border-color:var(--teal);background:var(--teal);color:#fff}\r\n.ark__tab-count{padding:1px 8px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.68rem;font-weight:800}\r\n.ark__tab.is-active .ark__tab-count{background:rgba(255,255,255,.25);color:#fff}\r\n\r\n\/* --- penapis & carian ---------------------------------------------------- *\/\r\n.ark__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0 0 16px}\r\n.ark__filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px}\r\n.ark__filter-label{color:var(--bs-secondary-color);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}\r\n.ark__chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--bs-body-bg);color:var(--ink);font-size:.75rem;font-weight:600;text-decoration:none;transition:.15s}\r\n.ark__chip:hover{border-color:var(--teal);color:var(--teal)}\r\n.ark__chip.is-active{border-color:var(--teal);background:var(--teal);color:#fff}\r\n.ark__search{display:flex;align-items:center;gap:8px;margin-left:auto}\r\n.ark__search input{min-width:210px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bs-body-bg);color:var(--ink);font-size:.8rem;font-family:inherit}\r\n.ark__search input:focus{outline:0;border-color:var(--teal)}\r\n.ark__search button{padding:7px 14px;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit}\r\n.ark__search button:hover{background:var(--green);border-color:var(--green)}\r\n.ark__summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;color:var(--bs-secondary-color);font-size:.84rem}\r\n.ark__summary strong{color:var(--ink)}\r\n.ark__pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.73rem;font-weight:700}\r\n\r\n\/* --- hab (4 kad jenis) --------------------------------------------------- *\/\r\n.ark__hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}\r\n.ark__card{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--bs-body-bg);text-decoration:none;color:inherit;transition:.18s}\r\n.ark__card:hover{border-color:var(--teal);box-shadow:0 8px 22px rgba(0,0,0,.07);transform:translateY(-2px)}\r\n.ark__card-count{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 11px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.72rem;font-weight:800}\r\n.ark__card h2{margin:0;color:var(--green);font-size:1.05rem;font-weight:800}\r\n.ark__card p{margin:0;color:var(--bs-secondary-color);font-size:.85rem;line-height:1.6}\r\n.ark__card-years{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}\r\n.ark__card-year{padding:2px 9px;border:1px solid var(--line);border-radius:999px;color:var(--bs-secondary-color);font-size:.7rem;font-weight:700}\r\n.ark__card-link{color:var(--teal);font-size:.8rem;font-weight:800}\r\n\r\n\/* --- jadual arkib -------------------------------------------------------- *\/\r\n.ark__table-card{border:1px solid var(--line);border-radius:16px;background:var(--bs-body-bg);overflow:hidden}\r\n.ark__table{width:100%;border-collapse:collapse;font-size:.88rem}\r\n.ark__table thead th{padding:12px 14px;border-bottom:2px solid var(--line);background:var(--fade);color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}\r\n.ark__table tbody td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top}\r\n.ark__table tbody tr:last-child td{border-bottom:0}\r\n.ark__table tbody tr:hover{background:color-mix(in srgb,var(--fade) 45%,transparent)}\r\n.ark__table tbody td:last-child{min-width:134px}\r\n.ark__no{width:44px;color:var(--bs-secondary-color);font-variant-numeric:tabular-nums;font-weight:700}\r\n.ark__date{width:118px;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}\r\n.ark__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.45}\r\n.ark__title a{color:var(--ink);text-decoration:none}\r\n.ark__title a:hover{color:var(--teal);text-decoration:underline}\r\n.ark__meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}\r\n.ark__badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;border:1px solid transparent;background:var(--fade);color:var(--teal);font-size:.7rem;font-weight:700;white-space:nowrap}\r\n.ark__source{color:var(--ink);font-size:.82rem;font-weight:600}\r\n.ark__acts{display:flex;flex-wrap:wrap;gap:6px;white-space:nowrap}\r\n.ark__btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--teal);border-radius:999px;background:var(--teal);color:#fff;font-size:.76rem;font-weight:700;text-decoration:none;transition:.18s}\r\n.ark__btn:hover{background:var(--green);border-color:var(--green);color:#fff}\r\n.ark__none{color:var(--bs-secondary-color)}\r\n\r\n\/* --- kosong & nota ------------------------------------------------------- *\/\r\n.ark__empty{padding:52px 24px;border:1px dashed var(--line);border-radius:16px;color:var(--bs-secondary-color);text-align:center}\r\n.ark__empty strong{display:block;margin-bottom:6px;color:var(--ink);font-size:1rem}\r\n.ark__empty a{color:var(--teal);font-weight:700;text-decoration:none}\r\n.ark__empty a:hover{text-decoration:underline}\r\n.ark__note{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;background:color-mix(in srgb,var(--fade) 45%,transparent);color:var(--bs-secondary-color);font-size:.82rem;line-height:1.7}\r\n.ark__note strong{color:var(--ink)}\r\n\r\n\/* --- responsif ----------------------------------------------------------- *\/\r\n@media (max-width:860px){\r\n  .ark__hide-sm{display:none}\r\n  .ark__search{margin-left:0;width:100%}\r\n  .ark__search input{flex:1;min-width:0}\r\n}\r\n@media (max-width:680px){\r\n  .ark__table thead{display:none}\r\n  .ark__table,.ark__table tbody,.ark__table tr,.ark__table td{display:block;width:100%}\r\n  .ark__table tbody tr{margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:14px}\r\n  .ark__table tbody td{padding:0 0 10px;border-bottom:0;min-width:0}\r\n  .ark__table tbody td:last-child{padding-bottom:0;min-width:0}\r\n  .ark__no{display:none}\r\n  .ark__date{width:auto;font-size:.78rem}\r\n  .ark__hub{grid-template-columns:1fr}\r\n}\r\n<\/style>\r\n\r\n<section class=\"ark\">\r\n    <div class=\"ark__container\">\r\n\r\n        {{-- ============================ BREADCRUMB ============================ --}}\r\n        <nav class=\"ark__breadcrumb\" aria-label=\"breadcrumb\">\r\n            <a href=\"{{ url('\/') }}\">{{ $arkLang === 'en' ? 'Home' : 'Utama' }}<\/a>\r\n            <span>\/<\/span>\r\n\r\n            @if ($arkJenis !== '')\r\n                <a href=\"{{ $arkUrl(['jenis' => '', 'tahun' => '', 'q' => '']) }}\">\r\n                    {{ $arkLang === 'en' ? 'Electronic Archive' : 'Arkib Elektronik' }}\r\n                <\/a>\r\n                <span>\/<\/span>\r\n                <span>{{ $arkJenisLabelText }}<\/span>\r\n            @else\r\n                <span>{{ $arkLang === 'en' ? 'Electronic Archive' : 'Arkib Elektronik' }}<\/span>\r\n            @endif\r\n        <\/nav>\r\n\r\n        {{-- ============================== TAJUK ============================== --}}\r\n        <header class=\"ark__header\">\r\n            <span class=\"ark__eyebrow\">Media<\/span>\r\n            <h1>\r\n                {{ $arkJenis !== ''\r\n                    ? $arkJenisLabelText\r\n                    : ($arkLang === 'en' ? 'Electronic Archive' : 'Arkib Elektronik') }}\r\n            <\/h1>\r\n            <p>\r\n                @if ($arkJenis !== '')\r\n                    {{ $arkJenisDefs[$arkJenis][$arkLang === 'en' ? 'descr_en' : 'descr_ms'] }}\r\n                @elseif ($arkLang === 'en')\r\n                    Archive of ministry documents and publications — news, speeches, media statements and\r\n                    newspaper clippings — organised by year.\r\n                @else\r\n                    Koleksi arkib dokumen dan penerbitan kementerian — berita, teks ucapan, kenyataan media dan\r\n                    keratan akhbar — disusun mengikut tahun.\r\n                @endif\r\n            <\/p>\r\n        <\/header>\r\n\r\n        {{-- ============================ TAB JENIS ============================ --}}\r\n        <nav class=\"ark__tabs\" aria-label=\"{{ $arkLang === 'en' ? 'Archive type' : 'Jenis arkib' }}\">\r\n            <a class=\"ark__tab {{ $arkJenis === '' ? 'is-active' : '' }}\"\r\n               href=\"{{ $arkUrl(['jenis' => '', 'tahun' => '', 'q' => '']) }}\">\r\n                {{ $arkLang === 'en' ? 'Overview' : 'Ringkasan' }}\r\n                <span class=\"ark__tab-count\">{{ $arkTotal }}<\/span>\r\n            <\/a>\r\n\r\n            @foreach ($arkJenisKeys as $arkKey)\r\n                <a class=\"ark__tab {{ $arkJenis === $arkKey ? 'is-active' : '' }}\"\r\n                   href=\"{{ $arkUrl(['jenis' => $arkKey, 'tahun' => '', 'q' => '']) }}\">\r\n                    {{ $arkJenisLabel($arkKey) }}\r\n                    <span class=\"ark__tab-count\">{{ $arkCounts[$arkKey] }}<\/span>\r\n                <\/a>\r\n            @endforeach\r\n        <\/nav>\r\n\r\n        @if ($arkJenis === '')\r\n            {{-- ============================== HAB ============================== --}}\r\n            <div class=\"ark__hub\">\r\n                @foreach ($arkJenisKeys as $arkKey)\r\n                    <a class=\"ark__card\" href=\"{{ $arkUrl(['jenis' => $arkKey, 'tahun' => '', 'q' => '']) }}\">\r\n                        <span class=\"ark__card-count\">\r\n                            {{ $arkHub[$arkKey]['count'] }} {{ $arkLang === 'en' ? 'documents' : 'dokumen' }}\r\n                        <\/span>\r\n                        <h2>{{ $arkJenisLabel($arkKey) }}<\/h2>\r\n                        <p>{{ $arkJenisDefs[$arkKey][$arkLang === 'en' ? 'descr_en' : 'descr_ms'] }}<\/p>\r\n\r\n                        @if (! empty($arkHub[$arkKey]['years']))\r\n                            <div class=\"ark__card-years\">\r\n                                @foreach (array_slice($arkHub[$arkKey]['years'], 0, 6) as $arkYear)\r\n                                    <span class=\"ark__card-year\">{{ $arkYear }}<\/span>\r\n                                @endforeach\r\n                            <\/div>\r\n                        @endif\r\n\r\n                        <span class=\"ark__card-link\">{{ $arkLang === 'en' ? 'View archive' : 'Lihat arkib' }} →<\/span>\r\n                    <\/a>\r\n                @endforeach\r\n            <\/div>\r\n        @else\r\n\r\n            {{-- --------------------------- PENAPIS --------------------------- --}}\r\n            <div class=\"ark__filters\">\r\n                <div class=\"ark__filter\">\r\n                    <span class=\"ark__filter-label\">{{ $arkLang === 'en' ? 'Year' : 'Tahun' }}<\/span>\r\n\r\n                    <a class=\"ark__chip {{ $arkTahun === '' ? 'is-active' : '' }}\" href=\"{{ $arkUrl(['tahun' => '']) }}\">\r\n                        {{ $arkLang === 'en' ? 'All' : 'Semua' }}\r\n                    <\/a>\r\n\r\n                    @foreach ($arkYears as $arkYearKey => $arkYearCount)\r\n                        <a class=\"ark__chip {{ $arkTahun === (string) $arkYearKey ? 'is-active' : '' }}\"\r\n                           href=\"{{ $arkUrl(['tahun' => (string) $arkYearKey]) }}\">\r\n                            {{ $arkYearKey }} <span>({{ $arkYearCount }})<\/span>\r\n                        <\/a>\r\n                    @endforeach\r\n\r\n                    @if ($arkUndated > 0)\r\n                        <a class=\"ark__chip {{ $arkTahun === 'lain' ? 'is-active' : '' }}\"\r\n                           href=\"{{ $arkUrl(['tahun' => 'lain']) }}\">\r\n                            {{ $arkLang === 'en' ? 'Others' : 'Lain-lain' }} <span>({{ $arkUndated }})<\/span>\r\n                        <\/a>\r\n                    @endif\r\n                <\/div>\r\n\r\n                <form class=\"ark__search\" method=\"get\" action=\"{{ $arkBase }}\" role=\"search\">\r\n                    <input type=\"hidden\" name=\"jenis\" value=\"{{ $arkJenis }}\">\r\n\r\n                    @if ($arkTahun !== '')\r\n                        <input type=\"hidden\" name=\"tahun\" value=\"{{ $arkTahun }}\">\r\n                    @endif\r\n\r\n                    <input type=\"search\" name=\"q\" value=\"{{ $arkCari }}\"\r\n                           placeholder=\"{{ $arkLang === 'en' ? 'Search title…' : 'Cari tajuk…' }}\"\r\n                           aria-label=\"{{ $arkLang === 'en' ? 'Search title' : 'Cari tajuk' }}\">\r\n\r\n                    <button type=\"submit\">{{ $arkLang === 'en' ? 'Search' : 'Cari' }}<\/button>\r\n                <\/form>\r\n            <\/div>\r\n\r\n            {{-- --------------------------- KIRAAN --------------------------- --}}\r\n            <div class=\"ark__summary\">\r\n                @if ($arkIsFiltered)\r\n                    <span>\r\n                        {{ $arkLang === 'en' ? 'Showing' : 'Menunjukkan' }}\r\n                        <strong>{{ count($arkRows) }}<\/strong>\r\n                        {{ $arkLang === 'en' ? 'of' : 'daripada' }}\r\n                        <strong>{{ count($arkJenisItems) }}<\/strong>\r\n                        {{ $arkLang === 'en' ? 'documents' : 'dokumen' }}\r\n                    <\/span>\r\n                @else\r\n                    <span>\r\n                        {{ $arkLang === 'en' ? 'Total' : 'Jumlah' }}\r\n                        <strong>{{ count($arkRows) }}<\/strong>\r\n                        {{ $arkLang === 'en' ? 'documents' : 'dokumen' }}\r\n                    <\/span>\r\n                @endif\r\n\r\n                <span class=\"ark__pill\">{{ $arkJenisLabelText }}<\/span>\r\n\r\n                @if ($arkTahun !== '')\r\n                    <span class=\"ark__pill\">{{ $arkTahun === 'lain' ? ($arkLang === 'en' ? 'Others' : 'Lain-lain') : $arkTahun }}<\/span>\r\n                @endif\r\n\r\n                @if ($arkCari !== '')\r\n                    <span class=\"ark__pill\">&ldquo;{{ $arkCari }}&rdquo;<\/span>\r\n                @endif\r\n            <\/div>\r\n\r\n            {{-- --------------------------- JADUAL --------------------------- --}}\r\n            @if (count($arkRows) > 0)\r\n                <div class=\"ark__table-card\">\r\n                    <table class=\"ark__table\">\r\n                        <thead>\r\n                            <tr>\r\n                                <th class=\"ark__no\">#<\/th>\r\n                                <th>{{ $arkLang === 'en' ? 'Date' : 'Tarikh' }}<\/th>\r\n                                <th>{{ $arkLang === 'en' ? 'Title' : 'Tajuk' }}<\/th>\r\n                                <th class=\"ark__hide-sm\">{{ $arkColLabel }}<\/th>\r\n                                <th>{{ $arkLang === 'en' ? 'Document' : 'Dokumen' }}<\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n\r\n                        <tbody>\r\n                            @foreach ($arkRows as $arkIndex => $arkItem)\r\n                                <tr>\r\n                                    <td class=\"ark__no\">{{ $arkIndex + 1 }}<\/td>\r\n\r\n                                    <td class=\"ark__date\">\r\n                                        {{ $arkItem['date'] !== '' ? $arkDate($arkItem['date']) : ($arkLang === 'en' ? 'No date' : 'Tiada tarikh') }}\r\n                                    <\/td>\r\n\r\n                                    <td>\r\n                                        <p class=\"ark__title\">\r\n                                            @if ($arkItem['file'] !== '')\r\n                                                <a href=\"{{ $arkItem['file'] }}\" target=\"_blank\" rel=\"noopener\">{{ $arkItem['title'] }}<\/a>\r\n                                            @elseif ($arkItem['url'] !== '')\r\n                                                <a href=\"{{ $arkItem['url'] }}\" target=\"_blank\" rel=\"noopener\">{{ $arkItem['title'] }}<\/a>\r\n                                            @else\r\n                                                {{ $arkItem['title'] }}\r\n                                            @endif\r\n                                        <\/p>\r\n\r\n                                        @if ($arkItem['badge'] !== '' && $arkItem['badge'] !== $arkJenisLabelText)\r\n                                            <div class=\"ark__meta\">\r\n                                                <span class=\"ark__badge\">{{ $arkItem['badge'] }}<\/span>\r\n                                            <\/div>\r\n                                        @endif\r\n                                    <\/td>\r\n\r\n                                    <td class=\"ark__hide-sm\">\r\n                                        <span class=\"ark__source\">{{ $arkItem['source'] !== '' ? $arkItem['source'] : '—' }}<\/span>\r\n                                    <\/td>\r\n\r\n                                    <td>\r\n                                        <div class=\"ark__acts\">\r\n                                            @if ($arkItem['file'] !== '')\r\n                                                <a class=\"ark__btn\" href=\"{{ $arkItem['file'] }}\" target=\"_blank\" rel=\"noopener\">\r\n                                                    {{ $arkLang === 'en' ? 'Download' : 'Muat turun' }}\r\n                                                <\/a>\r\n                                            @elseif ($arkItem['url'] !== '')\r\n                                                <a class=\"ark__btn\" href=\"{{ $arkItem['url'] }}\" target=\"_blank\" rel=\"noopener\">\r\n                                                    {{ $arkLang === 'en' ? 'Open link' : 'Buka pautan' }}\r\n                                                <\/a>\r\n                                            @else\r\n                                                <span class=\"ark__none\">—<\/span>\r\n                                            @endif\r\n                                        <\/div>\r\n                                    <\/td>\r\n                                <\/tr>\r\n                            @endforeach\r\n                        <\/tbody>\r\n                    <\/table>\r\n                <\/div>\r\n            @else\r\n                <div class=\"ark__empty\">\r\n                    <strong>{{ $arkLang === 'en' ? 'No documents found' : 'Tiada dokumen ditemui' }}<\/strong>\r\n                    <p style=\"margin:0 0 10px\">\r\n                        @if ($arkIsFiltered)\r\n                            {{ $arkLang === 'en'\r\n                                ? 'No documents match this year or search. Try another filter.'\r\n                                : 'Tiada dokumen sepadan dengan tahun atau carian ini. Cuba penapis lain.' }}\r\n                        @else\r\n                            {{ $arkLang === 'en'\r\n                                ? 'No documents have been published in this archive yet.'\r\n                                : 'Belum ada dokumen diterbitkan dalam arkib ini.' }}\r\n                        @endif\r\n                    <\/p>\r\n\r\n                    @if ($arkIsFiltered)\r\n                        <a href=\"{{ $arkUrl(['tahun' => '', 'q' => '']) }}\">\r\n                            {{ $arkLang === 'en' ? 'Reset filters' : 'Set semula penapis' }}\r\n                        <\/a>\r\n                    @endif\r\n                <\/div>\r\n            @endif\r\n        @endif\r\n\r\n        {{-- =============================== NOTA ============================== --}}\r\n        <div class=\"ark__note\">\r\n            <strong>{{ $arkLang === 'en' ? 'Archive note' : 'Nota arkib' }}:<\/strong>\r\n            @if ($arkLang === 'en')\r\n                Documents are kept in PDF format. For a document that cannot be opened or for any enquiry,\r\n                please contact the Corporate Communications Division at +603 8091 7000.\r\n            @else\r\n                Dokumen disimpan dalam format PDF. Bagi dokumen yang tidak dapat dibuka atau sebarang pertanyaan,\r\n                sila hubungi Bahagian Komunikasi Korporat di talian +603 8091 7000.\r\n            @endif\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n"
}