const EXTENSION_ID = "amknoiejhlmhancpahfcfcfhllgkpbld" // Check if the Chrome Extension is present // The Chrome extension injects an empty span to help detection. // Also check for the presence of window.chrome object to confirm smooth operations export const hasChromeExtensionInstalled = () => document.getElementById("chromePWExtensionDetect") !== null const chromeWithoutProxy = (req, _store) => new Promise((resolve, reject) => { chrome.runtime.sendMessage( EXTENSION_ID, { messageType: "send-req", data: { config: req, }, }, ({ data }) => { if (data.error) { reject(data.error) } else { resolve(data.response) } } ) }) const chromeWithProxy = (req, { state }) => new Promise((resolve, reject) => { chrome.runtime.sendMessage( EXTENSION_ID, { messageType: "send-req", data: { config: { method: "post", url: state.postwoman.settings.PROXY_URL || "https://postwoman.apollotv.xyz/", data: req, }, }, }, ({ data }) => { if (data.error) { reject(error) } else { resolve(data.response.data) } } ) }) const chromeStrategy = (req, store) => { if (store.state.postwoman.settings.PROXY_ENABLED) { return chromeWithProxy(req, store) } else { return chromeWithoutProxy(req, store) } } export default chromeStrategy