UNPKG

autumn-js

Version:
100 lines (96 loc) 2.52 kB
"use client"; import { useDialog } from "./chunk-RFSQBGLO.mjs"; import { useCustomerBase } from "./chunk-Q6IDGKH3.mjs"; // src/libraries/react/BaseAutumnProvider.tsx import { useRef, useState } from "react"; import { jsx, jsxs } from "react/jsx-runtime"; function BaseAutumnProvider({ client, children, AutumnContext }) { const [components, setComponents] = useState({}); const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog); const [ productChangeProps, setProductChangeProps, productChangeOpen, setProductChangeOpen ] = useDialog(components.productChangeDialog); useCustomerBase({ client, params: { errorOnNotFound: false } }); const paywallRef = useRef(null); const [refresh, setRefresh] = useState(0); return /* @__PURE__ */ jsxs( AutumnContext.Provider, { value: { initialized: true, client, paywallDialog: { props: paywallProps, setProps: setPaywallProps, open: paywallOpen, setOpen: setPaywallOpen, setComponent: (component) => { setComponents({ ...components, paywallDialog: component }); } }, attachDialog: { props: productChangeProps, setProps: setProductChangeProps, open: productChangeOpen, setOpen: setProductChangeOpen, setComponent: (component) => { setComponents({ ...components, productChangeDialog: component }); } }, paywallRef, refresh, setRefresh }, children: [ paywallRef.current && /* @__PURE__ */ jsx( paywallRef.current.component, { open: paywallRef.current.open, setOpen: paywallRef.current.setOpen, ...paywallRef.current.props } ), components.paywallDialog && /* @__PURE__ */ jsx( components.paywallDialog, { open: paywallOpen, setOpen: setPaywallOpen, ...paywallProps } ), components.productChangeDialog && /* @__PURE__ */ jsx( components.productChangeDialog, { open: productChangeOpen, setOpen: setProductChangeOpen, ...productChangeProps } ), children ] } ); } export { BaseAutumnProvider };