{"id":7282,"date":"2025-10-07T14:29:16","date_gmt":"2025-10-07T07:29:16","guid":{"rendered":"https:\/\/labamu.co.id\/career\/"},"modified":"2026-02-11T10:24:12","modified_gmt":"2026-02-11T03:24:12","slug":"career","status":"publish","type":"page","link":"https:\/\/labamu.co.id\/en\/career\/","title":{"rendered":"Career"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7282\" class=\"elementor elementor-7282 elementor-3836\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8eebc59 e-flex e-con-boxed e-con e-parent\" data-id=\"8eebc59\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-acab2a2 e-grid e-con-full e-con e-child\" data-id=\"acab2a2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f7210ba e-con-full e-flex e-con e-child\" data-id=\"f7210ba\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a3a60df elementor-widget elementor-widget-heading\" data-id=\"a3a60df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Join Our Team!<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e039d56 elementor-widget elementor-widget-text-editor\" data-id=\"e039d56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<div id=\"comp-mfc8mlp2\" class=\"PiVxGu MDrwHQ comp-mfc8mlp2 wixui-box\" dir=\"ltr\" role=\"\"><div class=\"comp-mfc8mlp2-container\" data-testid=\"responsive-container-content\"><div id=\"comp-mfc8mlqh\" class=\"PiVxGu MDrwHQ comp-mfc8mlqh-container comp-mfc8mlqh wixui-box\" dir=\"ltr\" role=\"\"><div id=\"comp-mfc8mlxl\" class=\"Z_l5lU ku3DBC zQ9jDz qvSjx3 Vq6kJx comp-mfc8mlxl wixui-rich-text\" data-testid=\"richTextElement\"><p class=\"font_8 wixui-rich-text__text\">Join a team committed to delivering innovation and top quality at every step.<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7ca7ef1 e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"7ca7ef1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInLeft&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fd4db36 elementor-widget elementor-widget-html\" data-id=\"fd4db36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\/* Wrapper *\/\n    .post-grid-wrapper {\n      margin: 0 auto;\n      padding: 20px;\n      font-family: sans-serif;\n    }\n    \n    \/* Filter *\/\n    .post-filter {\n      margin-bottom: 20px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 20px;\n    }\n    \n    .filter-left, .filter-right {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n    }\n    \n    .filter-select {\n      padding: 8px 12px;\n      border: 1px solid #ccc;\n      border-radius: 8px;\n    }\n    \n    .search-wrapper {\n      position: relative;\n      display: inline-flex;\n      align-items: center;\n      width: 100%;\n      max-width: 280px;\n    }\n    \n    .search-wrapper input {\n      width: 100%;\n      padding: 10px 38px 10px 14px;\n      border-radius: 8px;\n      border: 1px solid #dcdcdc;\n      font-size: 0.95rem;\n      background: #fff;\n      transition: all 0.25s ease;\n    }\n    \n    .search-wrapper .search-icon {\n      position: absolute;\n      right: 12px;\n      top: 50%;\n      transform: translateY(-50%);\n      color: #777;\n    }\n    \n    \/* Accordion Styles *\/\n    .accordion {\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n    }\n    \n    .accordion-item {\n      border: 1px solid #ddd;\n      border-radius: 10px;\n      overflow: hidden;\n      background: #fff;\n      transition: box-shadow 0.2s ease;\n    }\n    \n    .accordion-item:hover {\n      box-shadow: 0 3px 10px rgba(0,0,0,0.1);\n    }\n    \n    .accordion-header {\n      padding: 15px 18px;\n      font-weight: 600;\n      color: #111;\n      cursor: pointer;\n      background: #f9f9f9;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n    \n    .accordion-header span {\n      font-size: 1.2rem;\n      transition: transform 0.2s ease;\n    }\n    \n    .accordion-item.active .accordion-header span {\n      transform: rotate(90deg);\n    }\n    \n    \/* Body (Image + Text side by side) *\/\n    .accordion-body {\n        display: none;\n        padding: 18px 20px;\n        border-top: 1px solid #eee;\n    }\n\n    \n    .accordion-item.active .accordion-body {\n      display: block;\n    }\n    \n    .accordion-content {\n  display: flex;\n  flex-direction: row;\n  align-items: flex-start;\n  gap: 20px;\n  flex-wrap: wrap;\n}\n\n.accordion-thumb {\n  flex: 0 0 200px;\n  border-radius: 8px;\n  overflow: hidden;\n  background: #f2f2f2;\n}\n\n.accordion-thumb img {\n  width: 100%;\n  height: 140px;\n  object-fit: cover;\n  display: block;\n}\n\n.accordion-text {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n}\n\n.accordion-text p {\n  font-size: 0.95rem;\n  color: #444;\n  line-height: 1.5;\n  margin-bottom: 12px;\n}\n\n.readmore a {\n  display: inline-block;\n  padding: 8px 16px;\n  border: 1px solid #006bff;\n  border-radius: 6px;\n  text-decoration: none;\n  color: #006bff;\n  font-weight: 500;\n  transition: background 0.2s, color 0.2s;\n}\n\n.readmore a:hover {\n  background: #006bff;\n  color: #fff;\n}\n\n\/* Responsive *\/\n@media (max-width: 600px) {\n  .accordion-content {\n    flex-direction: column;\n  }\n  .accordion-thumb img {\n    height: 180px;\n  }\n}\n    \n    \/* Pagination *\/\n    .pagination {\n      margin-top: 20px;\n      display: flex;\n      justify-content: center;\n      flex-wrap: wrap;\n      gap: 8px;\n    }\n    \n    .pagination button {\n      padding: 8px 14px;\n      border: 1px solid #ccc;\n      background: #fff;\n      color: #000;\n      border-radius: 6px;\n      cursor: pointer;\n    }\n    \n    .pagination button.active {\n      background: #006bff;\n      color: #fff;\n      border-color: #006bff;\n    }\n    \n    .loading {\n      text-align: center;\n      padding: 20px;\n      color: #555;\n    }\n    \n    @keyframes fadeIn {\n      from { opacity: 0; transform: translateY(-5px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n    <\/style><div class=\"post-grid-wrapper\"><!-- Filter --><div class=\"post-filter\"><div class=\"filter-left\"><label for=\"categoryFilter\">Category:<\/label><select id=\"categoryFilter\" class=\"filter-select\"><option value=\"\">All<\/option><\/select><\/div><div class=\"filter-right\"><div class=\"search-wrapper\"><input type=\"text\" id=\"searchBox\" placeholder=\"Search...\" \/><span class=\"search-icon\">\ud83d\udd0d<\/span><\/div><\/div><\/div><!-- Accordion Container --><div id=\"postGrid\"><div class=\"loading\">Memuat...<\/div><\/div><div id=\"pagination\" class=\"pagination\"><\/div><\/div><script>(function(){\n      const gridContainer = document.getElementById(\"postGrid\");\n      const filterSelect = document.getElementById(\"categoryFilter\");\n      const searchBox = document.getElementById(\"searchBox\");\n      const pagination = document.getElementById(\"pagination\");\n    \n      const baseUrl = \"\/wp-json\/wp\/v2\";\n      const postsPerPage = 6;\n      let currentPage = 1;\n      let totalPages = 1;\n    \n      \/\/ Load categories\n      function loadCategories(){\n        fetch(`${baseUrl}\/categories?parent=96&per_page=50&lang=en`)\n          .then(res => res.json())\n          .then(cats => {\n            cats.forEach(cat => {\n              if (cat.count === 0) return;\n              const opt = document.createElement(\"option\");\n              opt.value = cat.id;\n              opt.textContent = cat.name;\n              filterSelect.appendChild(opt);\n            });\n          });\n      }\n    \n      \/\/ Pagination\n      function renderPagination(){\n        pagination.innerHTML = \"\";\n        if (totalPages <= 1) return;\n    \n        const prevBtn = document.createElement(\"button\");\n        prevBtn.textContent = \"\u00ab Prev\";\n        prevBtn.disabled = currentPage === 1;\n        prevBtn.onclick = () => { if (currentPage > 1) loadPosts(filterSelect.value, searchBox.value.trim(), currentPage-1); };\n        pagination.appendChild(prevBtn);\n    \n        for (let i=1; i<=totalPages; i++){\n          const btn = document.createElement(\"button\");\n          btn.textContent = i;\n          if (i === currentPage) btn.classList.add(\"active\");\n          btn.onclick = () => loadPosts(filterSelect.value, searchBox.value.trim(), i);\n          pagination.appendChild(btn);\n        }\n    \n        const nextBtn = document.createElement(\"button\");\n        nextBtn.textContent = \"Next \u00bb\";\n        nextBtn.disabled = currentPage === totalPages;\n        nextBtn.onclick = () => { if (currentPage < totalPages) loadPosts(filterSelect.value, searchBox.value.trim(), currentPage+1); };\n        pagination.appendChild(nextBtn);\n      }\n    \n      \/\/ Accordion toggle\n      function toggleAccordion(item) {\n        item.classList.toggle(\"active\");\n      }\n    \n      \/\/ Load posts\n      async function loadPosts(catId = \"\", searchTerm = \"\", page = 1) {\n        gridContainer.innerHTML = `<div class=\"loading\">Loading...<\/div>`;\n        currentPage = page;\n    \n        let url = `${baseUrl}\/career?lang=en&per_page=${postsPerPage}&page=${page}&_embed`;\n\n        if (catId) {\n          url += `&categories=${catId}`;\n        } else {\n          const resCats = await fetch(`${baseUrl}\/categories?parent=96&per_page=50&lang=en`);\n          const cats = await resCats.json();\n          const ids = cats.map(c => c.id).join(\",\");\n          if (ids) url += `&categories=${ids}`;\n        }\n        if (searchTerm) url += `&search=${encodeURIComponent(searchTerm)}`;\n    \n        try {\n          const res = await fetch(url);\n          if (!res.ok) throw new Error(\"Failed to Get Data\");\n          const posts = await res.json();\n          totalPages = parseInt(res.headers.get(\"X-WP-TotalPages\")) || 1;\n    \n          if (!posts.length) {\n            gridContainer.innerHTML = '<div class=\"error\">Tidak ada lowongan yang ditemukan.<\/div>';\n            pagination.innerHTML = \"\";\n            return;\n          }\n    \n          const accordion = document.createElement(\"div\");\n          accordion.className = \"accordion\";\n    \n          posts.forEach(post => {\n            let thumb = \"\";\n            try {\n              const fm = post._embedded[\"wp:featuredmedia\"][0];\n              thumb = fm?.source_url || \"\";\n              const acf = post.acf || {};\n              description = acf.description || \"\";\n            } catch (e) {}\n    \n            const item = document.createElement(\"div\");\n            item.className = \"accordion-item\";\n            item.innerHTML = `\n              <div class=\"accordion-header\">${post.title.rendered}\n                <span>\u203a<\/span><\/div><div class=\"accordion-body\"><div class=\"accordion-content\"><div class=\"accordion-thumb\">${thumb ? `<img decoding=\"async\" src=\"${thumb}\" alt=\"${post.title.rendered}\">` : `<div style=\"height:140px;background:#eee;\"><\/div>`}\n                    <\/div><div class=\"accordion-text\"><p>${description}<\/p><div class=\"readmore\"><a href=\"${post.link}\">Read More<\/a><\/div><\/div><\/div><\/div>`;\n            item.querySelector(\".accordion-header\").addEventListener(\"click\", () => toggleAccordion(item));\n            accordion.appendChild(item);\n          });\n    \n          gridContainer.innerHTML = \"\";\n          gridContainer.appendChild(accordion);\n          renderPagination();\n    \n        } catch (err) {\n          gridContainer.innerHTML = '<div class=\"error\">Error<\/div>';\n          pagination.innerHTML = \"\";\n        }\n      }\n    \n      \/\/ Init\n      loadCategories();\n      loadPosts();\n    \n      filterSelect.addEventListener(\"change\", () => {\n        loadPosts(filterSelect.value, searchBox.value.trim(), 1);\n      });\n    \n      let typingTimer;\n      searchBox.addEventListener(\"input\", () => {\n        clearTimeout(typingTimer);\n        typingTimer = setTimeout(() => {\n          loadPosts(filterSelect.value, searchBox.value.trim(), 1);\n        }, 500);\n      });\n    })();\n    <\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Join Our Team! Join a team committed to delivering innovation and top quality at every step. Category:All\ud83d\udd0dMemuat&#8230;<\/p>\n","protected":false},"author":1,"featured_media":13220,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","om_disable_all_campaigns":false,"footnotes":""},"class_list":["post-7282","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/pages\/7282","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/comments?post=7282"}],"version-history":[{"count":10,"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/pages\/7282\/revisions"}],"predecessor-version":[{"id":16070,"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/pages\/7282\/revisions\/16070"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/media\/13220"}],"wp:attachment":[{"href":"https:\/\/labamu.co.id\/en\/wp-json\/wp\/v2\/media?parent=7282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}