UNPKG

@shopify/shopify-app-remix

Version:

Shopify Remix - to simplify the building of Shopify Apps with Remix

26 lines (22 loc) 1.13 kB
'use strict'; var appBridgeUrl = require('../../helpers/app-bridge-url.js'); var addResponseHeaders = require('../../helpers/add-response-headers.js'); var validateRedirectUrl = require('./validate-redirect-url.js'); function renderAppBridge({ config }, request, redirectTo) { let redirectToScript = ''; if (redirectTo) { const destination = validateRedirectUrl.sanitizeRedirectUrl(config.appUrl, redirectTo.url); const target = redirectTo.target ?? '_top'; redirectToScript = `<script>window.open(${JSON.stringify(destination.toString())}, ${JSON.stringify(target)})</script>`; } const responseHeaders = new Headers({ 'content-type': 'text/html;charset=utf-8', }); addResponseHeaders.addDocumentResponseHeaders(responseHeaders, config.isEmbeddedApp, new URL(request.url).searchParams.get('shop')); throw new Response(` <script data-api-key="${config.apiKey}" src="${appBridgeUrl.appBridgeUrl()}"></script> ${redirectToScript} `, { headers: responseHeaders }); } exports.renderAppBridge = renderAppBridge; //# sourceMappingURL=render-app-bridge.js.map