This commit is contained in:
notmd
2023-01-25 17:44:59 +07:00
parent c7f9d24023
commit a6fcf0dc1e
5 changed files with 35 additions and 0 deletions
+2
View File
@@ -14,3 +14,5 @@ NEXTAUTH_SECRET=O/M2uIbGj+lDD2oyNa8ax4jEOJqCPJzO53UbWShmq98=
EMAIL_SERVER_HOST=localhost
EMAIL_SERVER_PORT=1025
EMAIL_FROM=info@example.com
NEXT_PUBLIC_CLOUDFARE_CAPTCHA_SITE_KEY=1x0000000000000000000000000000000AA
+16
View File
@@ -17,6 +17,7 @@
"@emotion/styled": "^11.10.5",
"@headlessui/react": "^1.7.7",
"@heroicons/react": "^2.0.13",
"@marsidev/react-turnstile": "^0.0.7",
"@next-auth/prisma-adapter": "^1.0.5",
"@next/font": "^13.1.0",
"@prisma/client": "^4.7.1",
@@ -5541,6 +5542,15 @@
"@jridgewell/sourcemap-codec": "1.4.14"
}
},
"node_modules/@marsidev/react-turnstile": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@marsidev/react-turnstile/-/react-turnstile-0.0.7.tgz",
"integrity": "sha512-BWXZ6/ddE96cP/U3jkLO8wbJi6qOpE4wH67h6EkD57TRy4RSauBBYKRZkuUEpfgm2wdWoPukPz4LfnoV5KJGrQ==",
"peerDependencies": {
"react": ">=16.8.0",
"react-dom": ">=16.8.0"
}
},
"node_modules/@mdx-js/mdx": {
"version": "1.6.22",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz",
@@ -41629,6 +41639,12 @@
"@jridgewell/sourcemap-codec": "1.4.14"
}
},
"@marsidev/react-turnstile": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@marsidev/react-turnstile/-/react-turnstile-0.0.7.tgz",
"integrity": "sha512-BWXZ6/ddE96cP/U3jkLO8wbJi6qOpE4wH67h6EkD57TRy4RSauBBYKRZkuUEpfgm2wdWoPukPz4LfnoV5KJGrQ==",
"requires": {}
},
"@mdx-js/mdx": {
"version": "1.6.22",
"resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz",
+1
View File
@@ -34,6 +34,7 @@
"@emotion/styled": "^11.10.5",
"@headlessui/react": "^1.7.7",
"@heroicons/react": "^2.0.13",
"@marsidev/react-turnstile": "^0.0.7",
"@next-auth/prisma-adapter": "^1.0.5",
"@next/font": "^13.1.0",
"@prisma/client": "^4.7.1",
@@ -0,0 +1,8 @@
import { Turnstile } from "@marsidev/react-turnstile";
import { forwardRef } from "react";
export const CloudFareCatpcha = forwardRef((ref, props) => {
return <Turnstile siteKey={process.env.NEXT_PUBLIC_CLOUDFARE_CAPTCHA_SITE_KEY} />;
});
CloudFareCatpcha.displayName = "CloudFareCatpcha";
+8
View File
@@ -0,0 +1,8 @@
declare global {
namespace NodeJS {
interface ProcessEnv {
NODE_ENV: "development" | "production";
NEXT_PUBLIC_CLOUDFARE_CAPTCHA_SITE_KEY: string;
}
}
}