{
    "id": 31,
    "slug": "tenders-and-quotations",
    "name": "Tenders and Quotations",
    "page_content": "{{-- ============================================================================\r\n     PAGE CONTENT — Tender dan Sebutharga\r\n     Site  : nres  ·  Page slug: tenders-and-quotations  ·  Page ID: 31\r\n     Sumber: modul content-tender\r\n             · content_tender              → kod, jenis, kategori, kaedah, status, tarikh\r\n             · content_tender_translation  → tajuk, deskripsi, kelayakan, skop kerja\r\n             · content_tender_document     → dokumen lampiran (label + fail)\r\n     Konsep: https:\/\/www.nres.gov.my\/TenderSebutharga\/Pages\/default.aspx\r\n             (tab: Tawaran Tender & Sebutharga · Keputusan Tender · Keputusan Sebutharga)\r\n\r\n     Parameter URL:\r\n       tab        tawaran (lalai) | keputusan-tender | keputusan-sebutharga\r\n       jenis      TENDER | SEBUT_HARGA  (tab tawaran sahaja)\r\n       id         id tender → papar butiran penuh\r\n\r\n     Nota:\r\n     · SEMUA logik + markup + CSS ada dalam fail ini — tiada komponen, tiada partial.\r\n     · Hanya tender_status = PUBLISHED dipaparkan (DRAFT\/CANCELLED tersembunyi).\r\n     · Fail disimpan pada disk 'public' (content-tender\/files|results|attachments) →\r\n       URL = asset('storage\/'.$path).\r\n     · \"Keputusan\" = tender yang ada tender_result_document atau tender_result_notes.\r\n     · Warna guna CSS variable tema (--teal\/--green\/--fade\/--line\/--ink) → sokong dark mode.\r\n     ============================================================================ --}}\r\n\r\n@php\r\n    \/* --------------------------------------------------------------------\r\n     | 1. Parameter & konteks\r\n     -------------------------------------------------------------------- *\/\r\n    $tndBase  = url()->current();\r\n    $tndQuery = request()->query();\r\n    $tndLang  = ($lang ?? session('locale', 'ms')) === 'en' ? 'en' : 'ms';\r\n\r\n    $tndTab = (string) ($tndQuery['tab'] ?? 'tawaran');\r\n\r\n    if (! in_array($tndTab, ['tawaran', 'keputusan-tender', 'keputusan-sebutharga'], true)) {\r\n        $tndTab = 'tawaran';\r\n    }\r\n\r\n    $tndType = strtoupper((string) ($tndQuery['jenis'] ?? ''));\r\n    $tndType = in_array($tndType, ['TENDER', 'SEBUT_HARGA'], true) ? $tndType : '';\r\n\r\n    $tndId = (int) ($tndQuery['id'] ?? 0);\r\n\r\n    \/\/ Penomboran: 10 baris setiap halaman (?page=)\r\n    $tndPerPage = 10;\r\n    $tndPage    = max(1, (int) ($tndQuery['page'] ?? 1));\r\n\r\n    $tndTabUrl = fn (string $key) => url()->current().'?tab='.$key;\r\n\r\n    $tndUrl = function (array $params = []) use ($tndBase, $tndTab, $tndType, $tndId, $tndPage) {\r\n        $query = array_filter([\r\n            'tab'   => array_key_exists('tab', $params) ? $params['tab'] : $tndTab,\r\n            'jenis' => array_key_exists('jenis', $params) ? $params['jenis'] : $tndType,\r\n            'id'    => array_key_exists('id', $params) ? $params['id'] : ($tndId ?: null),\r\n            'page'  => array_key_exists('page', $params) ? $params['page'] : ($tndPage > 1 ? $tndPage : null),\r\n        ], fn ($v) => $v !== null && $v !== '');\r\n\r\n        return $query ? $tndBase.'?'.http_build_query($query) : $tndBase;\r\n    };\r\n\r\n    \/\/ Fail pada disk 'public' → URL awam\r\n    $tndFile = 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        return asset('storage\/'.ltrim($path, '\/'));\r\n    };\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 2. Rujukan (jenis \/ kategori \/ kaedah \/ status)\r\n     -------------------------------------------------------------------- *\/\r\n    $tndRefLabel = [];\r\n\r\n    foreach (['TENDER_TYPE', 'TENDER_CATEGORY', 'TENDER_METHOD', 'TENDER_STATUS'] as $tndCat) {\r\n        foreach (DB::table('ref')->where('cat', $tndCat)->get() as $tndRef) {\r\n            $tndRefLabel[(string) $tndRef->code] = $tndLang === 'en'\r\n                ? ((string) ($tndRef->descr_en ?: $tndRef->descr))\r\n                : ((string) ($tndRef->descr ?: $tndRef->descr_en));\r\n        }\r\n    }\r\n\r\n    $tndLabel = fn ($code) => $tndRefLabel[(string) $code] ?? (string) $code;\r\n\r\n    \/\/ Ikut bahasa semasa (ref.descr \/ ref.descr_en) — jangan keras Melayu.\r\n    $tndTypeLabel = [\r\n        'TENDER'      => $tndRefLabel['TENDER'] ?? 'Tender',\r\n        'SEBUT_HARGA' => $tndRefLabel['SEBUT_HARGA'] ?? 'Sebut Harga',\r\n    ];\r\n\r\n    \/\/ Tarikh paparan\r\n    $tndMonths = $tndLang === '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    $tndDate = function ($value) use ($tndMonths) {\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.' '.$tndMonths[(int) $date->month].' '.$date->year;\r\n        } catch (\\Throwable $e) {\r\n            return (string) $value;\r\n        }\r\n    };\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 3. Tender PUBLISHED + terjemahan + dokumen lampiran\r\n     -------------------------------------------------------------------- *\/\r\n    $tndRows = DB::table('content_tender')\r\n        ->where('tender_status', 'PUBLISHED')\r\n        ->orderBy('tender_sorting')\r\n        ->orderByDesc('tender_close_date')\r\n        ->orderByDesc('tender_id')\r\n        ->get();\r\n\r\n    $tndIds = $tndRows->pluck('tender_id')->all();\r\n\r\n    $tndTr = $tndIds\r\n        ? DB::table('content_tender_translation')->whereIn('tender_id', $tndIds)->get()->groupBy('tender_id')\r\n        : collect();\r\n\r\n    $tndDocs = $tndIds\r\n        ? DB::table('content_tender_document')->whereIn('tender_id', $tndIds)->orderBy('sort')->orderBy('id')->get()->groupBy('tender_id')\r\n        : collect();\r\n\r\n    $tndItems = [];\r\n\r\n    foreach ($tndRows as $tndRow) {\r\n        $tndTrRows = $tndTr[$tndRow->tender_id] ?? collect();\r\n        $tndTrRow  = $tndTrRows->firstWhere('language', $tndLang)\r\n            ?? $tndTrRows->firstWhere('main', 1)\r\n            ?? $tndTrRows->first();\r\n\r\n        $tndCloseAt = $tndRow->tender_close_date\r\n            ? \\Carbon\\Carbon::parse($tndRow->tender_close_date.' '.($tndRow->tender_close_time ?: '23:59:59'))\r\n            : null;\r\n\r\n        $tndOpenAt = $tndRow->tender_open_date\r\n            ? \\Carbon\\Carbon::parse($tndRow->tender_open_date.' '.($tndRow->tender_open_time ?: '00:00:00'))\r\n            : null;\r\n\r\n        $tndIsOpen = ($tndOpenAt === null || now()->gte($tndOpenAt)) && ($tndCloseAt === null || now()->lte($tndCloseAt));\r\n\r\n        $tndItems[] = [\r\n            'id'          => (int) $tndRow->tender_id,\r\n            'code'        => (string) $tndRow->tender_code,\r\n            'type'        => (string) $tndRow->tender_type,\r\n            'category'    => (string) $tndRow->tender_category,\r\n            'method'      => (string) ($tndRow->tender_method ?? ''),\r\n            'title'       => (string) ($tndTrRow->title ?? $tndRow->tender_code),\r\n            'descr'       => (string) ($tndTrRow->description ?? ''),\r\n            'eligibility' => (string) ($tndTrRow->eligibility ?? ''),\r\n            'scope'       => (string) ($tndTrRow->scope_of_work ?? ''),\r\n            'open_date'   => $tndRow->tender_open_date,\r\n            'open_time'   => (string) ($tndRow->tender_open_time ?? ''),\r\n            'close_date'  => $tndRow->tender_close_date,\r\n            'close_time'  => (string) ($tndRow->tender_close_time ?? ''),\r\n            'brief_date'  => $tndRow->tender_briefing_date,\r\n            'brief_time'  => (string) ($tndRow->tender_briefing_time ?? ''),\r\n            'brief_place' => (string) ($tndRow->tender_briefing_place ?? ''),\r\n            'visit_date'  => $tndRow->tender_site_visit_date,\r\n            'document'    => $tndFile($tndRow->tender_document),\r\n            'result_doc'  => $tndFile($tndRow->tender_result_document),\r\n            'result_note' => (string) ($tndRow->tender_result_notes ?? ''),\r\n            'ref_url'     => (string) ($tndRow->tender_reference_url ?? ''),\r\n            'contact'     => [\r\n                'name'  => (string) ($tndRow->tender_contact_name ?? ''),\r\n                'phone' => (string) ($tndRow->tender_contact_phone ?? ''),\r\n                'email' => (string) ($tndRow->tender_contact_email ?? ''),\r\n            ],\r\n            'is_open'     => $tndIsOpen,\r\n            'has_result'  => filled($tndRow->tender_result_document) || filled($tndRow->tender_result_notes),\r\n            'docs'        => ($tndDocs[$tndRow->tender_id] ?? collect())->map(fn ($tndDoc) => [\r\n                'label' => (string) ($tndDoc->label ?: basename((string) $tndDoc->file)),\r\n                'url'   => $tndFile($tndDoc->file),\r\n            ])->all(),\r\n        ];\r\n    }\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 4. Kumpulan mengikut tab\r\n     -------------------------------------------------------------------- *\/\r\n    $tndOffers = array_values(array_filter(\r\n        $tndItems,\r\n        fn ($tndItem) => $tndType === '' || $tndItem['type'] === $tndType\r\n    ));\r\n\r\n    \/\/ Tawaran: yang masih dibuka dahulu (tarikh tutup menaik), kemudian yang ditutup (terbaru dahulu)\r\n    usort($tndOffers, function ($a, $b) {\r\n        if ($a['is_open'] !== $b['is_open']) {\r\n            return $a['is_open'] ? -1 : 1;\r\n        }\r\n\r\n        $aClose = (string) $a['close_date'];\r\n        $bClose = (string) $b['close_date'];\r\n\r\n        return $a['is_open'] ? strcmp($aClose, $bClose) : strcmp($bClose, $aClose);\r\n    });\r\n\r\n    $tndByType = function (string $type) use ($tndItems) {\r\n        $rows = array_values(array_filter($tndItems, fn ($tndItem) => $tndItem['type'] === $type && $tndItem['has_result']));\r\n\r\n        usort($rows, fn ($a, $b) => strcmp((string) $b['close_date'], (string) $a['close_date']));\r\n\r\n        return $rows;\r\n    };\r\n\r\n    $tndResultTender    = $tndByType('TENDER');\r\n    $tndResultQuotation = $tndByType('SEBUT_HARGA');\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 4b. Penomboran — 10 baris setiap halaman\r\n     -------------------------------------------------------------------- *\/\r\n    $tndPaged = function (array $rows) use ($tndPage, $tndPerPage) {\r\n        $total = count($rows);\r\n        $last  = max(1, (int) ceil($total \/ $tndPerPage));\r\n        $page  = min(max(1, $tndPage), $last);\r\n\r\n        return [\r\n            'rows'  => array_slice($rows, ($page - 1) * $tndPerPage, $tndPerPage),\r\n            'page'  => $page,\r\n            'last'  => $last,\r\n            'total' => $total,\r\n        ];\r\n    };\r\n\r\n    $tndOffersPage = $tndPaged($tndOffers);\r\n    $tndResultPage = $tndPaged($tndTab === 'keputusan-tender' ? $tndResultTender : $tndResultQuotation);\r\n\r\n    $tndTotal    = count($tndItems);\r\n    $tndOpenCnt  = count(array_filter($tndItems, fn ($tndItem) => $tndItem['is_open']));\r\n\r\n    \/* --------------------------------------------------------------------\r\n     | 5. Butiran penuh (id)\r\n     -------------------------------------------------------------------- *\/\r\n    $tndDetail = null;\r\n\r\n    if ($tndId) {\r\n        foreach ($tndItems as $tndItem) {\r\n            if ($tndItem['id'] === $tndId) {\r\n                $tndDetail = $tndItem;\r\n                break;\r\n            }\r\n        }\r\n    }\r\n@endphp\r\n\r\n<style>\r\n\/* ==========================================================================\r\n   TENDER & SEBUTHARGA — gaya skop .tender (warna ikut tema, sokong dark mode)\r\n   ========================================================================== *\/\r\n.tender{padding:34px 0 64px;color:var(--ink);font-family:\"Inter\",\"Segoe UI\",system-ui,-apple-system,Roboto,Arial,sans-serif}\r\n.tender *,.tender *::before,.tender *::after{box-sizing:border-box}\r\n.tender__container{width:min(100% - 32px,1120px);margin:0 auto}\r\n\r\n\/* --- breadcrumb & tajuk -------------------------------------------------- *\/\r\n.tender__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;color:var(--bs-secondary-color);font-size:.85rem}\r\n.tender__breadcrumb a{color:var(--teal);font-weight:600;text-decoration:none}\r\n.tender__breadcrumb a:hover{text-decoration:underline}\r\n.tender__header{margin-bottom:20px}\r\n.tender__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.tender__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.tender__header p{margin:0;max-width:74ch;color:var(--bs-secondary-color);font-size:.95rem;line-height:1.65}\r\n\r\n\/* --- tab ----------------------------------------------------------------- *\/\r\n.tender__tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding-bottom:14px;border-bottom:2px solid var(--line)}\r\n.tender__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.tender__tab:hover{border-color:var(--teal);color:var(--teal)}\r\n.tender__tab.is-active{border-color:var(--teal);background:var(--teal);color:#fff}\r\n.tender__tab-count{padding:1px 8px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.68rem;font-weight:800}\r\n.tender__tab.is-active .tender__tab-count{background:rgba(255,255,255,.25);color:#fff}\r\n\r\n\/* --- tapisan jenis (Tender \/ Sebut Harga) -------------------------------- *\/\r\n.tender__types{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}\r\n.tender__type{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:var(--bs-body-bg);color:var(--ink);font-size:.76rem;font-weight:600;text-decoration:none;transition:.15s}\r\n.tender__type:hover{border-color:var(--teal);color:var(--teal)}\r\n.tender__type.is-active{border-color:var(--teal);background:var(--teal);color:#fff}\r\n\r\n\/* --- ringkasan ----------------------------------------------------------- *\/\r\n.tender__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.tender__summary strong{color:var(--ink)}\r\n.tender__chip{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\/* --- notis --------------------------------------------------------------- *\/\r\n.tender__notice{display:flex;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px;background:var(--bs-body-bg)}\r\n.tender__notice svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--teal)}\r\n.tender__notice p{margin:0;color:var(--bs-secondary-color);font-size:.82rem;line-height:1.6}\r\n.tender__notice strong{color:var(--ink)}\r\n\r\n\/* --- jadual tender ------------------------------------------------------- *\/\r\n.tender__hint{display:none;margin:0 0 8px;color:var(--bs-secondary-color);font-size:.74rem;font-weight:600}\r\n.tender__table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--bs-body-bg)}\r\n.tender__table{width:100%;min-width:960px;border-collapse:collapse;font-size:.84rem}\r\n.tender__table thead th{padding:11px 14px;background:var(--fade);color:var(--teal);border-bottom:1px solid var(--line);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}\r\n.tender__table tbody td{padding:12px 14px;border-top:1px solid var(--line);color:var(--ink);vertical-align:top}\r\n.tender__table tbody tr:hover td{background:rgba(17,128,143,.05)}\r\n.tender__table tbody tr.tender__empty-row td{padding:30px 14px;text-align:center;color:var(--bs-secondary-color);font-size:.85rem}\r\n.tender__title{margin:0 0 4px;font-size:.9rem;font-weight:700;line-height:1.4}\r\n.tender__title a{color:var(--green);text-decoration:none}\r\n.tender__title a:hover{color:var(--teal);text-decoration:underline}\r\n.tender__code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:700;color:var(--teal);background:var(--fade);border-radius:6px;padding:1px 7px;letter-spacing:.02em}\r\n.tender__badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}\r\n.tender__badge{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--fade);color:var(--teal);font-size:.66rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}\r\n.tender__badge--type{background:rgba(17,128,143,.16)}\r\n.tender__status{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}\r\n.tender__status--open{background:rgba(22,92,74,.14);color:#15803d}\r\n.tender__status--closed{background:rgba(100,116,139,.16);color:#475569}\r\n[data-bs-theme=dark] .tender__status--open{color:#8fd9bf}\r\n[data-bs-theme=dark] .tender__status--closed{color:#cbd5e1}\r\n.tender__date{white-space:nowrap;font-size:.82rem}\r\n.tender__muted{color:var(--bs-secondary-color)}\r\n.tender__nowrap{white-space:nowrap}\r\n.tender__file{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bs-body-bg);color:var(--teal);font-size:.76rem;font-weight:700;text-decoration:none;transition:.15s}\r\n.tender__file:hover{border-color:var(--teal);background:var(--fade)}\r\n.tender__file svg{flex:none;width:13px;height:13px}\r\n.tender__file--result{border-color:rgba(22,92,74,.35)}\r\n.tender__files{display:flex;flex-direction:column;gap:6px;align-items:flex-start}\r\n\r\n\/* --- butiran tender ------------------------------------------------------ *\/\r\n.tender__back{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;color:var(--teal);font-size:.82rem;font-weight:700;text-decoration:none}\r\n.tender__back:hover{text-decoration:underline}\r\n.tender__back svg{width:14px;height:14px}\r\n.tender__detail{margin:0 0 22px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--bs-body-bg)}\r\n.tender__detail-title{margin:0 0 8px;color:var(--green);font-size:1.25rem;font-weight:800;line-height:1.35}\r\n.tender__detail-code{margin:0;color:var(--bs-secondary-color);font-size:.82rem}\r\n.tender__detail-code code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--teal);font-weight:700}\r\n.tender__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:16px 0 4px}\r\n.tender__fact{padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--fade)}\r\n.tender__fact span{display:block;margin-bottom:3px;color:var(--bs-secondary-color);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}\r\n.tender__fact strong{display:block;color:var(--ink);font-size:.86rem;font-weight:700;line-height:1.45}\r\n.tender__fact em{display:block;margin-top:2px;color:var(--bs-secondary-color);font-size:.76rem;font-style:normal;line-height:1.45}\r\n.tender__block{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line)}\r\n.tender__block h3{margin:0 0 8px;color:var(--green);font-size:.9rem;font-weight:800;letter-spacing:.02em}\r\n.tender__block p{margin:0;color:var(--bs-secondary-color);font-size:.85rem;line-height:1.7;white-space:pre-line}\r\n.tender__contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0}\r\n.tender__contact div{display:flex;gap:8px;font-size:.83rem;line-height:1.5}\r\n.tender__contact dt{flex:0 0 82px;color:var(--bs-secondary-color);font-weight:600}\r\n.tender__contact dd{margin:0;color:var(--ink);font-weight:600;overflow-wrap:anywhere}\r\n\r\n\/* --- keadaan kosong ----------------------------------------------------- *\/\r\n.tender__empty{padding:32px 22px;border:1px dashed var(--line);border-radius:16px;background:var(--bs-body-bg);text-align:center}\r\n.tender__empty svg{width:34px;height:34px;margin-bottom:10px;color:var(--teal);opacity:.7}\r\n.tender__empty h3{margin:0 0 6px;color:var(--green);font-size:.98rem;font-weight:800}\r\n.tender__empty p{max-width:58ch;margin:0 auto;color:var(--bs-secondary-color);font-size:.85rem;line-height:1.6}\r\n.tender__empty a{color:var(--teal);font-weight:700;text-decoration:none}\r\n.tender__empty a:hover{text-decoration:underline}\r\n\r\n\/* --- responsif ----------------------------------------------------------- *\/\r\n@media (max-width:900px){\r\n    .tender__hint{display:block}\r\n}\r\n@media (max-width:640px){\r\n    .tender{padding:24px 0 46px}\r\n    .tender__detail{padding:16px}\r\n    .tender__detail-title{font-size:1.08rem}\r\n    .tender__contact dt{flex:0 0 70px}\r\n}\r\n\/* --- banner (konsep sama seperti halaman Teks Ucapan) ------------------- *\/\r\n.tender__banner{position:relative;overflow:hidden;margin:0 0 22px;padding:clamp(20px,3.4vw,34px) clamp(18px,3vw,34px);border-radius:18px;color:#fff;background:linear-gradient(120deg,var(--green) 0%,var(--teal) 100%);box-shadow:0 10px 28px rgba(0,60,55,.18)}\r\n.tender__banner::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 80% at 88% 18%,rgba(255,255,255,.20),transparent 70%),repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 14px,transparent 14px 28px)}\r\n.tender__banner-inner{position:relative;z-index:1}\r\n.tender__banner .tender__breadcrumb{margin-bottom:10px;color:rgba(255,255,255,.85)}\r\n.tender__banner .tender__breadcrumb a{color:#fff}\r\n.tender__banner .tender__header{margin-bottom:0}\r\n.tender__banner .tender__header h1{color:#fff;text-shadow:0 2px 10px rgba(0,40,36,.25)}\r\n.tender__banner .tender__header p{color:rgba(255,255,255,.92)}\r\n.tender__banner .tender__eyebrow{background:rgba(255,255,255,.18);color:#fff}\r\n\r\n\/* --- penomboran --------------------------------------------------------- *\/\r\n.tender__pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:18px 0 0}\r\n.tender__pg{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--bs-body-bg);color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;transition:.15s}\r\n.tender__pg:hover{border-color:var(--teal);color:var(--teal)}\r\n.tender__pg.is-active{border-color:var(--teal);background:var(--teal);color:#fff}\r\n.tender__pg.is-disabled{opacity:.45;pointer-events:none}\r\n.tender__pg-info{display:inline-flex;align-items:center;height:38px;margin-left:6px;padding:0 14px;border-radius:10px;background:var(--fade);color:var(--teal);font-size:.76rem;font-weight:700;white-space:nowrap}\r\n<\/style>\r\n\r\n<section class=\"tender\" aria-labelledby=\"tender-title\">\r\n    <div class=\"tender__container\">\r\n\r\n        {{-- ---------- BANNER (breadcrumb + tajuk) ---------- --}}\r\n        <div class=\"tender__banner\">\r\n            <div class=\"tender__banner-inner\">\r\n\r\n                <nav class=\"tender__breadcrumb\" aria-label=\"{{ t('tq.aria_breadcrumb') }}\">\r\n                    <a href=\"{{ url($siteSlug.'\/home') }}\">{{ t('Utama') }}<\/a>\r\n                    <span aria-hidden=\"true\">\/<\/span>\r\n\r\n                    @if ($tndDetail)\r\n                        <a href=\"{{ $tndUrl(['id' => null]) }}\">{{ t('tq.title') }}<\/a>\r\n                        <span aria-hidden=\"true\">\/<\/span>\r\n                        <span>{{ $tndDetail['code'] }}<\/span>\r\n                    @else\r\n                        <span>{{ t('tq.title') }}<\/span>\r\n                    @endif\r\n                <\/nav>\r\n\r\n                <header class=\"tender__header\">\r\n                    <span class=\"tender__eyebrow\">{{ t('tq.eyebrow_service') }}<\/span>\r\n                    <h1 id=\"tender-title\">{{ $tndDetail ? $tndDetail['title'] : t('tq.title') }}<\/h1>\r\n\r\n                    @if ($tndDetail)\r\n                        <p>{{ t('tq.detail_lead') }}<\/p>\r\n                    @else\r\n                        <p>{{ t('tq.hero_desc') }}<\/p>\r\n                    @endif\r\n                <\/header>\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        {{-- ---------- TAB ---------- --}}\r\n        <nav class=\"tender__tabs\" aria-label=\"{{ t('tq.aria_sections') }}\">\r\n            <a class=\"tender__tab {{ $tndTab === 'tawaran' ? 'is-active' : '' }}\"\r\n                href=\"{{ $tndTabUrl('tawaran') }}\" @if ($tndTab === 'tawaran') aria-current=\"page\" @endif>\r\n                {{ t('tq.tab_offers') }}\r\n                <span class=\"tender__tab-count\">{{ $tndTotal }}<\/span>\r\n            <\/a>\r\n\r\n            <a class=\"tender__tab {{ $tndTab === 'keputusan-tender' ? 'is-active' : '' }}\"\r\n                href=\"{{ $tndTabUrl('keputusan-tender') }}\"\r\n                @if ($tndTab === 'keputusan-tender') aria-current=\"page\" @endif>\r\n                {{ t('tq.tab_tender_results') }}\r\n                <span class=\"tender__tab-count\">{{ count($tndResultTender) }}<\/span>\r\n            <\/a>\r\n\r\n            <a class=\"tender__tab {{ $tndTab === 'keputusan-sebutharga' ? 'is-active' : '' }}\"\r\n                href=\"{{ $tndTabUrl('keputusan-sebutharga') }}\"\r\n                @if ($tndTab === 'keputusan-sebutharga') aria-current=\"page\" @endif>\r\n                {{ t('tq.tab_quotation_results') }}\r\n                <span class=\"tender__tab-count\">{{ count($tndResultQuotation) }}<\/span>\r\n            <\/a>\r\n        <\/nav>\r\n\r\n        @if ($tndDetail)\r\n            {{-- ---------- BUTIRAN TENDER ---------- --}}\r\n            <a class=\"tender__back\" href=\"{{ $tndUrl(['id' => null]) }}\">\r\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\r\n                    stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n                    <path d=\"M19 12H5M12 19l-7-7 7-7\"><\/path>\r\n                <\/svg>\r\n                {{ t('tq.back_to_list') }}\r\n            <\/a>\r\n\r\n            <article class=\"tender__detail\">\r\n                <div class=\"tender__badges\">\r\n                    <span\r\n                        class=\"tender__badge tender__badge--type\">{{ $tndTypeLabel[$tndDetail['type']] ?? $tndDetail['type'] }}<\/span>\r\n                    @if ($tndDetail['category'] !== '')\r\n                        <span class=\"tender__badge\">{{ $tndLabel($tndDetail['category']) }}<\/span>\r\n                    @endif\r\n\r\n                    @if ($tndDetail['method'] !== '')\r\n                        <span class=\"tender__badge\">{{ $tndLabel($tndDetail['method']) }}<\/span>\r\n                    @endif\r\n\r\n                    <span\r\n                        class=\"tender__status tender__status--{{ $tndDetail['is_open'] ? 'open' : 'closed' }}\">{{ $tndDetail['is_open'] ? t('tq.status_open') : t('tq.status_closed') }}<\/span>\r\n                <\/div>\r\n\r\n                <h2 class=\"tender__detail-title\">{{ $tndDetail['title'] }}<\/h2>\r\n                <p class=\"tender__detail-code\">{{ t('tq.ref_no') }} <code>{{ $tndDetail['code'] }}<\/code><\/p>\r\n\r\n                <div class=\"tender__grid\">\r\n                    @if ($tndDetail['open_date'])\r\n                        <div class=\"tender__fact\">\r\n                            <span>{{ t('tq.col_open') }}<\/span>\r\n                            <strong>{{ $tndDate($tndDetail['open_date']) }}<\/strong>\r\n                        <\/div>\r\n                    @endif\r\n\r\n                    @if ($tndDetail['close_date'])\r\n                        <div class=\"tender__fact\">\r\n                            <span>{{ t('tq.col_close') }}<\/span>\r\n                            <strong>{{ $tndDate($tndDetail['close_date']) }}<\/strong>\r\n                        <\/div>\r\n                    @endif\r\n\r\n                    @if ($tndDetail['brief_date'])\r\n                        <div class=\"tender__fact\">\r\n                            <span>{{ t('tq.briefing') }}<\/span>\r\n                            <strong>{{ $tndDate($tndDetail['brief_date']) }}<\/strong>\r\n                            @if ($tndDetail['brief_place'] !== '')\r\n                                <em>{{ $tndDetail['brief_place'] }}<\/em>\r\n                            @endif\r\n                        <\/div>\r\n                    @endif\r\n\r\n                    @if ($tndDetail['visit_date'])\r\n                        <div class=\"tender__fact\">\r\n                            <span>{{ t('tq.site_visit') }}<\/span>\r\n                            <strong>{{ $tndDate($tndDetail['visit_date']) }}<\/strong>\r\n                        <\/div>\r\n                    @endif\r\n                <\/div>\r\n\r\n                @if ($tndDetail['descr'] !== '')\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.description') }}<\/h3>\r\n                        <p>{{ $tndDetail['descr'] }}<\/p>\r\n                    <\/section>\r\n                @endif\r\n\r\n                @if ($tndDetail['scope'] !== '')\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.scope') }}<\/h3>\r\n                        <p>{{ $tndDetail['scope'] }}<\/p>\r\n                    <\/section>\r\n                @endif\r\n\r\n                @if ($tndDetail['eligibility'] !== '')\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.eligibility') }}<\/h3>\r\n                        <p>{{ $tndDetail['eligibility'] }}<\/p>\r\n                    <\/section>\r\n                @endif\r\n\r\n                @if ($tndDetail['document'] !== '' || count($tndDetail['docs']))\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.documents') }}<\/h3>\r\n                        <div class=\"tender__files\">\r\n                            @if ($tndDetail['document'] !== '')\r\n                                <a class=\"tender__file\" href=\"{{ $tndDetail['document'] }}\" target=\"_blank\"\r\n                                    rel=\"noopener\">\r\n                                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\r\n                                        stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n                                        <path d=\"M12 3v12M7 10l5 5 5-5M5 21h14\"><\/path>\r\n                                    <\/svg>\r\n                                    {{ t('tq.doc_main') }}\r\n                                <\/a>\r\n                            @endif\r\n\r\n                            @foreach ($tndDetail['docs'] as $tndDocItem)\r\n                                <a class=\"tender__file\" href=\"{{ $tndDocItem['url'] }}\" target=\"_blank\" rel=\"noopener\">\r\n                                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\r\n                                        stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n                                        <path d=\"M12 3v12M7 10l5 5 5-5M5 21h14\"><\/path>\r\n                                    <\/svg>\r\n                                    {{ $tndDocItem['label'] }}\r\n                                <\/a>\r\n                            @endforeach\r\n                        <\/div>\r\n                    <\/section>\r\n                @endif\r\n\r\n                @if ($tndDetail['result_doc'] !== '' || $tndDetail['result_note'] !== '')\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.result') }}<\/h3>\r\n\r\n                        @if ($tndDetail['result_note'] !== '')\r\n                            <p>{{ $tndDetail['result_note'] }}<\/p>\r\n                        @endif\r\n\r\n                        @if ($tndDetail['result_doc'] !== '')\r\n                            <div class=\"tender__files\">\r\n                                <a class=\"tender__file tender__file--result\" href=\"{{ $tndDetail['result_doc'] }}\"\r\n                                    target=\"_blank\" rel=\"noopener\">\r\n                                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\r\n                                        stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n                                        <path d=\"M12 3v12M7 10l5 5 5-5M5 21h14\"><\/path>\r\n                                    <\/svg>\r\n                                    {{ t('tq.doc_result') }}\r\n                                <\/a>\r\n                            <\/div>\r\n                        @endif\r\n                    <\/section>\r\n                @endif\r\n\r\n                @if ($tndDetail['contact']['name'] !== '' || $tndDetail['contact']['phone'] !== '' || $tndDetail['contact']['email'] !== '' || $tndDetail['ref_url'] !== '')\r\n                    <section class=\"tender__block\">\r\n                        <h3>{{ t('tq.contact_links') }}<\/h3>\r\n\r\n                        @if ($tndDetail['contact']['name'] !== '' || $tndDetail['contact']['phone'] !== '' || $tndDetail['contact']['email'] !== '')\r\n                            <dl class=\"tender__contact\">\r\n                                @if ($tndDetail['contact']['name'] !== '')\r\n                                    <div>\r\n                                        <dt>{{ t('tq.officer') }}<\/dt>\r\n                                        <dd>{{ $tndDetail['contact']['name'] }}<\/dd>\r\n                                    <\/div>\r\n                                @endif\r\n\r\n                                @if ($tndDetail['contact']['phone'] !== '')\r\n                                    <div>\r\n                                        <dt>{{ t('tq.phone') }}<\/dt>\r\n                                        <dd>{{ $tndDetail['contact']['phone'] }}<\/dd>\r\n                                    <\/div>\r\n                                @endif\r\n\r\n                                @if ($tndDetail['contact']['email'] !== '')\r\n                                    <div>\r\n                                        <dt>{{ t('tq.email') }}<\/dt>\r\n                                        <dd>{{ $tndDetail['contact']['email'] }}<\/dd>\r\n                                    <\/div>\r\n                                @endif\r\n                            <\/dl>\r\n                        @endif\r\n\r\n                        @if ($tndDetail['ref_url'] !== '')\r\n                            <div class=\"tender__files\">\r\n                                <a class=\"tender__file\" href=\"{{ $tndDetail['ref_url'] }}\" target=\"_blank\"\r\n                                    rel=\"noopener\">\r\n                                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\r\n                                        stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\r\n                                        <path d=\"M10 13a5 5 0 0 0 7.1 0l3-3a5 5 0 0 0-7.1-7.1L11 4.8\"><\/path>\r\n                                        <path d=\"M14 11a5 5 0 0 0-7.1 0l-3 3a5 5 0 0 0 7.1 7.1L12 19.2\"><\/path>\r\n                                    <\/svg>\r\n                                    {{ t('tq.ref_link') }}\r\n                                <\/a>\r\n                            <\/div>\r\n                        @endif\r\n                    <\/section>\r\n                @endif\r\n            <\/article>\r\n        @else\r\n            @if ($tndTab === 'tawaran')\r\n                {{-- ---------- TAB: TAWARAN TENDER & SEBUTHARGA ---------- --}}\r\n                <div class=\"tender__types\" role=\"group\" aria-label=\"{{ t('tq.aria_type_filter') }}\">\r\n                    <a class=\"tender__type {{ $tndType === '' ? 'is-active' : '' }}\"\r\n                        href=\"{{ $tndUrl(['jenis' => null]) }}\">{{ t('tq.all') }}<\/a>\r\n                    <a class=\"tender__type {{ $tndType === 'TENDER' ? 'is-active' : '' }}\"\r\n                        href=\"{{ $tndUrl(['jenis' => 'TENDER']) }}\">{{ $tndTypeLabel['TENDER'] }}<\/a>\r\n                    <a class=\"tender__type {{ $tndType === 'SEBUT_HARGA' ? 'is-active' : '' }}\"\r\n                        href=\"{{ $tndUrl(['jenis' => 'SEBUT_HARGA']) }}\">{{ $tndTypeLabel['SEBUT_HARGA'] }}<\/a>\r\n                <\/div>\r\n\r\n                <p class=\"tender__summary\">\r\n                    <strong>{{ count($tndOffers) }}<\/strong> {{ t('tq.offers_shown') }}\r\n                    @if ($tndOpenCnt > 0)\r\n                        <span class=\"tender__chip\">{{ $tndOpenCnt }} {{ t('tq.open_now') }}<\/span>\r\n                    @endif\r\n                    @if ($tndType !== '')\r\n                        <span class=\"tender__chip\">{{ t('tq.filter_type') }} {{ $tndTypeLabel[$tndType] }}<\/span>\r\n                    @endif\r\n                <\/p>\r\n\r\n                <p class=\"tender__hint\">{{ t('tq.table_hint') }}<\/p>\r\n\r\n                <div class=\"tender__table-wrap\">\r\n                    <table class=\"tender__table\">\r\n                        <thead>\r\n                            <tr>\r\n                                <th scope=\"col\">\r\n                                    {{ $tndType === 'SEBUT_HARGA' ? t('tq.col_quotation_no') : ($tndType === 'TENDER' ? t('tq.col_tender_no') : t('tq.col_tender_quotation_no')) }}\r\n                                <\/th>\r\n                                <th scope=\"col\">{{ t('tq.col_title') }}<\/th>\r\n                                <th scope=\"col\">{{ t('tq.col_start_date') }}<\/th>\r\n                                <th scope=\"col\">{{ t('tq.col_due_date') }}<\/th>\r\n                                <th scope=\"col\">{{ t('tq.col_eprocurement') }}<\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n                        <tbody>\r\n                            @forelse ($tndOffersPage['rows'] as $tndOffer)\r\n                                <tr>\r\n                                    <td class=\"tender__nowrap\">\r\n                                        <a class=\"tender__code\"\r\n                                            href=\"{{ $tndUrl(['id' => $tndOffer['id']]) }}\">{{ $tndOffer['code'] }}<\/a>\r\n\r\n                                        @if ($tndType === '')\r\n                                            <div class=\"tender__badges\">\r\n                                                <span\r\n                                                    class=\"tender__badge tender__badge--type\">{{ $tndTypeLabel[$tndOffer['type']] ?? $tndOffer['type'] }}<\/span>\r\n                                            <\/div>\r\n                                        @endif\r\n                                    <\/td>\r\n\r\n                                    <td>\r\n                                        <p class=\"tender__title\">\r\n                                            <a\r\n                                                href=\"{{ $tndUrl(['id' => $tndOffer['id']]) }}\">{{ $tndOffer['title'] }}<\/a>\r\n                                        <\/p>\r\n                                    <\/td>\r\n\r\n                                    <td class=\"tender__date\">\r\n                                        {{ $tndOffer['open_date'] ? $tndDate($tndOffer['open_date']) : '—' }}\r\n                                    <\/td>\r\n\r\n                                    <td class=\"tender__date\">\r\n                                        {{ $tndOffer['close_date'] ? $tndDate($tndOffer['close_date']) : '—' }}\r\n                                    <\/td>\r\n\r\n                                    <td class=\"tender__nowrap\">\r\n                                        @if ($tndOffer['ref_url'] !== '')\r\n                                            <a class=\"tender__file\" href=\"{{ $tndOffer['ref_url'] }}\" target=\"_blank\"\r\n                                                rel=\"noopener\">\r\n                                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n                                                    stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n                                                    aria-hidden=\"true\">\r\n                                                    <path d=\"M10 13a5 5 0 0 0 7.1 0l3-3a5 5 0 0 0-7.1-7.1L11 4.8\"><\/path>\r\n                                                    <path d=\"M14 11a5 5 0 0 0-7.1 0l-3 3a5 5 0 0 0 7.1 7.1L12 19.2\"><\/path>\r\n                                                <\/svg>\r\n                                                {{ t('tq.eprocurement') }}\r\n                                            <\/a>\r\n                                        @else\r\n                                            <span class=\"tender__muted\">—<\/span>\r\n                                        @endif\r\n                                    <\/td>\r\n                                <\/tr>\r\n                            @empty\r\n                                <tr class=\"tender__empty-row\">\r\n                                    <td colspan=\"5\">\r\n                                        @if ($tndType !== '')\r\n                                            {{ str_replace(':type', $tndTypeLabel[$tndType], t('tq.empty_offers_type')) }}\r\n                                            <a\r\n                                                href=\"{{ $tndUrl(['jenis' => null, 'page' => '']) }}\">{{ t('tq.show_all') }}<\/a>.\r\n                                        @else\r\n                                            {{ t('tq.empty_offers') }}\r\n                                        @endif\r\n                                    <\/td>\r\n                                <\/tr>\r\n                            @endforelse\r\n                        <\/tbody>\r\n                    <\/table>\r\n                <\/div>\r\n\r\n                @if ($tndOffersPage['total'] > 0)\r\n                    <nav class=\"tender__pager\" aria-label=\"{{ t('tq.aria_pagination') }}\">\r\n                        <a class=\"tender__pg{{ $tndOffersPage['page'] <= 1 ? ' is-disabled' : '' }}\"\r\n                            href=\"{{ $tndOffersPage['page'] <= 1 ? $tndUrl(['page' => '']) : $tndUrl(['page' => $tndOffersPage['page'] - 1]) }}\"\r\n                            @if ($tndOffersPage['page'] <= 1) aria-disabled=\"true\" tabindex=\"-1\" @endif>\r\n                            &lsaquo; {{ t('tq.prev') }}\r\n                        <\/a>\r\n\r\n                        @for ($tndP = 1; $tndP <= $tndOffersPage['last']; $tndP++)\r\n                            <a class=\"tender__pg{{ $tndP === $tndOffersPage['page'] ? ' is-active' : '' }}\"\r\n                                href=\"{{ $tndP === 1 ? $tndUrl(['page' => '']) : $tndUrl(['page' => $tndP]) }}\"\r\n                                @if ($tndP === $tndOffersPage['page']) aria-current=\"page\" @endif>{{ $tndP }}<\/a>\r\n                        @endfor\r\n\r\n                        <a class=\"tender__pg{{ $tndOffersPage['page'] >= $tndOffersPage['last'] ? ' is-disabled' : '' }}\"\r\n                            href=\"{{ $tndOffersPage['page'] >= $tndOffersPage['last'] ? $tndUrl(['page' => $tndOffersPage['last']]) : $tndUrl(['page' => $tndOffersPage['page'] + 1]) }}\"\r\n                            @if ($tndOffersPage['page'] >= $tndOffersPage['last']) aria-disabled=\"true\" tabindex=\"-1\" @endif>\r\n                            {{ t('tq.next') }} &rsaquo;\r\n                        <\/a>\r\n\r\n                        <span class=\"tender__pg-info\">{{ t('tq.page_of') }} {{ $tndOffersPage['page'] }}\/{{ $tndOffersPage['last'] }}<\/span>\r\n                    <\/nav>\r\n                @endif\r\n            @else\r\n                {{-- ---------- TAB: KEPUTUSAN TENDER \/ SEBUT HARGA ---------- --}}\r\n                @php\r\n                    $tndIsTenderTab = $tndTab === 'keputusan-tender';\r\n                    $tndResultRows  = $tndIsTenderTab ? $tndResultTender : $tndResultQuotation;\r\n                    $tndResultType  = mb_strtolower($tndTypeLabel[$tndIsTenderTab ? 'TENDER' : 'SEBUT_HARGA']);\r\n                @endphp\r\n\r\n                <p class=\"tender__summary\">\r\n                    <strong>{{ count($tndResultRows) }}<\/strong>\r\n                    {{ str_replace(':type', $tndResultType, t('tq.results_concluded')) }}\r\n                <\/p>\r\n\r\n                <p class=\"tender__hint\">{{ t('tq.table_hint') }}<\/p>\r\n\r\n                <div class=\"tender__table-wrap\">\r\n                    <table class=\"tender__table\">\r\n                        <thead>\r\n                            <tr>\r\n                                <th scope=\"col\">{{ t('tq.col_year') }}<\/th>\r\n                                <th scope=\"col\">{{ $tndIsTenderTab ? t('tq.col_tender_no') : t('tq.col_quotation_no') }}<\/th>\r\n                                <th scope=\"col\">{{ $tndIsTenderTab ? t('tq.col_tender_title') : t('tq.col_quotation_title') }}<\/th>\r\n                                <th scope=\"col\">{{ t('tq.col_info_link') }}<\/th>\r\n                            <\/tr>\r\n                        <\/thead>\r\n                        <tbody>\r\n                            @forelse ($tndResultPage['rows'] as $tndResult)\r\n                                <tr>\r\n                                    <td class=\"tender__nowrap\">{{ $tndResult['close_date'] ? substr((string) $tndResult['close_date'], 0, 4) : '—' }}\r\n                                    <\/td>\r\n\r\n                                    <td class=\"tender__nowrap\">\r\n                                        <a class=\"tender__code\"\r\n                                            href=\"{{ $tndUrl(['id' => $tndResult['id']]) }}\">{{ $tndResult['code'] }}<\/a>\r\n                                    <\/td>\r\n\r\n                                    <td>\r\n                                        <p class=\"tender__title\">\r\n                                            <a\r\n                                                href=\"{{ $tndUrl(['id' => $tndResult['id']]) }}\">{{ $tndResult['title'] }}<\/a>\r\n                                        <\/p>\r\n                                    <\/td>\r\n\r\n                                    <td class=\"tender__nowrap\">\r\n                                        @if ($tndResult['result_doc'] !== '')\r\n                                            <a class=\"tender__file tender__file--result\"\r\n                                                href=\"{{ $tndResult['result_doc'] }}\" target=\"_blank\" rel=\"noopener\">\r\n                                                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\r\n                                                    stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\r\n                                                    aria-hidden=\"true\">\r\n                                                    <path d=\"M12 3v12M7 10l5 5 5-5M5 21h14\"><\/path>\r\n                                                <\/svg>\r\n                                                {{ t('tq.download') }}\r\n                                            <\/a>\r\n                                        @else\r\n                                            <span class=\"tender__muted\">—<\/span>\r\n                                        @endif\r\n                                    <\/td>\r\n                                <\/tr>\r\n                            @empty\r\n                                <tr class=\"tender__empty-row\">\r\n                                    <td colspan=\"4\">\r\n                                        {{ str_replace(':type', $tndResultType, t('tq.empty_results')) }}\r\n                                    <\/td>\r\n                                <\/tr>\r\n                            @endforelse\r\n                        <\/tbody>\r\n                    <\/table>\r\n                <\/div>\r\n\r\n                @if ($tndResultPage['total'] > 0)\r\n                    <nav class=\"tender__pager\" aria-label=\"{{ t('tq.aria_pagination') }}\">\r\n                        <a class=\"tender__pg{{ $tndResultPage['page'] <= 1 ? ' is-disabled' : '' }}\"\r\n                            href=\"{{ $tndResultPage['page'] <= 1 ? $tndUrl(['page' => '']) : $tndUrl(['page' => $tndResultPage['page'] - 1]) }}\"\r\n                            @if ($tndResultPage['page'] <= 1) aria-disabled=\"true\" tabindex=\"-1\" @endif>\r\n                            &lsaquo; {{ t('tq.prev') }}\r\n                        <\/a>\r\n\r\n                        @for ($tndP = 1; $tndP <= $tndResultPage['last']; $tndP++)\r\n                            <a class=\"tender__pg{{ $tndP === $tndResultPage['page'] ? ' is-active' : '' }}\"\r\n                                href=\"{{ $tndP === 1 ? $tndUrl(['page' => '']) : $tndUrl(['page' => $tndP]) }}\"\r\n                                @if ($tndP === $tndResultPage['page']) aria-current=\"page\" @endif>{{ $tndP }}<\/a>\r\n                        @endfor\r\n\r\n                        <a class=\"tender__pg{{ $tndResultPage['page'] >= $tndResultPage['last'] ? ' is-disabled' : '' }}\"\r\n                            href=\"{{ $tndResultPage['page'] >= $tndResultPage['last'] ? $tndUrl(['page' => $tndResultPage['last']]) : $tndUrl(['page' => $tndResultPage['page'] + 1]) }}\"\r\n                            @if ($tndResultPage['page'] >= $tndResultPage['last']) aria-disabled=\"true\" tabindex=\"-1\" @endif>\r\n                            {{ t('tq.next') }} &rsaquo;\r\n                        <\/a>\r\n\r\n                        <span class=\"tender__pg-info\">{{ t('tq.page_of') }} {{ $tndResultPage['page'] }}\/{{ $tndResultPage['last'] }}<\/span>\r\n                    <\/nav>\r\n                @endif\r\n            @endif\r\n        @endif\r\n\r\n    <\/div>\r\n<\/section>\r\n"
}