From 1b288eacf3bff7dfaef38a5938e115a48f709183 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Sat, 6 Jul 2024 01:24:14 +0100 Subject: [PATCH 1/9] fix: make the dialog content responsive --- apps/masterbots.ai/components/plans.tsx | 4 +- .../components/ui/wizard/index.tsx | 46 ++++++++++--------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/apps/masterbots.ai/components/plans.tsx b/apps/masterbots.ai/components/plans.tsx index 7553b086..88b8977f 100644 --- a/apps/masterbots.ai/components/plans.tsx +++ b/apps/masterbots.ai/components/plans.tsx @@ -101,7 +101,7 @@ export function Plans({ next, goTo }: PlansPros) {
_div]:hover:bg-tertiary', + 'border-gradient w-full h-[135px] z-0 dark:[&>_div]:hover:bg-tertiary', { 'selected': selectedPlan === 'free' } @@ -155,7 +155,7 @@ export function Plans({ next, goTo }: PlansPros) {
-
+
{plans && plans.length && ( plans?.filter(plan => plan.active).sort((a, b) => a.created - b.created).map(plan => ( = ({ handleCloseWizard, errorComponent }) => { - return ( - - - {headerTitle} + + + {headerTitle} - +
+ +
) } -function Content({ errorComponent, steps, dialogOpen }: { errorComponent?: JSX.Element, steps: WizardStep[], dialogOpen: boolean }) { +function Content({ + errorComponent, + steps, + dialogOpen +}: { + errorComponent?: JSX.Element + steps: WizardStep[] + dialogOpen: boolean +}) { const { error, loading } = usePayment() - const { close, Next, Prev, goTo, lastStep, currentStep } = useWizard(steps, dialogOpen) - const defaultErrorComponent = () => ( -
{error}
+ const { close, Next, Prev, goTo, lastStep, currentStep } = useWizard( + steps, + dialogOpen ) + const defaultErrorComponent = () =>
{error}
const ErrorComponent = (() => errorComponent) || defaultErrorComponent if (error && error !== '') { return ( - + ) From 5495794f8348d32066409d0b0481ec0a4896baac Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Sat, 6 Jul 2024 01:25:06 +0100 Subject: [PATCH 2/9] fix: free plan card adjusted --- apps/masterbots.ai/components/plans.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/masterbots.ai/components/plans.tsx b/apps/masterbots.ai/components/plans.tsx index 88b8977f..14cd583e 100644 --- a/apps/masterbots.ai/components/plans.tsx +++ b/apps/masterbots.ai/components/plans.tsx @@ -101,7 +101,7 @@ export function Plans({ next, goTo }: PlansPros) {
_div]:hover:bg-tertiary', + 'border-gradient w-full md:h-[135px] z-0 dark:[&>_div]:hover:bg-tertiary', { 'selected': selectedPlan === 'free' } From d9c7708cd910bee8ccee1dd836e6f65ad3655b09 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Sat, 6 Jul 2024 02:03:05 +0100 Subject: [PATCH 3/9] fix: update --- apps/masterbots.ai/components/subscription.tsx | 2 ++ apps/masterbots.ai/components/ui/wizard/index.tsx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/masterbots.ai/components/subscription.tsx b/apps/masterbots.ai/components/subscription.tsx index 9887561b..40170d31 100644 --- a/apps/masterbots.ai/components/subscription.tsx +++ b/apps/masterbots.ai/components/subscription.tsx @@ -29,9 +29,11 @@ export default function Subscription({ user }: { user: { email: string; name: st handleSetUser(user) const handleCloseWizard = async () => { + const del = await handleDeleteCustomer(user?.email) handleSetLoading(false) handleSetError('') + if (!openDialog) return router.push('/c/p') if (del) return router.push('/chat') } diff --git a/apps/masterbots.ai/components/ui/wizard/index.tsx b/apps/masterbots.ai/components/ui/wizard/index.tsx index d32aa584..005576a0 100644 --- a/apps/masterbots.ai/components/ui/wizard/index.tsx +++ b/apps/masterbots.ai/components/ui/wizard/index.tsx @@ -48,7 +48,7 @@ const DialogWizard: React.FC = ({ }) => { return ( - + {headerTitle} From a88719bc5f2d6688595b7aeb16085dc281a92711 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Mon, 8 Jul 2024 11:57:27 +0100 Subject: [PATCH 4/9] fix: update receipt styles --- apps/masterbots.ai/components/checkout.tsx | 4 ++-- apps/masterbots.ai/components/receipt.tsx | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/masterbots.ai/components/checkout.tsx b/apps/masterbots.ai/components/checkout.tsx index a8b2588f..b3bb5334 100644 --- a/apps/masterbots.ai/components/checkout.tsx +++ b/apps/masterbots.ai/components/checkout.tsx @@ -102,9 +102,9 @@ export function InnerCheckout({ prev, next }: WizardStepProps) { *charged once every {getCurrentOrTargetDate()}
- ${4.49 * 12} + ${ plan?.product?.name?.toLowerCase().includes('year') ? (4.49 * 12) : price }
- {plan?.product.name.toLowerCase().includes('year') && ( + {plan?.product?.name?.toLowerCase().includes('year') && (
{' '} diff --git a/apps/masterbots.ai/components/receipt.tsx b/apps/masterbots.ai/components/receipt.tsx index e8e7dd60..f9262dbb 100644 --- a/apps/masterbots.ai/components/receipt.tsx +++ b/apps/masterbots.ai/components/receipt.tsx @@ -105,15 +105,17 @@ export const Receipt: React.FC = ({ intentid }) => { {getDate(subscription.current_period_start)}
- ${price} + $ { plan.interval === 'year' ? (4.49 * 12) : price }
+ {plan.interval === 'year' && (
{' '} Year Plan subscription discount - -$0.00 + -${((4.49 * 12) - Number(price)).toFixed(2)}
+ )}
Subtotal ${price} From f833422ec4abf246a12d405212ee3179f84f9e5e Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 9 Jul 2024 17:42:44 +0100 Subject: [PATCH 5/9] fix: build error --- package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 35d07624..617c6205 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,9 @@ "packageManager": "bun@1.0.14", "dependencies": { "axios": "^1.7.2", - "nextjs-toploader": "^1.6.4" - + "nanoid": "latest", + "next": "latest", + "nextjs-toploader": "^1.6.4", + "postcss": "latest" } } \ No newline at end of file From f78438df7c3bfe4af2f58ce167b581f819512d22 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 9 Jul 2024 17:57:41 +0100 Subject: [PATCH 6/9] fix: build error --- .../app/api/payment/subscription/route.tsx | 167 +++++++----------- 1 file changed, 67 insertions(+), 100 deletions(-) diff --git a/apps/masterbots.ai/app/api/payment/subscription/route.tsx b/apps/masterbots.ai/app/api/payment/subscription/route.tsx index 28e923e2..207942c1 100644 --- a/apps/masterbots.ai/app/api/payment/subscription/route.tsx +++ b/apps/masterbots.ai/app/api/payment/subscription/route.tsx @@ -1,160 +1,127 @@ -import type { NextRequest } from 'next/server' -import { Stripe } from 'stripe' +import { NextRequest, NextResponse } from 'next/server'; +import { Stripe } from 'stripe'; +export const runtime = "edge" const stripeSecretKey = process.env.STRIPE_SECRET_KEY; - if (!stripeSecretKey) { +if (!stripeSecretKey) { throw new Error('Stripe secret key is not set.'); } -const stripe = new Stripe(stripeSecretKey|| '', { + +const stripe = new Stripe(stripeSecretKey, { apiVersion: '2024-04-10' -}) +}); -// # Get Subscription Details by Payment Intent ID +// Get Subscription Details by Payment Intent ID export async function GET(req: NextRequest) { try { - const { searchParams } = new URL(req.url) - const paymentIntentId = searchParams.get('paymentIntentId') + const { searchParams } = new URL(req.url); + const paymentIntentId = searchParams.get('paymentIntentId'); if (!paymentIntentId) { - return new Response( - JSON.stringify({ error: 'paymentIntentId is required' }), - { - status: 400, - headers: { 'Content-Type': 'application/json' } - } - ) + return new NextResponse(JSON.stringify({ error: 'paymentIntentId is required' }), { + status: 400, + headers: { 'Content-Type': 'application/json' }, + }); } - const paymentIntent = await stripe.paymentIntents.retrieve(paymentIntentId, - // expand card details - { - expand: ['payment_method'] - } - ); + const paymentIntent = await stripe.paymentIntents.retrieve(paymentIntentId, { + expand: ['payment_method'], + }); if (!paymentIntent) { - return new Response( - JSON.stringify({ error: 'Payment Intent not found' }), - { - status: 404, - headers: { 'Content-Type': 'application/json' } - } - ) + return new NextResponse(JSON.stringify({ error: 'Payment Intent not found' }), { + status: 404, + headers: { 'Content-Type': 'application/json' }, + }); } - const invoice = await stripe.invoices.retrieve( - paymentIntent.invoice as string - ) + const invoice = await stripe.invoices.retrieve(paymentIntent.invoice as string); if (!invoice) { - return new Response(JSON.stringify({ error: 'Invoice not found' }), { + return new NextResponse(JSON.stringify({ error: 'Invoice not found' }), { status: 404, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } - const subscriptionId = invoice.subscription + const subscriptionId = invoice.subscription; if (!subscriptionId) { - return new Response( - JSON.stringify({ error: 'Subscription ID not found in invoice' }), - { - status: 404, - headers: { 'Content-Type': 'application/json' } - } - ) + return new NextResponse(JSON.stringify({ error: 'Subscription ID not found in invoice' }), { + status: 404, + headers: { 'Content-Type': 'application/json' }, + }); } - const subscription = await stripe.subscriptions.retrieve( - subscriptionId as string, - { - expand: ['items.data.plan', 'customer'] // Expand the plan details - } - ) - + const subscription = await stripe.subscriptions.retrieve(subscriptionId as string, { + expand: ['items.data.plan', 'customer'], + }); const card = paymentIntent.payment_method; - - return new Response(JSON.stringify( - { - card, - subscription, - } - ), { + return new NextResponse(JSON.stringify({ card, subscription }), { status: 200, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } catch (error: any) { - console.error('Error creating subscription:', error) - const stripeError = error?.raw || error - return new Response(JSON.stringify({ error: stripeError?.message }), { + console.error('Error creating subscription:', error); + const stripeError = error?.raw || error; + return new NextResponse(JSON.stringify({ error: stripeError?.message }), { status: stripeError?.statusCode || 500, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } } -// Use PUT to check if a customer has an active subscription or not by email address +// Use PUT to check if a customer has an active subscription or not by email address export async function PUT(req: NextRequest) { try { - const { email } = await req.json() + const { email } = await req.json(); if (!email) { - return new Response( - JSON.stringify({ error: 'Email is required' }), - { - status: 400, - headers: { 'Content-Type': 'application/json' } - } - ) + return new NextResponse(JSON.stringify({ error: 'Email is required' }), { + status: 400, + headers: { 'Content-Type': 'application/json' }, + }); } // Search for an existing customer by email - const customers = await stripe.customers.list({ - email, - limit: 1 - }) + const customers = await stripe.customers.list({ email, limit: 1 }); - let customer + let customer; if (customers.data.length > 0) { - // Use the existing customer - customer = customers.data[0] + customer = customers.data[0]; } else { - return new Response( - JSON.stringify({ error: 'Customer not found' }), - { - status: 404, - headers: { 'Content-Type': 'application/json' } - } - ) + return new NextResponse(JSON.stringify({ error: 'Customer not found' }), { + status: 404, + headers: { 'Content-Type': 'application/json' }, + }); } const subscriptions = await stripe.subscriptions.list({ customer: customer.id, status: 'active', - limit: 1 - }) + limit: 1, + }); if (subscriptions.data.length > 0) { - return new Response(JSON.stringify({ active: true }), { + return new NextResponse(JSON.stringify({ active: true }), { status: 200, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } else { - return new Response(JSON.stringify({ active: false }), { + return new NextResponse(JSON.stringify({ active: false }), { status: 200, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } } catch (error: any) { - console.error('Error checking subscription:', error) - const stripeError = error?.raw || error - return new Response(JSON.stringify({ error: stripeError?.message }), { + console.error('Error checking subscription:', error); + const stripeError = error?.raw || error; + return new NextResponse(JSON.stringify({ error: stripeError?.message }), { status: stripeError?.statusCode || 500, - headers: { 'Content-Type': 'application/json' } - }) + headers: { 'Content-Type': 'application/json' }, + }); } } - From a9cf6ac51e109a86ff1960b4373e7193f654a415 Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 9 Jul 2024 18:45:14 +0100 Subject: [PATCH 7/9] fix: build error update --- .../app/api/payment/subscription/route.tsx | 169 +++++++++++------- bun.lockb | Bin 348120 -> 352568 bytes 2 files changed, 102 insertions(+), 67 deletions(-) diff --git a/apps/masterbots.ai/app/api/payment/subscription/route.tsx b/apps/masterbots.ai/app/api/payment/subscription/route.tsx index 207942c1..2a03cfbd 100644 --- a/apps/masterbots.ai/app/api/payment/subscription/route.tsx +++ b/apps/masterbots.ai/app/api/payment/subscription/route.tsx @@ -1,127 +1,162 @@ -import { NextRequest, NextResponse } from 'next/server'; -import { Stripe } from 'stripe'; +import type { NextRequest } from 'next/server' +import { Stripe } from 'stripe' -export const runtime = "edge" const stripeSecretKey = process.env.STRIPE_SECRET_KEY; -if (!stripeSecretKey) { + if (!stripeSecretKey) { throw new Error('Stripe secret key is not set.'); } - -const stripe = new Stripe(stripeSecretKey, { +const stripe = new Stripe(stripeSecretKey|| '', { apiVersion: '2024-04-10' -}); +}) -// Get Subscription Details by Payment Intent ID +export const runtime = "edge" + +// # Get Subscription Details by Payment Intent ID export async function GET(req: NextRequest) { try { - const { searchParams } = new URL(req.url); - const paymentIntentId = searchParams.get('paymentIntentId'); + const { searchParams } = new URL(req.url) + const paymentIntentId = searchParams.get('paymentIntentId') if (!paymentIntentId) { - return new NextResponse(JSON.stringify({ error: 'paymentIntentId is required' }), { - status: 400, - headers: { 'Content-Type': 'application/json' }, - }); + return new Response( + JSON.stringify({ error: 'paymentIntentId is required' }), + { + status: 400, + headers: { 'Content-Type': 'application/json' } + } + ) } - const paymentIntent = await stripe.paymentIntents.retrieve(paymentIntentId, { - expand: ['payment_method'], - }); + const paymentIntent = await stripe.paymentIntents.retrieve(paymentIntentId, + // expand card details + { + expand: ['payment_method'] + } + ); if (!paymentIntent) { - return new NextResponse(JSON.stringify({ error: 'Payment Intent not found' }), { - status: 404, - headers: { 'Content-Type': 'application/json' }, - }); + return new Response( + JSON.stringify({ error: 'Payment Intent not found' }), + { + status: 404, + headers: { 'Content-Type': 'application/json' } + } + ) } - const invoice = await stripe.invoices.retrieve(paymentIntent.invoice as string); + const invoice = await stripe.invoices.retrieve( + paymentIntent.invoice as string + ) if (!invoice) { - return new NextResponse(JSON.stringify({ error: 'Invoice not found' }), { + return new Response(JSON.stringify({ error: 'Invoice not found' }), { status: 404, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } - const subscriptionId = invoice.subscription; + const subscriptionId = invoice.subscription if (!subscriptionId) { - return new NextResponse(JSON.stringify({ error: 'Subscription ID not found in invoice' }), { - status: 404, - headers: { 'Content-Type': 'application/json' }, - }); + return new Response( + JSON.stringify({ error: 'Subscription ID not found in invoice' }), + { + status: 404, + headers: { 'Content-Type': 'application/json' } + } + ) } - const subscription = await stripe.subscriptions.retrieve(subscriptionId as string, { - expand: ['items.data.plan', 'customer'], - }); + const subscription = await stripe.subscriptions.retrieve( + subscriptionId as string, + { + expand: ['items.data.plan', 'customer'] // Expand the plan details + } + ) + const card = paymentIntent.payment_method; - return new NextResponse(JSON.stringify({ card, subscription }), { + + return new Response(JSON.stringify( + { + card, + subscription, + } + ), { status: 200, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } catch (error: any) { - console.error('Error creating subscription:', error); - const stripeError = error?.raw || error; - return new NextResponse(JSON.stringify({ error: stripeError?.message }), { + console.error('Error creating subscription:', error) + const stripeError = error?.raw || error + return new Response(JSON.stringify({ error: stripeError?.message }), { status: stripeError?.statusCode || 500, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } } -// Use PUT to check if a customer has an active subscription or not by email address +// Use PUT to check if a customer has an active subscription or not by email address export async function PUT(req: NextRequest) { try { - const { email } = await req.json(); + const { email } = await req.json() if (!email) { - return new NextResponse(JSON.stringify({ error: 'Email is required' }), { - status: 400, - headers: { 'Content-Type': 'application/json' }, - }); + return new Response( + JSON.stringify({ error: 'Email is required' }), + { + status: 400, + headers: { 'Content-Type': 'application/json' } + } + ) } // Search for an existing customer by email - const customers = await stripe.customers.list({ email, limit: 1 }); + const customers = await stripe.customers.list({ + email, + limit: 1 + }) - let customer; + let customer if (customers.data.length > 0) { - customer = customers.data[0]; + // Use the existing customer + customer = customers.data[0] } else { - return new NextResponse(JSON.stringify({ error: 'Customer not found' }), { - status: 404, - headers: { 'Content-Type': 'application/json' }, - }); + return new Response( + JSON.stringify({ error: 'Customer not found' }), + { + status: 404, + headers: { 'Content-Type': 'application/json' } + } + ) } const subscriptions = await stripe.subscriptions.list({ customer: customer.id, status: 'active', - limit: 1, - }); + limit: 1 + }) if (subscriptions.data.length > 0) { - return new NextResponse(JSON.stringify({ active: true }), { + return new Response(JSON.stringify({ active: true }), { status: 200, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } else { - return new NextResponse(JSON.stringify({ active: false }), { + return new Response(JSON.stringify({ active: false }), { status: 200, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } } catch (error: any) { - console.error('Error checking subscription:', error); - const stripeError = error?.raw || error; - return new NextResponse(JSON.stringify({ error: stripeError?.message }), { + console.error('Error checking subscription:', error) + const stripeError = error?.raw || error + return new Response(JSON.stringify({ error: stripeError?.message }), { status: stripeError?.statusCode || 500, - headers: { 'Content-Type': 'application/json' }, - }); + headers: { 'Content-Type': 'application/json' } + }) } } + diff --git a/bun.lockb b/bun.lockb index b6b59209f6fb735126ade7f8074777071535dfd8..94673c821b113511165a2056231580d6fd7d06fc 100755 GIT binary patch delta 73544 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∈#Qs?aXtVly*HDb)@Rxg=(S}i_e{5Z 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 Date: Tue, 9 Jul 2024 19:51:47 +0100 Subject: [PATCH 8/9] fix: update --- apps/masterbots.ai/app/api/payment/subscription/route.tsx | 2 ++ apps/masterbots.ai/package.json | 6 +++--- package.json | 5 +---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/masterbots.ai/app/api/payment/subscription/route.tsx b/apps/masterbots.ai/app/api/payment/subscription/route.tsx index 2a03cfbd..629b8cd1 100644 --- a/apps/masterbots.ai/app/api/payment/subscription/route.tsx +++ b/apps/masterbots.ai/app/api/payment/subscription/route.tsx @@ -99,6 +99,8 @@ export async function GET(req: NextRequest) { } } + + // Use PUT to check if a customer has an active subscription or not by email address export async function PUT(req: NextRequest) { try { diff --git a/apps/masterbots.ai/package.json b/apps/masterbots.ai/package.json index 1f634002..bf419a3a 100644 --- a/apps/masterbots.ai/package.json +++ b/apps/masterbots.ai/package.json @@ -44,8 +44,8 @@ "mb-genql": "workspace:*", "mb-lib": "workspace:*", "mb-types": "workspace:*", - "nanoid": "^5.0.3", - "next": "14.2.3", + "nanoid": "latest", + "next": "latest", "next-auth": "5.0.0-beta.3", "next-themes": "^0.2.1", "nextjs-toploader": "^1.6.12", @@ -81,7 +81,7 @@ "eslint-config-next": "14.0.3", "eslint-config-prettier": "^9.0.0", "eslint-plugin-tailwindcss": "^3.13.0", - "postcss": "^8.4.31", + "postcss": "latest", "prettier": "^3.1.0", "tailwind-merge": "^2.0.0", "tailwindcss": "^3.3.5", diff --git a/package.json b/package.json index 617c6205..3143d655 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,6 @@ "packageManager": "bun@1.0.14", "dependencies": { "axios": "^1.7.2", - "nanoid": "latest", - "next": "latest", - "nextjs-toploader": "^1.6.4", - "postcss": "latest" + "nextjs-toploader": "^1.6.4" } } \ No newline at end of file From 1035e0e0b1e6a06b0bd885075f6071bb94b26e1b Mon Sep 17 00:00:00 2001 From: sheriffjimoh Date: Tue, 9 Jul 2024 22:21:05 +0100 Subject: [PATCH 9/9] fix: observation --- apps/masterbots.ai/components/ui/wizard/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/masterbots.ai/components/ui/wizard/index.tsx b/apps/masterbots.ai/components/ui/wizard/index.tsx index 005576a0..26c82f7a 100644 --- a/apps/masterbots.ai/components/ui/wizard/index.tsx +++ b/apps/masterbots.ai/components/ui/wizard/index.tsx @@ -48,7 +48,7 @@ const DialogWizard: React.FC = ({ }) => { return ( - + {headerTitle}