@revenuecat/purchases-ui-js
Version:
Web components for Paywalls. Powered by RevenueCat
32 lines (31 loc) • 1.33 kB
JavaScript
import { setPaywallContext } from "../stores/paywall";
import { readable, writable } from "svelte/store";
export function paywallDecorator(walletButtonRender, selectedPackageId) {
return (Story) => {
const selectedPackageIdWritable = writable(selectedPackageId);
selectedPackageIdWritable.subscribe((packageId) => {
if (packageId !== undefined) {
//window.alert(`Selected package ${packageId}`);
}
});
const emptyUiConfig = {
app: {
fonts: {},
},
};
setPaywallContext({
defaultPackageId: selectedPackageId,
selectedPackageId: selectedPackageIdWritable,
variablesPerPackage: readable(undefined),
baseVariables: readable(undefined),
infoPerPackage: readable(undefined),
onPurchase: () => window.alert("Purchase clicked"),
emitComponentInteraction: (data) => window.alert(`Interaction: ${JSON.stringify(data, undefined, 2)}`),
onButtonAction: (action, actionId) => window.alert(`Button clicked: ${JSON.stringify({ action, actionId }, undefined, 2)}`),
hideBackButtons: false,
walletButtonRender,
uiConfig: emptyUiConfig,
});
return Story();
};
}