Seafarer Support | Memorial | Help Center

(function () { 'use strict'; // Only run on the KB root page if (!/\/kb\/seafarer-support\/?$/.test(window.location.pathname)) return; var CATEGORY_ID = '233149000000358041'; var MAX_WAIT_MS = 10000; var POLL_INTERVAL_MS = 200; var elapsed = 0; function getStore() { if (window.reduxStore) return window.reduxStore; if (window._store) return window._store; var all = document.querySelectorAll('*'); for (var i = 0; i < all.length; i++) { var keys = Object.keys(all[i]); for (var j = 0; j < keys.length; j++) { if (keys[j].indexOf('__reactContainer') === 0) { try { return all[i][keys[j]].child.memoizedProps.store; } catch (e) {} } } } return null; } function getPortalId() { var resources = window.performance.getEntriesByType('resource'); for (var i = 0; i < resources.length; i++) { var m = resources[i].name.match(/portalId=([^&]+)/); if (m) return m[1]; } return null; } var timer = setInterval(function () { elapsed += POLL_INTERVAL_MS; if (elapsed > MAX_WAIT_MS) { clearInterval(timer); return; } var store = getStore(); if (!store) return; var kb = store.getState().KBUIState; if (!kb || !kb.subCategoryWithArticles || kb.subCategoryWithArticles.length === 0) return; if (!kb.isNext) { clearInterval(timer); return; } clearInterval(timer); var portalId = getPortalId(); if (!portalId) return; var base = window.location.origin + '/portal/api/kbCategory/' + CATEGORY_ID + '/articles?portalId=' + portalId; Promise.all([ fetch(base + '&from=1&limit=9').then(function (r) { return r.json(); }), fetch(base + '&from=10&limit=9').then(function (r) { return r.json(); }) ]).then(function (results) { var sections = Object.values(results[0].data).concat(Object.values(results[1].data)); if (!sections.length) return; store.dispatch({ type: 'KB_SUB_CATEGORIES_WITH_ARTICLES_BY_CATEGORY_SUCCESS', data: { list: sections, categoryId: CATEGORY_ID, isNext: false, page: 1 } }); }).catch(function () {}); }, POLL_INTERVAL_MS); })();