@moneydevkit/nextjs 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Checkout.d.ts +1 -7
- package/dist/components/Checkout.js +47 -58
- package/dist/components/Checkout.js.map +1 -1
- package/dist/components/checkout/ExpiredCheckout.d.ts +2 -1
- package/dist/components/checkout/ExpiredCheckout.js +2 -2
- package/dist/components/checkout/ExpiredCheckout.js.map +1 -1
- package/dist/components/checkout/PaymentReceivedCheckout.d.ts +1 -1
- package/dist/components/checkout/PaymentReceivedCheckout.js +1 -6
- package/dist/components/checkout/PaymentReceivedCheckout.js.map +1 -1
- package/dist/components/checkout/PendingPaymentCheckout.js +2 -8
- package/dist/components/checkout/PendingPaymentCheckout.js.map +1 -1
- package/dist/hooks/useCheckout.d.ts +1 -15
- package/dist/hooks/useCheckout.js +6 -21
- package/dist/hooks/useCheckout.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/next-plugin.d.ts +0 -6
- package/dist/next-plugin.js +2 -19
- package/dist/next-plugin.js.map +1 -1
- package/dist/server/actions.d.ts +5 -2
- package/dist/server/actions.js +26 -19
- package/dist/server/actions.js.map +1 -1
- package/dist/server/handlers/balance.js +3 -3
- package/dist/server/handlers/balance.js.map +1 -1
- package/dist/server/handlers/list_channels.d.ts +1 -0
- package/dist/server/handlers/list_channels.js +15 -0
- package/dist/server/handlers/list_channels.js.map +1 -0
- package/dist/server/handlers/pay_bolt_11.d.ts +1 -0
- package/dist/server/handlers/pay_bolt_11.js +19 -0
- package/dist/server/handlers/pay_bolt_11.js.map +1 -0
- package/dist/server/handlers/pay_bolt_12.js +3 -3
- package/dist/server/handlers/pay_bolt_12.js.map +1 -1
- package/dist/server/handlers/pay_ln_url.d.ts +1 -0
- package/dist/server/handlers/pay_ln_url.js +25 -0
- package/dist/server/handlers/pay_ln_url.js.map +1 -0
- package/dist/server/handlers/ping.js +3 -3
- package/dist/server/handlers/ping.js.map +1 -1
- package/dist/server/handlers/webhooks.js +5 -4
- package/dist/server/handlers/webhooks.js.map +1 -1
- package/dist/server/lightning-node.d.ts +43 -0
- package/dist/server/lightning-node.js +140 -0
- package/dist/server/lightning-node.js.map +1 -0
- package/dist/server/mdk-client.d.ts +3342 -0
- package/dist/server/mdk-client.js +38 -0
- package/dist/server/mdk-client.js.map +1 -0
- package/dist/server/mdk-config.d.ts +18 -0
- package/dist/server/mdk-config.js +19 -0
- package/dist/server/mdk-config.js.map +1 -0
- package/dist/server/mdk.d.ts +5 -6
- package/dist/server/mdk.js +28 -40
- package/dist/server/mdk.js.map +1 -1
- package/dist/server/money-dev-kit.d.ts +6 -3369
- package/dist/server/money-dev-kit.js +2 -164
- package/dist/server/money-dev-kit.js.map +1 -1
- package/dist/server/route.d.ts +1 -1
- package/dist/server/route.js +7 -1
- package/dist/server/route.js.map +1 -1
- package/dist/server/runtime.d.ts +2 -2
- package/dist/server/runtime.js +2 -2
- package/dist/server/runtime.js.map +1 -1
- package/dist/server/undici-dispatcher.d.ts +4 -0
- package/dist/server/undici-dispatcher.js +13 -0
- package/dist/server/undici-dispatcher.js.map +1 -0
- package/package.json +6 -5
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import type { Checkout as CheckoutType } from '@moneydevkit/api-contract';
|
|
2
1
|
import '../mdk-styles.css';
|
|
3
|
-
import { type CreateCheckoutParams } from '../server/actions';
|
|
4
2
|
export interface CheckoutProps {
|
|
5
|
-
id
|
|
6
|
-
onSuccess?: (checkout: CheckoutType) => void;
|
|
7
|
-
title?: string;
|
|
8
|
-
description?: string;
|
|
9
|
-
createParams?: CreateCheckoutParams;
|
|
3
|
+
id: string;
|
|
10
4
|
}
|
|
11
5
|
export declare function Checkout(props: CheckoutProps): import("react/jsx-runtime").JSX.Element;
|
|
12
6
|
export default Checkout;
|
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
|
-
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
5
5
|
import '../mdk-styles.css';
|
|
6
6
|
import { MdkCheckoutProvider } from '../providers';
|
|
7
|
-
import {
|
|
7
|
+
import { createCheckout, getCheckout } from '../server/actions';
|
|
8
8
|
import ExpiredCheckout from './checkout/ExpiredCheckout';
|
|
9
9
|
import PaymentReceivedCheckout from './checkout/PaymentReceivedCheckout';
|
|
10
10
|
import PendingPaymentCheckout from './checkout/PendingPaymentCheckout';
|
|
11
11
|
import UnconfirmedCheckout from './checkout/UnconfirmedCheckout';
|
|
12
12
|
const POLLING_STATUSES = new Set(['UNCONFIRMED', 'CONFIRMED', 'PENDING_PAYMENT']);
|
|
13
|
-
function CheckoutLayout({
|
|
13
|
+
function CheckoutLayout({ checkout, children }) {
|
|
14
|
+
const title = checkout?.userMetadata?.title;
|
|
15
|
+
const description = checkout?.userMetadata?.description;
|
|
14
16
|
return (_jsxs("div", { className: "w-fit mx-auto", style: { width: '380px' }, children: [(title || description) && (_jsxs("div", { className: "text-center mb-6", children: [title && (_jsx("h2", { className: "text-2xl font-semibold text-white mb-2 font-sans tracking-tight", children: title })), description && (_jsx("p", { className: "text-gray-300", children: description }))] })), _jsx("div", { className: "bg-gray-800 rounded-2xl p-6 text-white font-sans", children: children }), _jsx("div", { className: "text-center mt-6", children: _jsxs("p", { className: "text-xs text-gray-500 font-sans", children: ["Powered by", ' ', _jsx("a", { href: "https://www.moneydevkit.com", target: "_blank", rel: "noopener noreferrer", className: "text-gray-400 hover:text-white transition-colors underline decoration-gray-600 hover:decoration-white", children: "moneydevkit" })] }) })] }));
|
|
15
17
|
}
|
|
16
|
-
function CheckoutInternal({ id
|
|
17
|
-
// First, create checkout if needed (when createParams provided but no id)
|
|
18
|
-
const { data: createdCheckout, error: createError } = useQuery({
|
|
19
|
-
queryKey: ['mdk-create-checkout', createParams],
|
|
20
|
-
queryFn: () => createCheckout(createParams),
|
|
21
|
-
enabled: !id && !!createParams,
|
|
22
|
-
staleTime: Infinity, // Don't refetch creation
|
|
23
|
-
});
|
|
24
|
-
// Use the provided id or the id from the created checkout
|
|
25
|
-
const checkoutId = id || createdCheckout?.id;
|
|
18
|
+
function CheckoutInternal({ id }) {
|
|
26
19
|
const [isWindowVisible, setIsWindowVisible] = useState(() => {
|
|
27
20
|
if (typeof document === 'undefined') {
|
|
28
21
|
return true;
|
|
29
22
|
}
|
|
30
23
|
return document.visibilityState === 'visible';
|
|
31
24
|
});
|
|
25
|
+
const [isRestarting, setIsRestarting] = useState(false);
|
|
32
26
|
useEffect(() => {
|
|
33
27
|
if (typeof document === 'undefined' || typeof window === 'undefined') {
|
|
34
28
|
return;
|
|
@@ -46,11 +40,10 @@ function CheckoutInternal({ id, createParams, onSuccess, title, description }) {
|
|
|
46
40
|
window.removeEventListener('pagehide', handlePageHide);
|
|
47
41
|
};
|
|
48
42
|
}, []);
|
|
49
|
-
// Fetch the checkout and keep polling until it reaches a terminal state.
|
|
50
43
|
const { data: checkout } = useQuery({
|
|
51
|
-
queryKey: ['mdk-checkout',
|
|
52
|
-
queryFn: () => getCheckout(
|
|
53
|
-
enabled: !!
|
|
44
|
+
queryKey: ['mdk-checkout', id],
|
|
45
|
+
queryFn: () => getCheckout(id),
|
|
46
|
+
enabled: !!id,
|
|
54
47
|
refetchInterval: ({ state: { data } }) => {
|
|
55
48
|
if (!isWindowVisible) {
|
|
56
49
|
return false;
|
|
@@ -67,60 +60,56 @@ function CheckoutInternal({ id, createParams, onSuccess, title, description }) {
|
|
|
67
60
|
});
|
|
68
61
|
const paymentReceived = checkout?.status === 'PAYMENT_RECEIVED' ||
|
|
69
62
|
(checkout?.invoice?.amountSatsReceived ?? 0) > 0;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Default onSuccess behavior: redirect to successUrl or /success
|
|
73
|
-
const handleSuccess = onSuccess || (() => {
|
|
63
|
+
const handleSuccess = (() => {
|
|
64
|
+
const successUrl = checkout?.userMetadata?.successUrl;
|
|
74
65
|
window.location.href = successUrl || '/success';
|
|
75
66
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return title;
|
|
86
|
-
if (paymentReceived) {
|
|
87
|
-
return 'Payment Successful!';
|
|
88
|
-
}
|
|
89
|
-
switch (checkout.status) {
|
|
90
|
-
case 'UNCONFIRMED':
|
|
91
|
-
return 'Checkout';
|
|
92
|
-
case 'PENDING_PAYMENT':
|
|
93
|
-
return 'ImageMint';
|
|
94
|
-
case 'EXPIRED':
|
|
95
|
-
return 'Checkout Expired';
|
|
96
|
-
default:
|
|
97
|
-
return 'Checkout';
|
|
67
|
+
const handleRestart = useCallback(async () => {
|
|
68
|
+
if (!checkout)
|
|
69
|
+
return;
|
|
70
|
+
const amount = checkout.currency === 'SAT'
|
|
71
|
+
? checkout.invoiceAmountSats ?? checkout.netAmount ?? checkout.providedAmount ?? checkout.totalAmount
|
|
72
|
+
: checkout.providedAmount ?? checkout.totalAmount ?? checkout.netAmount ?? checkout.invoice?.fiatAmount;
|
|
73
|
+
if (!amount) {
|
|
74
|
+
window.location.reload();
|
|
75
|
+
return;
|
|
98
76
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
77
|
+
const checkoutPath = typeof window !== 'undefined'
|
|
78
|
+
? window.location.pathname.split('/').slice(0, -1).join('/') || '/checkout'
|
|
79
|
+
: '/checkout';
|
|
80
|
+
try {
|
|
81
|
+
setIsRestarting(true);
|
|
82
|
+
const newCheckout = await createCheckout({
|
|
83
|
+
title: checkout.userMetadata?.title || 'Checkout',
|
|
84
|
+
description: checkout.userMetadata?.description || '',
|
|
85
|
+
amount,
|
|
86
|
+
currency: checkout.currency,
|
|
87
|
+
successUrl: checkout.userMetadata?.successUrl ?? checkout.successUrl ?? undefined,
|
|
88
|
+
metadata: checkout.userMetadata ?? undefined,
|
|
89
|
+
});
|
|
90
|
+
window.location.href = `${checkoutPath}/${newCheckout.id}`;
|
|
105
91
|
}
|
|
106
|
-
|
|
107
|
-
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error('Failed to restart checkout', error);
|
|
94
|
+
setIsRestarting(false);
|
|
108
95
|
}
|
|
109
|
-
|
|
110
|
-
|
|
96
|
+
}, [checkout]);
|
|
97
|
+
if (!checkout) {
|
|
98
|
+
return (_jsx("div", { className: "flex items-center justify-center min-h-screen", children: _jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-white" }) }));
|
|
99
|
+
}
|
|
111
100
|
return (_jsx("div", { className: "flex justify-center min-h-screen p-4 pt-8 bg-gradient-to-br from-slate-900 via-gray-900 to-slate-800", children: _jsx("div", { className: "w-full max-w-md", children: (() => {
|
|
112
101
|
if (paymentReceived) {
|
|
113
|
-
return (_jsx(CheckoutLayout, {
|
|
102
|
+
return (_jsx(CheckoutLayout, { checkout: checkout, children: _jsx(PaymentReceivedCheckout, { checkout: checkout, onSuccess: handleSuccess }) }));
|
|
114
103
|
}
|
|
115
104
|
switch (checkout.status) {
|
|
116
105
|
case 'UNCONFIRMED':
|
|
117
|
-
return (_jsx(CheckoutLayout, {
|
|
106
|
+
return (_jsx(CheckoutLayout, { checkout: checkout, children: _jsx(UnconfirmedCheckout, { checkout: checkout }) }));
|
|
118
107
|
case 'CONFIRMED':
|
|
119
|
-
return (_jsx(CheckoutLayout, {
|
|
108
|
+
return (_jsx(CheckoutLayout, { checkout: checkout, children: _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "animate-spin rounded-full h-8 w-8 border-b-2 border-white mx-auto mb-4" }), _jsx("p", { className: "text-gray-300", children: "Generating invoice..." })] }) }));
|
|
120
109
|
case 'PENDING_PAYMENT':
|
|
121
|
-
return (_jsx(CheckoutLayout, {
|
|
110
|
+
return (_jsx(CheckoutLayout, { checkout: checkout, children: _jsx(PendingPaymentCheckout, { checkout: checkout }) }));
|
|
122
111
|
case 'EXPIRED':
|
|
123
|
-
return (_jsx(CheckoutLayout, {
|
|
112
|
+
return (_jsx(CheckoutLayout, { checkout: checkout, children: _jsx(ExpiredCheckout, { checkout: checkout, onRestart: handleRestart, isRestarting: isRestarting }) }));
|
|
124
113
|
default:
|
|
125
114
|
return null;
|
|
126
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/components/Checkout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/components/Checkout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ type ExpiredCheckoutType = Extract<Checkout, {
|
|
|
5
5
|
export interface ExpiredCheckoutProps {
|
|
6
6
|
checkout: ExpiredCheckoutType;
|
|
7
7
|
onRestart?: () => void;
|
|
8
|
+
isRestarting?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export default function ExpiredCheckout({ checkout, onRestart }: ExpiredCheckoutProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default function ExpiredCheckout({ checkout, onRestart, isRestarting }: ExpiredCheckoutProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
export default function ExpiredCheckout({ checkout, onRestart }) {
|
|
3
|
+
export default function ExpiredCheckout({ checkout, onRestart, isRestarting = false }) {
|
|
4
4
|
const formatCurrency = (amount, currency) => {
|
|
5
5
|
return new Intl.NumberFormat('en-US', {
|
|
6
6
|
style: 'currency',
|
|
@@ -20,6 +20,6 @@ export default function ExpiredCheckout({ checkout, onRestart }) {
|
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-center mb-6", children: [_jsx("div", { className: "bg-red-500/20 rounded-full w-20 h-20 flex items-center justify-center mx-auto mb-4", children: _jsx(ClockIcon, {}) }), _jsx("p", { className: "text-gray-300", children: "This checkout session has expired." })] }), _jsxs("div", { className: "bg-gray-700 rounded-lg p-4 mb-6", children: [_jsx("h3", { className: "text-sm text-center font-bold text-gray-300 mb-3", children: "Payment Details" }), _jsxs("div", { className: "space-y-2 text-sm", children: [_jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-400", children: "Amount Fiat:" }), _jsx("span", { className: "text-white font-medium", children: checkout.invoice?.fiatAmount && checkout.currency &&
|
|
23
|
-
formatCurrency(checkout.invoice.fiatAmount, checkout.currency) })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-400", children: "Amount BTC:" }), _jsx("span", { className: "text-white font-medium", children: checkout.invoice?.amountSats && `${formatSats(checkout.invoice.amountSats)} sats` })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-400", children: "Checkout ID:" }), _jsx("span", { className: "text-white font-medium", children: checkout.id })] })] })] }), _jsx("div", { className: "text-center mb-6", children: _jsx("p", { className: "text-gray-300", children: "Checkout sessions only last 15 minutes. Please restart the flow to proceed." }) }), _jsx("button", { onClick: handleRestart, className: "w-full bg-white hover:bg-gray-100 text-gray-900 font-medium py-3 px-4 rounded-lg transition-colors", children:
|
|
23
|
+
formatCurrency(checkout.invoice.fiatAmount, checkout.currency) })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-400", children: "Amount BTC:" }), _jsx("span", { className: "text-white font-medium", children: checkout.invoice?.amountSats && `${formatSats(checkout.invoice.amountSats)} sats` })] }), _jsxs("div", { className: "flex justify-between", children: [_jsx("span", { className: "text-gray-400", children: "Checkout ID:" }), _jsx("span", { className: "text-white font-medium", children: checkout.id })] })] })] }), _jsx("div", { className: "text-center mb-6", children: _jsx("p", { className: "text-gray-300", children: "Checkout sessions only last 15 minutes. Please restart the flow to proceed." }) }), _jsx("button", { onClick: handleRestart, disabled: isRestarting, className: "w-full bg-white hover:bg-gray-100 disabled:opacity-70 disabled:cursor-not-allowed text-gray-900 font-medium py-3 px-4 rounded-lg transition-colors", children: isRestarting ? 'Restarting...' : 'Restart' })] }));
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=ExpiredCheckout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpiredCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/ExpiredCheckout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;
|
|
1
|
+
{"version":3,"file":"ExpiredCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/ExpiredCheckout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAYZ,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,KAAK,EAAwB;IACzG,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;QAC1D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ;SACT,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CACtB,eAAK,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,WAAW,EAAE,CAAC,aAC1G,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,mBAAU,MAAM,EAAC,kBAAkB,GAAG,IAClC,CACP,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,EAAE,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC1B,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,8BACE,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cAAK,SAAS,EAAC,oFAAoF,YACjG,KAAC,SAAS,KAAG,GACT,EAEN,YAAG,SAAS,EAAC,eAAe,mDAAuC,IAC/D,EAEN,eAAK,SAAS,EAAC,iCAAiC,aAC9C,aAAI,SAAS,EAAC,kDAAkD,gCAAqB,EAErF,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,6BAAoB,EACnD,eAAM,SAAS,EAAC,wBAAwB,YACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,QAAQ;4CAChD,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3D,IACH,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,4BAAmB,EAClD,eAAM,SAAS,EAAC,wBAAwB,YACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,GAC7E,IACH,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,6BAAoB,EACnD,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,EAAE,GAAQ,IACzD,IACF,IACF,EAEN,cAAK,SAAS,EAAC,kBAAkB,YAC/B,YAAG,SAAS,EAAC,eAAe,4FAAgF,GACxG,EAEN,iBACE,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAC,oJAAoJ,YAE7J,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,GACpC,IACR,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Checkout } from '@moneydevkit/api-contract';
|
|
2
2
|
export interface PaymentReceivedCheckoutProps {
|
|
3
3
|
checkout: Checkout;
|
|
4
|
-
onSuccess
|
|
4
|
+
onSuccess: (checkout: Checkout) => void;
|
|
5
5
|
}
|
|
6
6
|
export default function PaymentReceivedCheckout({ checkout, onSuccess }: PaymentReceivedCheckoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,12 +14,7 @@ export default function PaymentReceivedCheckout({ checkout, onSuccess }) {
|
|
|
14
14
|
}).format(sats);
|
|
15
15
|
};
|
|
16
16
|
const handleContinue = () => {
|
|
17
|
-
|
|
18
|
-
onSuccess(checkout);
|
|
19
|
-
}
|
|
20
|
-
else if (checkout.successUrl) {
|
|
21
|
-
window.location.href = checkout.successUrl;
|
|
22
|
-
}
|
|
17
|
+
onSuccess(checkout);
|
|
23
18
|
};
|
|
24
19
|
const CheckmarkIcon = () => (_jsx("svg", { className: "w-12 h-12 text-green-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }));
|
|
25
20
|
const satsReceived = checkout.invoice?.amountSatsReceived
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentReceivedCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PaymentReceivedCheckout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AASZ,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAgC;IACnG,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;QAC1D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ;SACT,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,
|
|
1
|
+
{"version":3,"file":"PaymentReceivedCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PaymentReceivedCheckout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AASZ,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAgC;IACnG,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;QAC1D,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,KAAK,EAAE,UAAU;YACjB,QAAQ;SACT,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAClC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACpC,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,SAAS,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAC1B,cAAK,SAAS,EAAC,0BAA0B,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC7F,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAC,gBAAgB,GAAG,GACpF,CACP,CAAA;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,kBAAkB;QACvD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI;QAC5C,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO,CACL,8BACE,eAAK,SAAS,EAAC,kBAAkB,aAC/B,cAAK,SAAS,EAAC,sFAAsF,YACnG,KAAC,aAAa,KAAG,GACb,EACN,YAAG,SAAS,EAAC,eAAe,gDAAoC,IAC5D,EAEN,eAAK,SAAS,EAAC,iCAAiC,aAC9C,aAAI,SAAS,EAAC,kDAAkD,gCAAqB,EAErF,eAAK,SAAS,EAAC,mBAAmB,aAChC,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,6BAAoB,EACnD,eAAM,SAAS,EAAC,wBAAwB,YACrC,QAAQ,CAAC,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAC,QAAQ;4CAChD,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAC3D,IACH,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,4BAAmB,EAClD,eAAM,SAAS,EAAC,wBAAwB,YACrC,YAAY,KAAK,SAAS,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,GAC5D,IACH,EAEN,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAM,SAAS,EAAC,eAAe,6BAAoB,EACnD,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,EAAE,GAAQ,IACzD,IACF,IACF,EAEN,cAAK,SAAS,EAAC,6CAA6C,YAC1D,uDAAmC,GAC/B,EAEN,cAAK,SAAS,EAAC,kBAAkB,YAC/B,iBACE,OAAO,EAAE,cAAc,EACvB,SAAS,EAAC,iGAAiG,yBAGpG,GACL,IACL,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { ChevronDown } from 'lucide-react';
|
|
4
|
-
import { useEffect, useState } from 'react';
|
|
5
4
|
import { QRCodeSVG } from 'qrcode.react';
|
|
5
|
+
import { useEffect, useState } from 'react';
|
|
6
6
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../ui/collapsible';
|
|
7
|
-
import { payInvoice } from '../../server/actions';
|
|
8
7
|
export default function PendingPaymentCheckout({ checkout }) {
|
|
9
8
|
const [timeRemaining, setTimeRemaining] = useState('');
|
|
10
9
|
const [copySuccess, setCopySuccess] = useState(false);
|
|
@@ -37,11 +36,6 @@ export default function PendingPaymentCheckout({ checkout }) {
|
|
|
37
36
|
const formatSats = (sats) => {
|
|
38
37
|
return new Intl.NumberFormat('en-US').format(sats);
|
|
39
38
|
};
|
|
40
|
-
const openInWallet = async () => {
|
|
41
|
-
if (checkout.invoice?.paymentHash && checkout.invoiceAmountSats) {
|
|
42
|
-
await payInvoice(checkout.invoice.paymentHash, checkout.invoiceAmountSats);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
39
|
const copyToClipboard = async () => {
|
|
46
40
|
if (checkout.invoice?.invoice) {
|
|
47
41
|
try {
|
|
@@ -64,6 +58,6 @@ export default function PendingPaymentCheckout({ checkout }) {
|
|
|
64
58
|
const CopyIcon = () => (_jsx("svg", { className: "w-4 h-4 text-gray-400 hover:text-white cursor-pointer transition-colors", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z" }) }));
|
|
65
59
|
const CheckmarkIcon = () => (_jsx("svg", { className: "w-4 h-4 text-green-500 cursor-pointer transition-colors", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }));
|
|
66
60
|
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "text-center mb-6 w-full", children: [_jsx("div", { className: "mb-4 w-full", children: _jsx("div", { className: "text-2xl font-semibold mb-2 font-sans tracking-tight", children: checkout.invoice?.amountSats && `${formatSats(checkout.invoice.amountSats)} sats` }) }), _jsx("div", { className: "w-full", children: _jsxs(Collapsible, { open: detailsOpen, onOpenChange: setDetailsOpen, children: [_jsxs(CollapsibleTrigger, { className: "flex items-center justify-center gap-2 text-gray-400 hover:text-white transition-colors text-sm w-full font-medium", children: ["View Details", _jsx(ChevronDown, { className: `w-4 h-4 transition-transform duration-300 ease-in-out ${detailsOpen ? 'rotate-180' : ''}` })] }), _jsx(CollapsibleContent, { className: "w-full overflow-hidden transition-all duration-300 ease-in-out data-[state=closed]:animate-[collapsible-up_300ms_ease-in-out] data-[state=open]:animate-[collapsible-down_300ms_ease-in-out]", children: _jsxs("div", { className: "mt-4 space-y-3 text-sm w-full", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Total Fiat" }), _jsx("span", { className: "text-white", children: checkout.invoice?.fiatAmount && checkout.currency &&
|
|
67
|
-
formatCurrency(checkout.invoice.fiatAmount, checkout.currency) })] }), _jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Exchange Rate" }), _jsx("span", { className: "text-white", children: checkout.invoice?.btcPrice && `$${new Intl.NumberFormat('en-US').format(checkout.invoice.btcPrice)}` })] }), timeRemaining && (_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Expires in" }), _jsx("span", { className: "text-white", children: timeRemaining })] }))] }) })] }) })] }), _jsx("div", { className: "flex justify-center mb-4 w-full", children: _jsx("div", { className: "bg-white p-3 rounded-lg shadow cursor-pointer hover:shadow-lg transition-shadow", onClick: copyToClipboard, title: "Click to copy invoice", children: _jsx(QRCodeSVG, { value: checkout.invoice?.invoice ?? '', size: 320, bgColor: "#ffffff", fgColor: "#000000", level: "Q" }) }) }), checkout.invoice?.invoice && (_jsxs("div", { className: "flex items-center gap-2 mb-6 bg-gray-700 p-3 rounded-lg w-full", children: [_jsx("code", { className: "text-xs text-gray-300 font-mono flex-1 text-center min-w-0", children: truncateInvoice(checkout.invoice.invoice) }), _jsx("div", { onClick: copyToClipboard, title: "Copy invoice", className: "flex-shrink-0", children: copySuccess ? _jsx(CheckmarkIcon, {}) : _jsx(CopyIcon, {}) })] }))
|
|
61
|
+
formatCurrency(checkout.invoice.fiatAmount, checkout.currency) })] }), _jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Exchange Rate" }), _jsx("span", { className: "text-white", children: checkout.invoice?.btcPrice && `$${new Intl.NumberFormat('en-US').format(checkout.invoice.btcPrice)}` })] }), timeRemaining && (_jsxs("div", { className: "flex justify-between w-full", children: [_jsx("span", { className: "text-gray-400", children: "Expires in" }), _jsx("span", { className: "text-white", children: timeRemaining })] }))] }) })] }) })] }), _jsx("div", { className: "flex justify-center mb-4 w-full", children: _jsx("div", { className: "bg-white p-3 rounded-lg shadow cursor-pointer hover:shadow-lg transition-shadow", onClick: copyToClipboard, title: "Click to copy invoice", children: _jsx(QRCodeSVG, { value: checkout.invoice?.invoice ?? '', size: 320, bgColor: "#ffffff", fgColor: "#000000", level: "Q" }) }) }), checkout.invoice?.invoice && (_jsxs("div", { className: "flex items-center gap-2 mb-6 bg-gray-700 p-3 rounded-lg w-full", children: [_jsx("code", { className: "text-xs text-gray-300 font-mono flex-1 text-center min-w-0", children: truncateInvoice(checkout.invoice.invoice) }), _jsx("div", { onClick: copyToClipboard, title: "Copy invoice", className: "flex-shrink-0", children: copySuccess ? _jsx(CheckmarkIcon, {}) : _jsx(CopyIcon, {}) })] }))] }));
|
|
68
62
|
}
|
|
69
63
|
//# sourceMappingURL=PendingPaymentCheckout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PendingPaymentCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PendingPaymentCheckout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"PendingPaymentCheckout.js","sourceRoot":"","sources":["../../../src/components/checkout/PendingPaymentCheckout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import type { CreateCheckoutParams } from '../server/actions';
|
|
2
|
-
export
|
|
3
|
-
/** Path to the checkout page (defaults to '/checkout') */
|
|
4
|
-
checkoutPath?: string;
|
|
5
|
-
/** Called when navigation fails */
|
|
6
|
-
onError?: (error: Error) => void;
|
|
7
|
-
/** Called after successful checkout completion */
|
|
8
|
-
onSuccess?: (result: any) => void;
|
|
9
|
-
}
|
|
10
|
-
export interface CheckoutResult {
|
|
11
|
-
checkoutId: string;
|
|
12
|
-
status: 'completed' | 'pending' | 'cancelled';
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
}
|
|
15
|
-
export declare function useCheckout(options?: UseCheckoutOptions): {
|
|
2
|
+
export declare function useCheckout(): {
|
|
16
3
|
navigate: (params: CreateCheckoutParams) => Promise<void>;
|
|
17
4
|
isNavigating: boolean;
|
|
18
|
-
handleSuccess: (result: CheckoutResult) => void;
|
|
19
5
|
};
|
|
@@ -1,42 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
3
3
|
import { createCheckout } from '../server/actions';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { log } from '../server/logging';
|
|
5
|
+
export function useCheckout() {
|
|
6
6
|
const [isNavigating, setIsNavigating] = useState(false);
|
|
7
7
|
const navigate = useCallback(async (params) => {
|
|
8
8
|
try {
|
|
9
9
|
setIsNavigating(true);
|
|
10
|
-
// Create checkout via API and get ID
|
|
11
10
|
const checkout = await createCheckout({
|
|
12
11
|
...params,
|
|
13
12
|
});
|
|
14
|
-
|
|
13
|
+
let checkoutPath = params.checkoutPath || '/checkout';
|
|
15
14
|
window.location.href = `${checkoutPath}/${checkout.id}`;
|
|
16
15
|
}
|
|
17
16
|
catch (error) {
|
|
18
17
|
setIsNavigating(false);
|
|
19
18
|
const err = error instanceof Error ? error : new Error('Checkout creation failed');
|
|
20
|
-
|
|
21
|
-
onError(err);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
console.error('Checkout creation failed:', err);
|
|
25
|
-
}
|
|
19
|
+
log('Checkout navigation error:', err);
|
|
26
20
|
}
|
|
27
|
-
}, [
|
|
28
|
-
checkoutPath,
|
|
29
|
-
onError,
|
|
30
|
-
]);
|
|
31
|
-
const handleSuccess = useCallback((result) => {
|
|
32
|
-
if (onSuccess) {
|
|
33
|
-
onSuccess(result);
|
|
34
|
-
}
|
|
35
|
-
}, [onSuccess]);
|
|
21
|
+
}, []);
|
|
36
22
|
return {
|
|
37
23
|
navigate,
|
|
38
24
|
isNavigating,
|
|
39
|
-
handleSuccess
|
|
40
25
|
};
|
|
41
26
|
}
|
|
42
27
|
//# sourceMappingURL=useCheckout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useCheckout.js","sourceRoot":"","sources":["../../src/hooks/useCheckout.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAA4B,EAAiB,EAAE;QACjF,IAAI,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,CAAA;YAErB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;gBACpC,GAAG,MAAM;aACV,CAAC,CAAA;YAEF,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;YAErD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,YAAY,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAe,CAAC,KAAK,CAAC,CAAA;YACtB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAClF,GAAG,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;QACxC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO;QACL,QAAQ;QACR,YAAY;KACb,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { Checkout } from './components/Checkout';
|
|
2
2
|
export type { CheckoutProps } from './components/Checkout';
|
|
3
3
|
export { useCheckout } from './hooks/useCheckout';
|
|
4
|
-
export
|
|
5
|
-
export { createCheckout, getCheckout, confirmCheckout } from './server/actions';
|
|
4
|
+
export { confirmCheckout, createCheckout, getCheckout } from './server/actions';
|
|
6
5
|
export type { CreateCheckoutParams } from './server/actions';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { Checkout } from './components/Checkout';
|
|
2
2
|
export { useCheckout } from './hooks/useCheckout';
|
|
3
|
-
export { createCheckout, getCheckout
|
|
3
|
+
export { confirmCheckout, createCheckout, getCheckout } from './server/actions';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/next-plugin.d.ts
CHANGED
|
@@ -9,11 +9,6 @@ interface WebpackConfiguration {
|
|
|
9
9
|
externals?: WebpackExternals;
|
|
10
10
|
[key: string]: unknown;
|
|
11
11
|
}
|
|
12
|
-
interface NextExperimentalOverrides {
|
|
13
|
-
serverComponentsExternalPackages?: string[];
|
|
14
|
-
outputFileTracingIncludes?: Record<string, string[]>;
|
|
15
|
-
[key: string]: unknown;
|
|
16
|
-
}
|
|
17
12
|
interface NextWebpackContext {
|
|
18
13
|
isServer: boolean;
|
|
19
14
|
[key: string]: unknown;
|
|
@@ -24,7 +19,6 @@ export interface NextConfigOverrides {
|
|
|
24
19
|
outputFileTracingIncludes?: Record<string, string[]>;
|
|
25
20
|
webpack?: NextWebpack;
|
|
26
21
|
turbopack?: Record<string, unknown>;
|
|
27
|
-
experimental?: NextExperimentalOverrides;
|
|
28
22
|
[key: string]: unknown;
|
|
29
23
|
}
|
|
30
24
|
export declare function withMdkCheckout<T extends NextConfigOverrides>(config?: T): T;
|
package/dist/next-plugin.js
CHANGED
|
@@ -25,18 +25,6 @@ const mergeUnique = (source, items) => {
|
|
|
25
25
|
}
|
|
26
26
|
return Array.from(existing);
|
|
27
27
|
};
|
|
28
|
-
const mergeTracingIncludes = (...records) => {
|
|
29
|
-
const result = {};
|
|
30
|
-
for (const record of records) {
|
|
31
|
-
if (!record) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
for (const [key, globs] of Object.entries(record)) {
|
|
35
|
-
result[key] = mergeUnique(result[key], globs);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
28
|
const lightningWebpackExternal = ({ request }, callback) => {
|
|
41
29
|
if (typeof request === 'string') {
|
|
42
30
|
if (request === lightningPackage || request.startsWith(`${lightningPackage}-`)) {
|
|
@@ -65,12 +53,11 @@ const addLightningExternals = (config) => {
|
|
|
65
53
|
};
|
|
66
54
|
const isThenable = (value) => typeof value === 'object' && value !== null && typeof value.then === 'function';
|
|
67
55
|
export function withMdkCheckout(config = {}) {
|
|
68
|
-
const
|
|
69
|
-
const serverExternalPackages = mergeUnique(combinedServerPackages, [
|
|
56
|
+
const serverExternalPackages = mergeUnique(config.serverExternalPackages, [
|
|
70
57
|
lightningPackage,
|
|
71
58
|
...binaryPackages,
|
|
72
59
|
]);
|
|
73
|
-
const outputFileTracingIncludes =
|
|
60
|
+
const outputFileTracingIncludes = { ...(config.outputFileTracingIncludes ?? {}) };
|
|
74
61
|
outputFileTracingIncludes['*'] = mergeUnique(outputFileTracingIncludes['*'], tracingGlobs);
|
|
75
62
|
const existingWebpack = config.webpack;
|
|
76
63
|
const webpack = (webpackConfig, context) => {
|
|
@@ -91,16 +78,12 @@ export function withMdkCheckout(config = {}) {
|
|
|
91
78
|
return applyLightning(undefined);
|
|
92
79
|
};
|
|
93
80
|
const turbopack = config.turbopack ?? {};
|
|
94
|
-
const experimental = { ...(config.experimental ?? {}) };
|
|
95
|
-
experimental.serverComponentsExternalPackages = mergeUnique(combinedServerPackages, serverExternalPackages);
|
|
96
|
-
experimental.outputFileTracingIncludes = mergeTracingIncludes(experimental.outputFileTracingIncludes, outputFileTracingIncludes);
|
|
97
81
|
return {
|
|
98
82
|
...config,
|
|
99
83
|
serverExternalPackages,
|
|
100
84
|
outputFileTracingIncludes,
|
|
101
85
|
webpack,
|
|
102
86
|
turbopack,
|
|
103
|
-
experimental,
|
|
104
87
|
};
|
|
105
88
|
}
|
|
106
89
|
export default withMdkCheckout;
|
package/dist/next-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-plugin.js","sourceRoot":"","sources":["../src/next-plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"next-plugin.js","sourceRoot":"","sources":["../src/next-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/server/actions.d.ts
CHANGED
|
@@ -1664,9 +1664,12 @@ export declare function confirmCheckout(confirm: ConfirmCheckout): Promise<{
|
|
|
1664
1664
|
} | null;
|
|
1665
1665
|
}>;
|
|
1666
1666
|
export interface CreateCheckoutParams {
|
|
1667
|
-
|
|
1668
|
-
|
|
1667
|
+
title: string;
|
|
1668
|
+
description: string;
|
|
1669
|
+
amount: number;
|
|
1669
1670
|
currency?: 'USD' | 'SAT';
|
|
1671
|
+
successUrl?: string;
|
|
1672
|
+
checkoutPath?: string;
|
|
1670
1673
|
metadata?: Record<string, any>;
|
|
1671
1674
|
}
|
|
1672
1675
|
export declare function createCheckout(params: CreateCheckoutParams): Promise<{
|