mirror of
https://github.com/Dokploy/website
synced 2025-06-26 18:16:01 +00:00
feat: integrate Stripe for self-hosted license purchasing and update pricing component
This commit is contained in:
parent
e433edd7b7
commit
3d622c7a53
File diff suppressed because one or more lines are too long
@ -36,7 +36,7 @@ const NumberInput = React.forwardRef<HTMLInputElement, InputProps>(
|
||||
return (
|
||||
<Input
|
||||
type="text"
|
||||
className={cn("text-left", className)}
|
||||
className={cn("text-center", className)}
|
||||
ref={ref}
|
||||
{...props}
|
||||
value={props.value === undefined ? undefined : String(props.value)}
|
||||
@ -45,7 +45,9 @@ const NumberInput = React.forwardRef<HTMLInputElement, InputProps>(
|
||||
if (value === "") {
|
||||
props.onChange?.(e);
|
||||
} else {
|
||||
const number = Number.parseInt(value, 10);
|
||||
// Remove currency symbol and convert to number
|
||||
const numericValue = value.replace(/[^0-9.]/g, "");
|
||||
const number = Number.parseFloat(numericValue);
|
||||
if (!Number.isNaN(number)) {
|
||||
const syntheticEvent = {
|
||||
...e,
|
||||
|
@ -181,6 +181,7 @@
|
||||
"selfHosted": {
|
||||
"title": "Self-Hosted License",
|
||||
"description": "Deploy and manage Dokploy on your own infrastructure with enterprise-grade features and support",
|
||||
"servers": "{serverQuantity} Servers",
|
||||
"basic": {
|
||||
"title": "Basic License",
|
||||
"description": "Perfect for small teams and startups",
|
||||
|
@ -176,6 +176,20 @@
|
||||
"f7": "Nouvelles mises à jour"
|
||||
},
|
||||
"go": "S'abonner"
|
||||
},
|
||||
"selfHosted": {
|
||||
"title": "Licence Auto-hébergée",
|
||||
"description": "Déployez et gérez Dokploy sur votre propre infrastructure avec des fonctionnalités et un support de niveau entreprise",
|
||||
"servers": "{serverQuantity} Serveurs",
|
||||
"features": {
|
||||
"f1": "Complete Flexibility: Install Dokploy UI on your own infrastructure",
|
||||
"f2": "Infrastructure Auto-Hébergée",
|
||||
"f3": "Support de la communauté",
|
||||
"f4": "Accès à toutes les fonctionnalités",
|
||||
"f5": "Accès à toutes les mises à jour",
|
||||
"f9": "Serveurs Illimitées"
|
||||
},
|
||||
"go": "Installation"
|
||||
}
|
||||
},
|
||||
"faq": {
|
||||
|
@ -122,6 +122,11 @@
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "版权属于 © {year} Dokploy, 保留所有权利"
|
||||
},
|
||||
"selfHosted": {
|
||||
"title": "自托管许可证",
|
||||
"description": "在您自己的基础设施上部署和管理 Dokploy,享受企业级功能和支持",
|
||||
"servers": "{serverQuantity} 台服务器"
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
|
@ -12,9 +12,9 @@
|
||||
},
|
||||
"browserslist": "defaults, not ie <= 11",
|
||||
"dependencies": {
|
||||
"hast-util-to-jsx-runtime": "2.3.5",
|
||||
"@headlessui/react": "^2.2.0",
|
||||
"@headlessui/tailwindcss": "^0.2.0",
|
||||
"@prettier/plugin-xml": "^3.4.1",
|
||||
"@radix-ui/react-accordion": "^1.2.1",
|
||||
"@radix-ui/react-avatar": "^1.1.1",
|
||||
"@radix-ui/react-scroll-area": "^1.2.0",
|
||||
@ -23,6 +23,7 @@
|
||||
"@radix-ui/react-switch": "^1.0.3",
|
||||
"@radix-ui/react-tabs": "1.1.1",
|
||||
"@radix-ui/react-tooltip": "^1.1.3",
|
||||
"@stripe/stripe-js": "^6.1.0",
|
||||
"@tabler/icons-react": "3.21.0",
|
||||
"@tryghost/content-api": "^1.11.21",
|
||||
"@types/node": "20.4.6",
|
||||
@ -32,9 +33,11 @@
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"clsx": "^2.1.0",
|
||||
"framer-motion": "^11.3.19",
|
||||
"hast-util-to-jsx-runtime": "2.3.5",
|
||||
"lucide-react": "0.364.0",
|
||||
"next": "15.2.0",
|
||||
"next-intl": "^3.26.5",
|
||||
"prettier": "^3.3.3",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
"react-ga4": "^2.1.0",
|
||||
@ -52,9 +55,7 @@
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"turndown": "^7.2.0",
|
||||
"turndown-plugin-gfm": "^1.0.2",
|
||||
"typescript": "5.1.6",
|
||||
"prettier": "^3.3.3",
|
||||
"@prettier/plugin-xml": "^3.4.1"
|
||||
"typescript": "5.1.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.26.9",
|
||||
|
@ -124,6 +124,9 @@ importers:
|
||||
'@radix-ui/react-tooltip':
|
||||
specifier: ^1.1.3
|
||||
version: 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)
|
||||
'@stripe/stripe-js':
|
||||
specifier: ^6.1.0
|
||||
version: 6.1.0
|
||||
'@tabler/icons-react':
|
||||
specifier: 3.21.0
|
||||
version: 3.21.0(react@18.2.0)
|
||||
@ -1649,6 +1652,10 @@ packages:
|
||||
engines: {node: '>= 8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
'@stripe/stripe-js@6.1.0':
|
||||
resolution: {integrity: sha512-/5zxRol+MU4I7fjZXPxP2M6E1nuHOxAzoc0tOEC/TLnC31Gzc+5EE93mIjoAnu28O1Sqpl7/BkceDHwnGmn75A==}
|
||||
engines: {node: '>=12.16'}
|
||||
|
||||
'@swc/counter@0.1.3':
|
||||
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
|
||||
|
||||
@ -5388,6 +5395,8 @@ snapshots:
|
||||
fflate: 0.7.4
|
||||
string.prototype.codepointat: 0.2.1
|
||||
|
||||
'@stripe/stripe-js@6.1.0': {}
|
||||
|
||||
'@swc/counter@0.1.3': {}
|
||||
|
||||
'@swc/helpers@0.5.13':
|
||||
|
Loading…
Reference in New Issue
Block a user