├── .env.example ├── .eslintrc.js ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── drizzle.config.ts ├── next.config.mjs ├── package.json ├── pnpm-lock.yaml ├── postcss.config.js ├── shims.d.ts ├── src ├── app │ ├── actions.ts │ ├── api │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ └── webhook │ │ │ └── route.ts │ ├── dashboard │ │ ├── billing │ │ │ ├── change-plans │ │ │ │ ├── [id] │ │ │ │ │ └── page.tsx │ │ │ │ └── loading.tsx │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── loading.tsx │ │ └── page.tsx │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── auth.ts ├── components │ ├── dashboard │ │ ├── billing │ │ │ ├── plans │ │ │ │ ├── change-plan-button.tsx │ │ │ │ ├── change-plans.tsx │ │ │ │ ├── plan.tsx │ │ │ │ ├── plans.tsx │ │ │ │ └── signup-button.tsx │ │ │ └── subscription │ │ │ │ ├── actions-dropdown.tsx │ │ │ │ ├── actions.tsx │ │ │ │ ├── date.tsx │ │ │ │ ├── modal-link.tsx │ │ │ │ ├── price.tsx │ │ │ │ ├── status.tsx │ │ │ │ └── subscriptions.tsx │ │ ├── content.tsx │ │ ├── page-title-action.tsx │ │ ├── page-title.tsx │ │ ├── section.tsx │ │ ├── setup-webhook-button.tsx │ │ ├── sidebar-nav-item.tsx │ │ ├── sidebar-nav.tsx │ │ ├── sidebar.tsx │ │ ├── skeletons │ │ │ ├── card.tsx │ │ │ └── plans.tsx │ │ └── user-menu.tsx │ ├── icons │ │ ├── github.tsx │ │ └── lemonsqueezy.tsx │ ├── submit-button.tsx │ └── toaster.tsx ├── config │ └── lemonsqueezy.ts ├── db │ └── schema.ts ├── lib │ ├── typeguards.ts │ └── utils.ts ├── middleware.ts └── types │ └── types.ts ├── tailwind.config.ts └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | public-hoist-pattern[]=*@lmsqueezy/* 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/.prettierignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/.prettierrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/README.md -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/drizzle.config.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/postcss.config.js -------------------------------------------------------------------------------- /shims.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/shims.d.ts -------------------------------------------------------------------------------- /src/app/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/actions.ts -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /src/app/api/webhook/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/api/webhook/route.ts -------------------------------------------------------------------------------- /src/app/dashboard/billing/change-plans/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/billing/change-plans/[id]/page.tsx -------------------------------------------------------------------------------- /src/app/dashboard/billing/change-plans/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/billing/change-plans/loading.tsx -------------------------------------------------------------------------------- /src/app/dashboard/billing/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/billing/page.tsx -------------------------------------------------------------------------------- /src/app/dashboard/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/layout.tsx -------------------------------------------------------------------------------- /src/app/dashboard/loading.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/loading.tsx -------------------------------------------------------------------------------- /src/app/dashboard/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/dashboard/page.tsx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/auth.ts -------------------------------------------------------------------------------- /src/components/dashboard/billing/plans/change-plan-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/plans/change-plan-button.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/plans/change-plans.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/plans/change-plans.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/plans/plan.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/plans/plan.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/plans/plans.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/plans/plans.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/plans/signup-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/plans/signup-button.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/actions-dropdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/actions-dropdown.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/actions.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/date.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/date.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/modal-link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/modal-link.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/price.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/price.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/status.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/status.tsx -------------------------------------------------------------------------------- /src/components/dashboard/billing/subscription/subscriptions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/billing/subscription/subscriptions.tsx -------------------------------------------------------------------------------- /src/components/dashboard/content.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/content.tsx -------------------------------------------------------------------------------- /src/components/dashboard/page-title-action.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/page-title-action.tsx -------------------------------------------------------------------------------- /src/components/dashboard/page-title.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/page-title.tsx -------------------------------------------------------------------------------- /src/components/dashboard/section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/section.tsx -------------------------------------------------------------------------------- /src/components/dashboard/setup-webhook-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/setup-webhook-button.tsx -------------------------------------------------------------------------------- /src/components/dashboard/sidebar-nav-item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/sidebar-nav-item.tsx -------------------------------------------------------------------------------- /src/components/dashboard/sidebar-nav.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/sidebar-nav.tsx -------------------------------------------------------------------------------- /src/components/dashboard/sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/sidebar.tsx -------------------------------------------------------------------------------- /src/components/dashboard/skeletons/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/skeletons/card.tsx -------------------------------------------------------------------------------- /src/components/dashboard/skeletons/plans.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/skeletons/plans.tsx -------------------------------------------------------------------------------- /src/components/dashboard/user-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/dashboard/user-menu.tsx -------------------------------------------------------------------------------- /src/components/icons/github.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/icons/github.tsx -------------------------------------------------------------------------------- /src/components/icons/lemonsqueezy.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/icons/lemonsqueezy.tsx -------------------------------------------------------------------------------- /src/components/submit-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/submit-button.tsx -------------------------------------------------------------------------------- /src/components/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/components/toaster.tsx -------------------------------------------------------------------------------- /src/config/lemonsqueezy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/config/lemonsqueezy.ts -------------------------------------------------------------------------------- /src/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/db/schema.ts -------------------------------------------------------------------------------- /src/lib/typeguards.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/lib/typeguards.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/middleware.ts -------------------------------------------------------------------------------- /src/types/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/src/types/types.ts -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmsqueezy/nextjs-billing/HEAD/tsconfig.json --------------------------------------------------------------------------------