const subPage = require("./pages/subscription"); const successPage = require("./pages/success"); const cancelPage = require("./pages/cancel"); async function register({ registerHook, peertubeHelpers, registerClientRoute, }) { /** * Add link admin page */ registerHook({ target: "action:router.navigation-end", handler: async (params) => { if (params.path.startsWith("/my-account")) { if (document.getElementById("subscription-link")) return; let href = "/p/ncd-my-subscription"; // Get menu container const menuContainer = document.getElementsByClassName("sub-menu")[0]; // Create link const content = ` ${await peertubeHelpers.translate("NCD Storage")} `; // Create node for it const nodeLink = document.createElement("div"); nodeLink.innerHTML = content.trim(); // Insert to menu container menuContainer.appendChild(nodeLink.firstChild); } }, }); // Register routes registerClientRoute({ route: "ncd-my-subscription", onMount: ({ rootEl }) => { subPage.showPage({rootEl, peertubeHelpers}); }, }); registerClientRoute({ route: "ncd-subscription-success", onMount: ({ rootEl }) => { successPage.showPage({rootEl, peertubeHelpers}); }, }); registerClientRoute({ route: "ncd-subscription-cancel", onMount: ({ rootEl }) => { cancelPage.showPage({rootEl, peertubeHelpers}); }, }); } export { register };