add stripe
This commit is contained in:
parent
4bb4fd6121
commit
bac53f8089
@ -1,2 +1,7 @@
|
|||||||
NEXT_PUBLIC_SANITY_PROJECT_ID="52bw4362"
|
NEXT_PUBLIC_SANITY_PROJECT_ID="52bw4362"
|
||||||
NEXT_PUBLIC_SANITY_DATASET="production"
|
NEXT_PUBLIC_SANITY_DATASET="production"
|
||||||
|
|
||||||
|
STRIPE_SECRET_KEY=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
|
||||||
|
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_live_51MCkZTC7LG8OeRdIRFrRUKWKhAieVcRd7qfov3pihJmVkjWs0auwf8N90tnmbBvkeTcU1eGcy94dfP7QVvuyPkAK00IcInuXj9
|
||||||
|
|
||||||
|
NEXT_PUBLIC_BASE_URL=http://localhost:3000
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
BIN
.next/cache/webpack/client-development/0.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
BIN
.next/cache/webpack/client-development/1.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/10.pack.gz
vendored
BIN
.next/cache/webpack/client-development/10.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/11.pack.gz
vendored
BIN
.next/cache/webpack/client-development/11.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/12.pack.gz
vendored
BIN
.next/cache/webpack/client-development/12.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/13.pack.gz
vendored
BIN
.next/cache/webpack/client-development/13.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/14.pack.gz
vendored
BIN
.next/cache/webpack/client-development/14.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/15.pack.gz
vendored
BIN
.next/cache/webpack/client-development/15.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/16.pack.gz
vendored
BIN
.next/cache/webpack/client-development/16.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/17.pack.gz
vendored
BIN
.next/cache/webpack/client-development/17.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/18.pack.gz
vendored
BIN
.next/cache/webpack/client-development/18.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/2.pack.gz
vendored
BIN
.next/cache/webpack/client-development/2.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/3.pack.gz
vendored
BIN
.next/cache/webpack/client-development/3.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/4.pack.gz
vendored
BIN
.next/cache/webpack/client-development/4.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/5.pack.gz
vendored
BIN
.next/cache/webpack/client-development/5.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/6.pack.gz
vendored
BIN
.next/cache/webpack/client-development/6.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/8.pack.gz
vendored
BIN
.next/cache/webpack/client-development/8.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/9.pack.gz
vendored
BIN
.next/cache/webpack/client-development/9.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
BIN
.next/cache/webpack/client-development/index.pack.gz
vendored
Binary file not shown.
Binary file not shown.
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
BIN
.next/cache/webpack/server-development/0.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/1.pack.gz
vendored
BIN
.next/cache/webpack/server-development/1.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/10.pack.gz
vendored
BIN
.next/cache/webpack/server-development/10.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/11.pack.gz
vendored
BIN
.next/cache/webpack/server-development/11.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/12.pack.gz
vendored
BIN
.next/cache/webpack/server-development/12.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/13.pack.gz
vendored
BIN
.next/cache/webpack/server-development/13.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/14.pack.gz
vendored
BIN
.next/cache/webpack/server-development/14.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/15.pack.gz
vendored
BIN
.next/cache/webpack/server-development/15.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/16.pack.gz
vendored
BIN
.next/cache/webpack/server-development/16.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/2.pack.gz
vendored
BIN
.next/cache/webpack/server-development/2.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/4.pack.gz
vendored
BIN
.next/cache/webpack/server-development/4.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/5.pack.gz
vendored
BIN
.next/cache/webpack/server-development/5.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/6.pack.gz
vendored
BIN
.next/cache/webpack/server-development/6.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/7.pack.gz
vendored
BIN
.next/cache/webpack/server-development/7.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/8.pack.gz
vendored
BIN
.next/cache/webpack/server-development/8.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/9.pack.gz
vendored
BIN
.next/cache/webpack/server-development/9.pack.gz
vendored
Binary file not shown.
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
BIN
.next/cache/webpack/server-development/index.pack.gz
vendored
Binary file not shown.
Binary file not shown.
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"/page": "app/page.js",
|
"/page": "app/page.js",
|
||||||
"/pricing/page": "app/pricing/page.js",
|
|
||||||
"/company/page": "app/company/page.js",
|
"/company/page": "app/company/page.js",
|
||||||
"/blog/page": "app/blog/page.js",
|
"/blog/page": "app/blog/page.js",
|
||||||
"/projects/page": "app/projects/page.js",
|
"/projects/page": "app/projects/page.js",
|
||||||
|
"/favicon.ico/route": "app/favicon.ico/route.js",
|
||||||
"/participate/page": "app/participate/page.js"
|
"/participate/page": "app/participate/page.js"
|
||||||
}
|
}
|
File diff suppressed because one or more lines are too long
@ -81,16 +81,6 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
/***/ "(rsc)/./node_modules/@heroicons/react/16/solid/esm/MinusIcon.js":
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@heroicons/react/16/solid/esm/MinusIcon.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
||||||
|
|
||||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n\nfunction MinusIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"path\", {\n d: \"M3.75 7.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(MinusIcon);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ForwardRef);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQGhlcm9pY29ucy9yZWFjdC8xNi9zb2xpZC9lc20vTWludXNJY29uLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQStCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHNCQUFzQixnREFBbUI7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLCtCQUErQixnREFBbUI7QUFDckQ7QUFDQSxHQUFHLDhCQUE4QixnREFBbUI7QUFDcEQ7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQ0FBaUMsNkNBQWdCO0FBQ2pELGlFQUFlLFVBQVUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yYWRpYW50Ly4vbm9kZV9tb2R1bGVzL0BoZXJvaWNvbnMvcmVhY3QvMTYvc29saWQvZXNtL01pbnVzSWNvbi5qcz9iMzcwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gTWludXNJY29uKHtcbiAgdGl0bGUsXG4gIHRpdGxlSWQsXG4gIC4uLnByb3BzXG59LCBzdmdSZWYpIHtcbiAgcmV0dXJuIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3ZnXCIsIE9iamVjdC5hc3NpZ24oe1xuICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgdmlld0JveDogXCIwIDAgMTYgMTZcIixcbiAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiLFxuICAgIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG4gICAgXCJkYXRhLXNsb3RcIjogXCJpY29uXCIsXG4gICAgcmVmOiBzdmdSZWYsXG4gICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGl0bGVJZFxuICB9LCBwcm9wcyksIHRpdGxlID8gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLCB7XG4gICAgaWQ6IHRpdGxlSWRcbiAgfSwgdGl0bGUpIDogbnVsbCwgLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJwYXRoXCIsIHtcbiAgICBkOiBcIk0zLjc1IDcuMjVhLjc1Ljc1IDAgMCAwIDAgMS41aDguNWEuNzUuNzUgMCAwIDAgMC0xLjVoLTguNVpcIlxuICB9KSk7XG59XG5jb25zdCBGb3J3YXJkUmVmID0gLyojX19QVVJFX18qLyBSZWFjdC5mb3J3YXJkUmVmKE1pbnVzSWNvbik7XG5leHBvcnQgZGVmYXVsdCBGb3J3YXJkUmVmOyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@heroicons/react/16/solid/esm/MinusIcon.js\n");
|
|
||||||
|
|
||||||
/***/ }),
|
|
||||||
|
|
||||||
/***/ "(rsc)/./node_modules/@heroicons/react/16/solid/esm/RssIcon.js":
|
/***/ "(rsc)/./node_modules/@heroicons/react/16/solid/esm/RssIcon.js":
|
||||||
/*!***************************************************************!*\
|
/*!***************************************************************!*\
|
||||||
!*** ./node_modules/@heroicons/react/16/solid/esm/RssIcon.js ***!
|
!*** ./node_modules/@heroicons/react/16/solid/esm/RssIcon.js ***!
|
||||||
|
File diff suppressed because one or more lines are too long
@ -47,6 +47,11 @@
|
|||||||
/******/ __webpack_require__.m = __webpack_modules__;
|
/******/ __webpack_require__.m = __webpack_modules__;
|
||||||
/******/
|
/******/
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
/******/ /* webpack/runtime/amd options */
|
||||||
|
/******/ (() => {
|
||||||
|
/******/ __webpack_require__.amdO = {};
|
||||||
|
/******/ })();
|
||||||
|
/******/
|
||||||
/******/ /* webpack/runtime/compat get default export */
|
/******/ /* webpack/runtime/compat get default export */
|
||||||
/******/ (() => {
|
/******/ (() => {
|
||||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||||
@ -125,7 +130,7 @@
|
|||||||
/******/
|
/******/
|
||||||
/******/ /* webpack/runtime/getFullHash */
|
/******/ /* webpack/runtime/getFullHash */
|
||||||
/******/ (() => {
|
/******/ (() => {
|
||||||
/******/ __webpack_require__.h = () => ("7c2dbd3a1d648f79")
|
/******/ __webpack_require__.h = () => ("d8f869810fc3d25f")
|
||||||
/******/ })();
|
/******/ })();
|
||||||
/******/
|
/******/
|
||||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||||
|
@ -25,7 +25,7 @@ eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpa
|
|||||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"4205d1db4d33\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz83NTBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNDIwNWQxZGI0ZDMzXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n"));
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"95a7539da324\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9zdHlsZXMvdGFpbHdpbmQuY3NzIiwibWFwcGluZ3MiOiI7QUFBQSwrREFBZSxjQUFjO0FBQzdCLElBQUksSUFBVSxJQUFJLGlCQUFpQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvc3R5bGVzL3RhaWx3aW5kLmNzcz83NTBkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOTVhNzUzOWRhMzI0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/styles/tailwind.css\n"));
|
||||||
|
|
||||||
/***/ })
|
/***/ })
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@
|
|||||||
/******/
|
/******/
|
||||||
/******/ /* webpack/runtime/getFullHash */
|
/******/ /* webpack/runtime/getFullHash */
|
||||||
/******/ !function() {
|
/******/ !function() {
|
||||||
/******/ __webpack_require__.h = function() { return "daae1031be3864b5"; }
|
/******/ __webpack_require__.h = function() { return "b0121ed294c3981e"; }
|
||||||
/******/ }();
|
/******/ }();
|
||||||
/******/
|
/******/
|
||||||
/******/ /* webpack/runtime/global */
|
/******/ /* webpack/runtime/global */
|
||||||
|
@ -43,10 +43,12 @@
|
|||||||
--container-xl: 36rem;
|
--container-xl: 36rem;
|
||||||
--container-2xl: 42rem;
|
--container-2xl: 42rem;
|
||||||
--container-3xl: 48rem;
|
--container-3xl: 48rem;
|
||||||
|
--container-4xl: 56rem;
|
||||||
--container-5xl: 64rem;
|
--container-5xl: 64rem;
|
||||||
--container-6xl: 72rem;
|
--container-6xl: 72rem;
|
||||||
--container-7xl: 80rem;
|
--container-7xl: 80rem;
|
||||||
--text-xs: 0.75rem;
|
--text-xs: 0.75rem;
|
||||||
|
--text-xs--line-height: calc(1 / 0.75);
|
||||||
--text-sm: 0.875rem;
|
--text-sm: 0.875rem;
|
||||||
--text-sm--line-height: calc(1.25 / 0.875);
|
--text-sm--line-height: calc(1.25 / 0.875);
|
||||||
--text-base: 1rem;
|
--text-base: 1rem;
|
||||||
@ -85,6 +87,7 @@
|
|||||||
--radius-2xl: 1rem;
|
--radius-2xl: 1rem;
|
||||||
--radius-3xl: 1.5rem;
|
--radius-3xl: 1.5rem;
|
||||||
--radius-4xl: 2rem;
|
--radius-4xl: 2rem;
|
||||||
|
--drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
|
||||||
--blur-md: 12px;
|
--blur-md: 12px;
|
||||||
--blur-3xl: 64px;
|
--blur-3xl: 64px;
|
||||||
--default-transition-duration: 150ms;
|
--default-transition-duration: 150ms;
|
||||||
@ -511,6 +514,9 @@
|
|||||||
.mt-auto {
|
.mt-auto {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
.-mr-2 {
|
||||||
|
margin-right: calc(var(--spacing) * -2);
|
||||||
|
}
|
||||||
.mr-8 {
|
.mr-8 {
|
||||||
margin-right: calc(var(--spacing) * 8);
|
margin-right: calc(var(--spacing) * 8);
|
||||||
}
|
}
|
||||||
@ -757,6 +763,9 @@
|
|||||||
.w-72 {
|
.w-72 {
|
||||||
width: calc(var(--spacing) * 72);
|
width: calc(var(--spacing) * 72);
|
||||||
}
|
}
|
||||||
|
.w-91\.5 {
|
||||||
|
width: calc(var(--spacing) * 91.5);
|
||||||
|
}
|
||||||
.w-104 {
|
.w-104 {
|
||||||
width: calc(var(--spacing) * 104);
|
width: calc(var(--spacing) * 104);
|
||||||
}
|
}
|
||||||
@ -778,6 +787,9 @@
|
|||||||
.w-full {
|
.w-full {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.w-px {
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
.w-screen {
|
.w-screen {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
}
|
}
|
||||||
@ -790,6 +802,9 @@
|
|||||||
.max-w-3xl {
|
.max-w-3xl {
|
||||||
max-width: var(--container-3xl);
|
max-width: var(--container-3xl);
|
||||||
}
|
}
|
||||||
|
.max-w-4xl {
|
||||||
|
max-width: var(--container-4xl);
|
||||||
|
}
|
||||||
.max-w-5xl {
|
.max-w-5xl {
|
||||||
max-width: var(--container-5xl);
|
max-width: var(--container-5xl);
|
||||||
}
|
}
|
||||||
@ -805,6 +820,9 @@
|
|||||||
.max-w-\[800px\] {
|
.max-w-\[800px\] {
|
||||||
max-width: 800px;
|
max-width: 800px;
|
||||||
}
|
}
|
||||||
|
.max-w-full {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
.max-w-lg {
|
.max-w-lg {
|
||||||
max-width: var(--container-lg);
|
max-width: var(--container-lg);
|
||||||
}
|
}
|
||||||
@ -989,6 +1007,9 @@
|
|||||||
margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
|
margin-block-end: calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.gap-x-1 {
|
||||||
|
column-gap: calc(var(--spacing) * 1);
|
||||||
|
}
|
||||||
.gap-x-2 {
|
.gap-x-2 {
|
||||||
column-gap: calc(var(--spacing) * 2);
|
column-gap: calc(var(--spacing) * 2);
|
||||||
}
|
}
|
||||||
@ -1037,6 +1058,9 @@
|
|||||||
.overflow-hidden {
|
.overflow-hidden {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
.overflow-visible {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
.overflow-x-auto {
|
.overflow-x-auto {
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
@ -1111,6 +1135,10 @@
|
|||||||
border-bottom-style: var(--tw-border-style);
|
border-bottom-style: var(--tw-border-style);
|
||||||
border-bottom-width: 1px;
|
border-bottom-width: 1px;
|
||||||
}
|
}
|
||||||
|
.border-b-2 {
|
||||||
|
border-bottom-style: var(--tw-border-style);
|
||||||
|
border-bottom-width: 2px;
|
||||||
|
}
|
||||||
.border-l-2 {
|
.border-l-2 {
|
||||||
border-left-style: var(--tw-border-style);
|
border-left-style: var(--tw-border-style);
|
||||||
border-left-width: 2px;
|
border-left-width: 2px;
|
||||||
@ -1140,6 +1168,9 @@
|
|||||||
border-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);
|
border-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.border-indigo-500 {
|
||||||
|
border-color: var(--color-indigo-500);
|
||||||
|
}
|
||||||
.border-transparent {
|
.border-transparent {
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
}
|
}
|
||||||
@ -1176,9 +1207,18 @@
|
|||||||
.bg-gray-900 {
|
.bg-gray-900 {
|
||||||
background-color: var(--color-gray-900);
|
background-color: var(--color-gray-900);
|
||||||
}
|
}
|
||||||
|
.bg-gray-900\/10 {
|
||||||
|
background-color: color-mix(in srgb, oklch(21% 0.034 264.665) 10%, transparent);
|
||||||
|
@supports (color: color-mix(in lab, red, red)) {
|
||||||
|
background-color: color-mix(in oklab, var(--color-gray-900) 10%, transparent);
|
||||||
|
}
|
||||||
|
}
|
||||||
.bg-indigo-50 {
|
.bg-indigo-50 {
|
||||||
background-color: var(--color-indigo-50);
|
background-color: var(--color-indigo-50);
|
||||||
}
|
}
|
||||||
|
.bg-indigo-100 {
|
||||||
|
background-color: var(--color-indigo-100);
|
||||||
|
}
|
||||||
.bg-indigo-200\/70 {
|
.bg-indigo-200\/70 {
|
||||||
background-color: color-mix(in srgb, oklch(87% 0.065 274.039) 70%, transparent);
|
background-color: color-mix(in srgb, oklch(87% 0.065 274.039) 70%, transparent);
|
||||||
@supports (color: color-mix(in lab, red, red)) {
|
@supports (color: color-mix(in lab, red, red)) {
|
||||||
@ -1322,6 +1362,10 @@
|
|||||||
--tw-gradient-from: #7848f3;
|
--tw-gradient-from: #7848f3;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
}
|
}
|
||||||
|
.from-\[\#a680ff\] {
|
||||||
|
--tw-gradient-from: #a680ff;
|
||||||
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
|
}
|
||||||
.from-\[\#ac97f7\] {
|
.from-\[\#ac97f7\] {
|
||||||
--tw-gradient-from: #ac97f7;
|
--tw-gradient-from: #ac97f7;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
@ -1330,6 +1374,10 @@
|
|||||||
--tw-gradient-from: #b79fff;
|
--tw-gradient-from: #b79fff;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
}
|
}
|
||||||
|
.from-\[\#bda2fd\] {
|
||||||
|
--tw-gradient-from: #bda2fd;
|
||||||
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
|
}
|
||||||
.from-\[\#cfbeff\] {
|
.from-\[\#cfbeff\] {
|
||||||
--tw-gradient-from: #cfbeff;
|
--tw-gradient-from: #cfbeff;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
@ -1539,6 +1587,10 @@
|
|||||||
--tw-gradient-to: #a8a2f9;
|
--tw-gradient-to: #a8a2f9;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
}
|
}
|
||||||
|
.to-\[\#a59ff8\] {
|
||||||
|
--tw-gradient-to: #a59ff8;
|
||||||
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
|
}
|
||||||
.to-\[\#a983fb\] {
|
.to-\[\#a983fb\] {
|
||||||
--tw-gradient-to: #a983fb;
|
--tw-gradient-to: #a983fb;
|
||||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||||
@ -1610,6 +1662,9 @@
|
|||||||
.mask-\[linear-gradient\(to_bottom\,black_90\%\,transparent\)\,radial-gradient\(circle\,rgba\(0\,0\,0\,1\)_0\%\,rgba\(0\,0\,0\,0\)_100\%\)\] {
|
.mask-\[linear-gradient\(to_bottom\,black_90\%\,transparent\)\,radial-gradient\(circle\,rgba\(0\,0\,0\,1\)_0\%\,rgba\(0\,0\,0\,0\)_100\%\)\] {
|
||||||
mask-image: linear-gradient(to bottom,black 90%,transparent),radial-gradient(circle,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
|
mask-image: linear-gradient(to bottom,black 90%,transparent),radial-gradient(circle,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
|
||||||
}
|
}
|
||||||
|
.mask-\[radial-gradient\(100\%_100\%_at_top_right\,white\,transparent\)\] {
|
||||||
|
mask-image: radial-gradient(100% 100% at top right,white,transparent);
|
||||||
|
}
|
||||||
.bg-size-\[12px_100\%\] {
|
.bg-size-\[12px_100\%\] {
|
||||||
background-size: 12px 100%;
|
background-size: 12px 100%;
|
||||||
}
|
}
|
||||||
@ -1655,6 +1710,9 @@
|
|||||||
fill: color-mix(in oklab, var(--color-black) 10%, transparent);
|
fill: color-mix(in oklab, var(--color-black) 10%, transparent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.fill-gray-50 {
|
||||||
|
fill: var(--color-gray-50);
|
||||||
|
}
|
||||||
.fill-gray-400 {
|
.fill-gray-400 {
|
||||||
fill: var(--color-gray-400);
|
fill: var(--color-gray-400);
|
||||||
}
|
}
|
||||||
@ -1682,6 +1740,9 @@
|
|||||||
fill: color-mix(in oklab, var(--color-white) 50%, transparent);
|
fill: color-mix(in oklab, var(--color-white) 50%, transparent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.stroke-gray-200 {
|
||||||
|
stroke: var(--color-gray-200);
|
||||||
|
}
|
||||||
.stroke-white {
|
.stroke-white {
|
||||||
stroke: var(--color-white);
|
stroke: var(--color-white);
|
||||||
}
|
}
|
||||||
@ -1769,6 +1830,9 @@
|
|||||||
.py-4 {
|
.py-4 {
|
||||||
padding-block: calc(var(--spacing) * 4);
|
padding-block: calc(var(--spacing) * 4);
|
||||||
}
|
}
|
||||||
|
.py-6 {
|
||||||
|
padding-block: calc(var(--spacing) * 6);
|
||||||
|
}
|
||||||
.py-10 {
|
.py-10 {
|
||||||
padding-block: calc(var(--spacing) * 10);
|
padding-block: calc(var(--spacing) * 10);
|
||||||
}
|
}
|
||||||
@ -1778,6 +1842,9 @@
|
|||||||
.py-24 {
|
.py-24 {
|
||||||
padding-block: calc(var(--spacing) * 24);
|
padding-block: calc(var(--spacing) * 24);
|
||||||
}
|
}
|
||||||
|
.py-32 {
|
||||||
|
padding-block: calc(var(--spacing) * 32);
|
||||||
|
}
|
||||||
.py-242 {
|
.py-242 {
|
||||||
padding-block: calc(var(--spacing) * 242);
|
padding-block: calc(var(--spacing) * 242);
|
||||||
}
|
}
|
||||||
@ -1808,6 +1875,9 @@
|
|||||||
.pt-12 {
|
.pt-12 {
|
||||||
padding-top: calc(var(--spacing) * 12);
|
padding-top: calc(var(--spacing) * 12);
|
||||||
}
|
}
|
||||||
|
.pt-14 {
|
||||||
|
padding-top: calc(var(--spacing) * 14);
|
||||||
|
}
|
||||||
.pt-16 {
|
.pt-16 {
|
||||||
padding-top: calc(var(--spacing) * 16);
|
padding-top: calc(var(--spacing) * 16);
|
||||||
}
|
}
|
||||||
@ -1986,6 +2056,10 @@
|
|||||||
font-size: var(--text-xl);
|
font-size: var(--text-xl);
|
||||||
line-height: calc(var(--spacing) * 8);
|
line-height: calc(var(--spacing) * 8);
|
||||||
}
|
}
|
||||||
|
.text-xs {
|
||||||
|
font-size: var(--text-xs);
|
||||||
|
line-height: var(--tw-leading, var(--text-xs--line-height));
|
||||||
|
}
|
||||||
.text-xs\/5 {
|
.text-xs\/5 {
|
||||||
font-size: var(--text-xs);
|
font-size: var(--text-xs);
|
||||||
line-height: calc(var(--spacing) * 5);
|
line-height: calc(var(--spacing) * 5);
|
||||||
@ -2055,6 +2129,9 @@
|
|||||||
.text-gray-300 {
|
.text-gray-300 {
|
||||||
color: var(--color-gray-300);
|
color: var(--color-gray-300);
|
||||||
}
|
}
|
||||||
|
.text-gray-400 {
|
||||||
|
color: var(--color-gray-400);
|
||||||
|
}
|
||||||
.text-gray-500 {
|
.text-gray-500 {
|
||||||
color: var(--color-gray-500);
|
color: var(--color-gray-500);
|
||||||
}
|
}
|
||||||
@ -2064,6 +2141,9 @@
|
|||||||
.text-gray-700 {
|
.text-gray-700 {
|
||||||
color: var(--color-gray-700);
|
color: var(--color-gray-700);
|
||||||
}
|
}
|
||||||
|
.text-gray-800 {
|
||||||
|
color: var(--color-gray-800);
|
||||||
|
}
|
||||||
.text-gray-900 {
|
.text-gray-900 {
|
||||||
color: var(--color-gray-900);
|
color: var(--color-gray-900);
|
||||||
}
|
}
|
||||||
@ -2085,6 +2165,9 @@
|
|||||||
.text-indigo-600 {
|
.text-indigo-600 {
|
||||||
color: var(--color-indigo-600);
|
color: var(--color-indigo-600);
|
||||||
}
|
}
|
||||||
|
.text-indigo-700 {
|
||||||
|
color: var(--color-indigo-700);
|
||||||
|
}
|
||||||
.text-indigo-900 {
|
.text-indigo-900 {
|
||||||
color: var(--color-indigo-900);
|
color: var(--color-indigo-900);
|
||||||
}
|
}
|
||||||
@ -2116,6 +2199,11 @@
|
|||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
.placeholder-gray-500 {
|
||||||
|
&::placeholder {
|
||||||
|
color: var(--color-gray-500);
|
||||||
|
}
|
||||||
|
}
|
||||||
.opacity-0 {
|
.opacity-0 {
|
||||||
opacity: 0%;
|
opacity: 0%;
|
||||||
}
|
}
|
||||||
@ -2269,6 +2357,11 @@
|
|||||||
--tw-drop-shadow: var(--tw-drop-shadow-size);
|
--tw-drop-shadow: var(--tw-drop-shadow-size);
|
||||||
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
||||||
}
|
}
|
||||||
|
.drop-shadow-xl {
|
||||||
|
--tw-drop-shadow-size: drop-shadow(0 9px 7px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1)));
|
||||||
|
--tw-drop-shadow: drop-shadow(var(--drop-shadow-xl));
|
||||||
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
||||||
|
}
|
||||||
.filter {
|
.filter {
|
||||||
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
||||||
}
|
}
|
||||||
@ -2601,6 +2694,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.hover\:bg-indigo-700 {
|
||||||
|
&:hover {
|
||||||
|
@media (hover: hover) {
|
||||||
|
background-color: var(--color-indigo-700);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.hover\:text-gray-600 {
|
.hover\:text-gray-600 {
|
||||||
&:hover {
|
&:hover {
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
@ -2632,6 +2732,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.focus\:ring-2 {
|
||||||
|
&:focus {
|
||||||
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
||||||
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.focus\:ring-indigo-500 {
|
||||||
|
&:focus {
|
||||||
|
--tw-ring-color: var(--color-indigo-500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.focus\:outline-none {
|
||||||
|
&:focus {
|
||||||
|
--tw-outline-style: none;
|
||||||
|
outline-style: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
.focus-visible\:outline {
|
.focus-visible\:outline {
|
||||||
&:focus-visible {
|
&:focus-visible {
|
||||||
outline-style: var(--tw-outline-style);
|
outline-style: var(--tw-outline-style);
|
||||||
@ -2990,6 +3107,21 @@
|
|||||||
margin-top: calc(var(--spacing) * 20);
|
margin-top: calc(var(--spacing) * 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.sm\:mt-24 {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
margin-top: calc(var(--spacing) * 24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sm\:mb-8 {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
margin-bottom: calc(var(--spacing) * 8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sm\:flex {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
}
|
||||||
.sm\:hidden {
|
.sm\:hidden {
|
||||||
@media (width >= 40rem) {
|
@media (width >= 40rem) {
|
||||||
display: none;
|
display: none;
|
||||||
@ -3085,6 +3217,11 @@
|
|||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.sm\:justify-center {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
.sm\:gap-y-20 {
|
.sm\:gap-y-20 {
|
||||||
@media (width >= 40rem) {
|
@media (width >= 40rem) {
|
||||||
row-gap: calc(var(--spacing) * 20);
|
row-gap: calc(var(--spacing) * 20);
|
||||||
@ -3115,6 +3252,11 @@
|
|||||||
padding-block: calc(var(--spacing) * 32);
|
padding-block: calc(var(--spacing) * 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.sm\:py-48 {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
padding-block: calc(var(--spacing) * 48);
|
||||||
|
}
|
||||||
|
}
|
||||||
.sm\:pt-16 {
|
.sm\:pt-16 {
|
||||||
@media (width >= 40rem) {
|
@media (width >= 40rem) {
|
||||||
padding-top: calc(var(--spacing) * 16);
|
padding-top: calc(var(--spacing) * 16);
|
||||||
@ -3142,6 +3284,12 @@
|
|||||||
line-height: var(--tw-leading, var(--text-6xl--line-height));
|
line-height: var(--tw-leading, var(--text-6xl--line-height));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.sm\:text-7xl {
|
||||||
|
@media (width >= 40rem) {
|
||||||
|
font-size: var(--text-7xl);
|
||||||
|
line-height: var(--tw-leading, var(--text-7xl--line-height));
|
||||||
|
}
|
||||||
|
}
|
||||||
.sm\:text-sm\/6 {
|
.sm\:text-sm\/6 {
|
||||||
@media (width >= 40rem) {
|
@media (width >= 40rem) {
|
||||||
font-size: var(--text-sm);
|
font-size: var(--text-sm);
|
||||||
@ -3210,6 +3358,11 @@
|
|||||||
margin-top: calc(var(--spacing) * -52);
|
margin-top: calc(var(--spacing) * -52);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.lg\:mt-0 {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
margin-top: calc(var(--spacing) * 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
.lg\:-mr-16 {
|
.lg\:-mr-16 {
|
||||||
@media (width >= 64rem) {
|
@media (width >= 64rem) {
|
||||||
margin-right: calc(var(--spacing) * -16);
|
margin-right: calc(var(--spacing) * -16);
|
||||||
@ -3295,6 +3448,21 @@
|
|||||||
max-width: var(--container-xl);
|
max-width: var(--container-xl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.lg\:flex-auto {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
flex: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.lg\:shrink-0 {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.lg\:grow {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
.lg\:basis-5\/12 {
|
.lg\:basis-5\/12 {
|
||||||
@media (width >= 64rem) {
|
@media (width >= 64rem) {
|
||||||
flex-basis: calc(5/12 * 100%);
|
flex-basis: calc(5/12 * 100%);
|
||||||
@ -3365,6 +3533,11 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.lg\:items-center {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
.lg\:items-start {
|
.lg\:items-start {
|
||||||
@media (width >= 64rem) {
|
@media (width >= 64rem) {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
@ -3385,6 +3558,11 @@
|
|||||||
gap: calc(var(--spacing) * 12);
|
gap: calc(var(--spacing) * 12);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.lg\:gap-x-10 {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
column-gap: calc(var(--spacing) * 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
.lg\:gap-x-12 {
|
.lg\:gap-x-12 {
|
||||||
@media (width >= 64rem) {
|
@media (width >= 64rem) {
|
||||||
column-gap: calc(var(--spacing) * 12);
|
column-gap: calc(var(--spacing) * 12);
|
||||||
@ -3460,6 +3638,11 @@
|
|||||||
padding-block: calc(var(--spacing) * 32);
|
padding-block: calc(var(--spacing) * 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.lg\:py-40 {
|
||||||
|
@media (width >= 64rem) {
|
||||||
|
padding-block: calc(var(--spacing) * 40);
|
||||||
|
}
|
||||||
|
}
|
||||||
.lg\:py-45 {
|
.lg\:py-45 {
|
||||||
@media (width >= 64rem) {
|
@media (width >= 64rem) {
|
||||||
padding-block: calc(var(--spacing) * 45);
|
padding-block: calc(var(--spacing) * 45);
|
||||||
|
434
.next/trace
434
.next/trace
File diff suppressed because one or more lines are too long
328
package-lock.json
generated
328
package-lock.json
generated
@ -13,6 +13,7 @@
|
|||||||
"@sanity/icons": "^3.7.0",
|
"@sanity/icons": "^3.7.0",
|
||||||
"@sanity/image-url": "^1.1.0",
|
"@sanity/image-url": "^1.1.0",
|
||||||
"@sanity/vision": "^3.91.0",
|
"@sanity/vision": "^3.91.0",
|
||||||
|
"@stripe/stripe-js": "^7.3.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"dayjs": "^1.11.12",
|
"dayjs": "^1.11.12",
|
||||||
"feed": "^4.2.2",
|
"feed": "^4.2.2",
|
||||||
@ -23,6 +24,7 @@
|
|||||||
"react-dom": "^18",
|
"react-dom": "^18",
|
||||||
"react-use-measure": "^2.1.1",
|
"react-use-measure": "^2.1.1",
|
||||||
"sanity": "^3.91.0",
|
"sanity": "^3.91.0",
|
||||||
|
"stripe": "^18.2.1",
|
||||||
"styled-components": "^6.1.18"
|
"styled-components": "^6.1.18"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -4180,9 +4182,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@sanity/client": {
|
"node_modules/@sanity/client": {
|
||||||
"version": "7.4.1",
|
"version": "7.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sanity/client/-/client-7.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@sanity/client/-/client-7.5.0.tgz",
|
||||||
"integrity": "sha512-felqNJ+X3L/wpQYY8ZoOWZZRle0jHjbwJLDZF/S8qZMPRV74/HW4Ks9hUzSpLRdBozMrRwGjG0OlFqcwdtfJ+g==",
|
"integrity": "sha512-Hy5jru/ePBlwTjc6dDxq8kqwiDbHb1l01WOQxRDITyqF8/ksa5fDcfmwjfhIBcFKkC222POd5UZ2vBsS4PSu/w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sanity/eventsource": "^5.0.2",
|
"@sanity/eventsource": "^5.0.2",
|
||||||
@ -5667,6 +5669,15 @@
|
|||||||
"react": "^16.14.0 || 17.x || 18.x || 19.x"
|
"react": "^16.14.0 || 17.x || 18.x || 19.x"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@stripe/stripe-js": {
|
||||||
|
"version": "7.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@stripe/stripe-js/-/stripe-js-7.3.1.tgz",
|
||||||
|
"integrity": "sha512-pTzb864TQWDRQBPLgSPFRoyjSDUqpCkbEgTzpsjiTjGz1Z5SxZNXJek28w1s6Dyry4CyW4/Izj5jHE/J9hCJYQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.16"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@swc/counter": {
|
"node_modules/@swc/counter": {
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
||||||
@ -6681,6 +6692,18 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/anymatch/node_modules/picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/archiver": {
|
"node_modules/archiver": {
|
||||||
"version": "7.0.1",
|
"version": "7.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
|
||||||
@ -7262,6 +7285,35 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/call-bind-apply-helpers": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"function-bind": "^1.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/call-bound": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.2",
|
||||||
|
"get-intrinsic": "^1.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/callsites": {
|
"node_modules/callsites": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||||
@ -8415,7 +8467,7 @@
|
|||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
|
||||||
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
|
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
@ -8547,6 +8599,20 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/dunder-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.1",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"gopd": "^1.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/duplexify": {
|
"node_modules/duplexify": {
|
||||||
"version": "4.1.3",
|
"version": "4.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
|
||||||
@ -8707,13 +8773,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-define-property": {
|
"node_modules/es-define-property": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
||||||
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
|
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"get-intrinsic": "^1.2.4"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
@ -8722,7 +8785,6 @@
|
|||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
||||||
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
@ -8773,10 +8835,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-object-atoms": {
|
"node_modules/es-object-atoms": {
|
||||||
"version": "1.0.0",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
||||||
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
|
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-errors": "^1.3.0"
|
"es-errors": "^1.3.0"
|
||||||
},
|
},
|
||||||
@ -10110,16 +10172,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/get-intrinsic": {
|
"node_modules/get-intrinsic": {
|
||||||
"version": "1.2.4",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
||||||
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
|
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"call-bind-apply-helpers": "^1.0.2",
|
||||||
|
"es-define-property": "^1.0.1",
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
|
"es-object-atoms": "^1.1.1",
|
||||||
"function-bind": "^1.1.2",
|
"function-bind": "^1.1.2",
|
||||||
"has-proto": "^1.0.1",
|
"get-proto": "^1.0.1",
|
||||||
"has-symbols": "^1.0.3",
|
"gopd": "^1.2.0",
|
||||||
"hasown": "^2.0.0"
|
"has-symbols": "^1.1.0",
|
||||||
|
"hasown": "^2.0.2",
|
||||||
|
"math-intrinsics": "^1.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
@ -10154,6 +10221,19 @@
|
|||||||
"node": ">=8.0.0"
|
"node": ">=8.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/get-proto": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"dunder-proto": "^1.0.1",
|
||||||
|
"es-object-atoms": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/get-random-values": {
|
"node_modules/get-random-values": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz",
|
||||||
@ -10404,12 +10484,12 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/gopd": {
|
"node_modules/gopd": {
|
||||||
"version": "1.0.1",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
||||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"dependencies": {
|
"engines": {
|
||||||
"get-intrinsic": "^1.1.3"
|
"node": ">= 0.4"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
@ -10561,10 +10641,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/has-symbols": {
|
"node_modules/has-symbols": {
|
||||||
"version": "1.0.3",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
||||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
},
|
},
|
||||||
@ -11630,7 +11710,7 @@
|
|||||||
"version": "2.4.2",
|
"version": "2.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
||||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bin": {
|
"bin": {
|
||||||
"jiti": "lib/jiti-cli.mjs"
|
"jiti": "lib/jiti-cli.mjs"
|
||||||
@ -11900,7 +11980,7 @@
|
|||||||
"version": "1.30.1",
|
"version": "1.30.1",
|
||||||
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz",
|
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz",
|
||||||
"integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
|
"integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"detect-libc": "^2.0.3"
|
"detect-libc": "^2.0.3"
|
||||||
@ -12386,6 +12466,15 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/math-intrinsics": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/md5-o-matic": {
|
"node_modules/md5-o-matic": {
|
||||||
"version": "0.1.1",
|
"version": "0.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
|
||||||
@ -12467,6 +12556,18 @@
|
|||||||
"node": ">=8.6"
|
"node": ">=8.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/micromatch/node_modules/picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/mime-db": {
|
"node_modules/mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
@ -12940,9 +13041,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/object-inspect": {
|
"node_modules/object-inspect": {
|
||||||
"version": "1.13.2",
|
"version": "1.13.4",
|
||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
||||||
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
|
"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
},
|
},
|
||||||
@ -13530,11 +13632,12 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/picomatch": {
|
"node_modules/picomatch": {
|
||||||
"version": "2.3.1",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
||||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
||||||
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8.6"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
@ -13946,6 +14049,21 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/qs": {
|
||||||
|
"version": "6.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
|
||||||
|
"integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"dependencies": {
|
||||||
|
"side-channel": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/querystringify": {
|
"node_modules/querystringify": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
|
||||||
@ -14356,6 +14474,18 @@
|
|||||||
"node": ">=8.10.0"
|
"node": ">=8.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/readdirp/node_modules/picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/redent": {
|
"node_modules/redent": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
|
||||||
@ -15168,15 +15298,69 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/side-channel": {
|
"node_modules/side-channel": {
|
||||||
"version": "1.0.6",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
||||||
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
|
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
|
||||||
"dev": true,
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"call-bind": "^1.0.7",
|
|
||||||
"es-errors": "^1.3.0",
|
"es-errors": "^1.3.0",
|
||||||
"get-intrinsic": "^1.2.4",
|
"object-inspect": "^1.13.3",
|
||||||
"object-inspect": "^1.13.1"
|
"side-channel-list": "^1.0.0",
|
||||||
|
"side-channel-map": "^1.0.1",
|
||||||
|
"side-channel-weakmap": "^1.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/side-channel-list": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"object-inspect": "^1.13.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/side-channel-map": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bound": "^1.0.2",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"get-intrinsic": "^1.2.5",
|
||||||
|
"object-inspect": "^1.13.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/side-channel-weakmap": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"call-bound": "^1.0.2",
|
||||||
|
"es-errors": "^1.3.0",
|
||||||
|
"get-intrinsic": "^1.2.5",
|
||||||
|
"object-inspect": "^1.13.3",
|
||||||
|
"side-channel-map": "^1.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
@ -15675,6 +15859,26 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/stripe": {
|
||||||
|
"version": "18.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/stripe/-/stripe-18.2.1.tgz",
|
||||||
|
"integrity": "sha512-GwB1B7WSwEBzW4dilgyJruUYhbGMscrwuyHsPUmSRKrGHZ5poSh2oU9XKdii5BFVJzXHn35geRvGJ6R8bYcp8w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"qs": "^6.11.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.*"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/node": ">=12.x.x"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/node": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/style-mod": {
|
"node_modules/style-mod": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
|
||||||
@ -15963,18 +16167,6 @@
|
|||||||
"url": "https://github.com/sponsors/SuperchupuDev"
|
"url": "https://github.com/sponsors/SuperchupuDev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tinyglobby/node_modules/picomatch": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/tldts": {
|
"node_modules/tldts": {
|
||||||
"version": "6.1.86",
|
"version": "6.1.86",
|
||||||
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
|
"resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
|
||||||
@ -16268,7 +16460,7 @@
|
|||||||
"version": "5.6.2",
|
"version": "5.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
|
||||||
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
|
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
|
||||||
"dev": true,
|
"devOptional": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
@ -16722,18 +16914,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite/node_modules/picomatch": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/jonschlinkert"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/void-elements": {
|
"node_modules/void-elements": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"@sanity/icons": "^3.7.0",
|
"@sanity/icons": "^3.7.0",
|
||||||
"@sanity/image-url": "^1.1.0",
|
"@sanity/image-url": "^1.1.0",
|
||||||
"@sanity/vision": "^3.91.0",
|
"@sanity/vision": "^3.91.0",
|
||||||
|
"@stripe/stripe-js": "^7.3.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"dayjs": "^1.11.12",
|
"dayjs": "^1.11.12",
|
||||||
"feed": "^4.2.2",
|
"feed": "^4.2.2",
|
||||||
@ -25,6 +26,7 @@
|
|||||||
"react-dom": "^18",
|
"react-dom": "^18",
|
||||||
"react-use-measure": "^2.1.1",
|
"react-use-measure": "^2.1.1",
|
||||||
"sanity": "^3.91.0",
|
"sanity": "^3.91.0",
|
||||||
|
"stripe": "^18.2.1",
|
||||||
"styled-components": "^6.1.18"
|
"styled-components": "^6.1.18"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
36
src/app/api/create-checkout-session/route.ts
Normal file
36
src/app/api/create-checkout-session/route.ts
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
// src/app/api/create-checkout-session/route.ts
|
||||||
|
import { NextResponse } from 'next/server'
|
||||||
|
import Stripe from 'stripe'
|
||||||
|
|
||||||
|
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
|
||||||
|
apiVersion: '2023-08-16',
|
||||||
|
})
|
||||||
|
|
||||||
|
export async function POST(req: Request) {
|
||||||
|
const { amount } = await req.json()
|
||||||
|
|
||||||
|
try {
|
||||||
|
const session = await stripe.checkout.sessions.create({
|
||||||
|
payment_method_types: ['card'],
|
||||||
|
line_items: [
|
||||||
|
{
|
||||||
|
price_data: {
|
||||||
|
currency: 'usd',
|
||||||
|
product_data: {
|
||||||
|
name: 'Indaba Donation',
|
||||||
|
},
|
||||||
|
unit_amount: amount * 100,
|
||||||
|
},
|
||||||
|
quantity: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
mode: 'payment',
|
||||||
|
success_url: `${process.env.NEXT_PUBLIC_BASE_URL}/success`,
|
||||||
|
cancel_url: `${process.env.NEXT_PUBLIC_BASE_URL}/cancel`,
|
||||||
|
})
|
||||||
|
|
||||||
|
return NextResponse.json({ url: session.url })
|
||||||
|
} catch (error) {
|
||||||
|
return NextResponse.json({ error: 'Stripe checkout failed' }, { status: 500 })
|
||||||
|
}
|
||||||
|
}
|
@ -11,80 +11,57 @@ import { RocketLaunchIcon } from '@heroicons/react/20/solid'
|
|||||||
import Portfolio from '@/components/portfolio'
|
import Portfolio from '@/components/portfolio'
|
||||||
import { Testimonials } from '@/components/testimonials'
|
import { Testimonials } from '@/components/testimonials'
|
||||||
import ProjectCard from '@/components/projectcards'
|
import ProjectCard from '@/components/projectcards'
|
||||||
|
import { CompanyTestimonial } from '@/components/companytestimonial'
|
||||||
|
import { CTA } from '@/components/cta'
|
||||||
|
import { ChevronRightIcon } from '@heroicons/react/24/outline'
|
||||||
|
import DonateButton from '@/components/donatebutton'
|
||||||
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: 'Get Involved',
|
title: 'Get Involved',
|
||||||
description:
|
description:
|
||||||
'Indaba is a Social Business with a mission to empower young people to be resilient, develop their full potential and serve the common good by developing a better educational system powered by world-class technological, collaborative and educational solutions accessible online and offline, affordable to the many.',
|
'Together, we can transform education and empower future generations.',
|
||||||
}
|
}
|
||||||
|
|
||||||
function Header() {
|
function Header() {
|
||||||
return (
|
return (
|
||||||
<Container className="mt-16">
|
<div className="relative isolate">
|
||||||
<div className='lg:max-w-6xl'>
|
<svg
|
||||||
<Heading as="h1">Deliver Transformational Learning – Anywhere.</Heading>
|
aria-hidden="true"
|
||||||
<Lead className="mt-8 max-w-3xl">
|
className="absolute inset-0 -z-10 size-full mask-[radial-gradient(100%_100%_at_top_right,white,transparent)] stroke-gray-200"
|
||||||
From early childhood to vocational skills and lifelong learning, Indaba brings transformative education directly to the communities that need it most.
|
>
|
||||||
</Lead>
|
<defs>
|
||||||
</div>
|
<pattern
|
||||||
</Container>
|
x="50%"
|
||||||
)
|
y={-1}
|
||||||
}
|
id="83fd4e5a-9d52-42fc-97b6-718e5d7ee527"
|
||||||
|
width={200}
|
||||||
|
height={200}
|
||||||
|
patternUnits="userSpaceOnUse"
|
||||||
const features = [
|
>
|
||||||
{
|
<path d="M100 200V.5M.5 .5H200" fill="none" />
|
||||||
name: 'Reached 8,000+ young learners',
|
</pattern>
|
||||||
description:
|
</defs>
|
||||||
"Indaba's ECD initiatives have already empowered thousands of children across underserved communities in Africa and Latin America, offering early access to essential learning tools.",
|
<svg x="50%" y={-1} className="overflow-visible fill-gray-50">
|
||||||
icon: RocketLaunchIcon,
|
<path
|
||||||
},
|
d="M-100.5 0h201v201h-201Z M699.5 0h201v201h-201Z M499.5 400h201v201h-201Z M-300.5 600h201v201h-201Z"
|
||||||
{
|
strokeWidth={0}
|
||||||
name: ' Localized curriculum across 4 regions.',
|
|
||||||
description: 'Each program is co-developed with local educators and elders, ensuring cultural alignment and deep community ownership.',
|
|
||||||
icon: RocketLaunchIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '99.9% parent satisfaction rate.',
|
|
||||||
description: 'Parents consistently report increased confidence, stronger engagement with their children, and a desire to expand the program in their communities.',
|
|
||||||
icon: RocketLaunchIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
function Overview() {
|
|
||||||
return (
|
|
||||||
<div className="overflow-hidden bg-white pb-24 pt-8">
|
|
||||||
<div className="mx-auto max-w-7xl px-6 lg:px-0">
|
|
||||||
<div className="mx-auto grid max-w-2xl grid-cols-1 gap-x-8 gap-y-16 sm:gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-2">
|
|
||||||
<div className="lg:pt-4 lg:pr-8">
|
|
||||||
<div className="lg:max-w-2xl">
|
|
||||||
<p className="text-lg/9 text-gray-600 leading-normal">
|
|
||||||
500 million children globally lack access to foundational education during the most critical years of brain development. Indaba addresses this urgent need by delivering culturally grounded Early Childhood Development (ECD) programs.
|
|
||||||
</p>
|
|
||||||
<p className="mt-6 text-lg/9 text-gray-600 leading-normal">
|
|
||||||
Through a blend of online and offline tools, local storytelling, and community hubs, we equip parents and caregivers to nurture children’s cognitive, emotional, and social growth — starting from birth.
|
|
||||||
</p>
|
|
||||||
<dl className="mt-10 max-w-xl space-y-8 text-base/7 text-gray-600 lg:max-w-none">
|
|
||||||
{features.map((feature) => (
|
|
||||||
<div key={feature.name} className="relative pl-9">
|
|
||||||
<dt className="inline font-semibold text-gray-900">
|
|
||||||
<feature.icon aria-hidden="true" className="absolute top-1 left-1 size-5 text-indigo-600" />
|
|
||||||
{feature.name}
|
|
||||||
</dt>{' '}
|
|
||||||
<dd className="inline">{feature.description}</dd>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<img
|
|
||||||
alt="Product screenshot"
|
|
||||||
src="/projects/projects.jpg"
|
|
||||||
width={2432}
|
|
||||||
height={1442}
|
|
||||||
className="w-2xl max-w-none sm:w-228 md:-ml-4 lg:-ml-0"
|
|
||||||
/>
|
/>
|
||||||
|
</svg>
|
||||||
|
<rect fill="url(#83fd4e5a-9d52-42fc-97b6-718e5d7ee527)" width="100%" height="100%" strokeWidth={0} />
|
||||||
|
</svg>
|
||||||
|
<div className="mx-auto max-w-7xl px-6 py-24 lg:flex lg:items-center lg:gap-x-10 lg:px-8 lg:py-40">
|
||||||
|
<div className="mx-auto max-w-2xl lg:mx-0 lg:flex-auto">
|
||||||
|
<Heading as="h1" className="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">
|
||||||
|
Get Involved
|
||||||
|
</Heading>
|
||||||
|
<p className="mt-8 text-lg font-medium text-pretty text-gray-500 sm:text-xl/8">
|
||||||
|
Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet
|
||||||
|
fugiat veniam occaecat fugiat aliqua. Anim aute id magna aliqua ad ad non deserunt sunt.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div className="mt-16 sm:mt-24 lg:mt-0 lg:shrink-0 lg:grow">
|
||||||
|
<DonateButton />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,8 +69,8 @@ const features = [
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
import { CompanyTestimonial } from '@/components/companytestimonial'
|
|
||||||
import { CTA } from '@/components/cta'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -108,8 +85,6 @@ export default function GetInvolved() {
|
|||||||
<Navbar color="black" />
|
<Navbar color="black" />
|
||||||
</Container>
|
</Container>
|
||||||
<Header />
|
<Header />
|
||||||
<Overview />
|
|
||||||
<ProjectCard />
|
|
||||||
<CTA />
|
<CTA />
|
||||||
<Footer />
|
<Footer />
|
||||||
</main>
|
</main>
|
||||||
|
110
src/components/donatebutton.tsx
Normal file
110
src/components/donatebutton.tsx
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
'use client'
|
||||||
|
|
||||||
|
import { useState } from 'react'
|
||||||
|
|
||||||
|
const PRESETS = [10, 20, 40, 100]
|
||||||
|
|
||||||
|
export default function DonateButton() {
|
||||||
|
const [amount, setAmount] = useState<number | null>(40)
|
||||||
|
const [customAmount, setCustomAmount] = useState('')
|
||||||
|
const [interval, setInterval] = useState<'once' | 'monthly'>('monthly')
|
||||||
|
|
||||||
|
const handleDonate = async () => {
|
||||||
|
const donation = amount ?? parseFloat(customAmount)
|
||||||
|
if (!donation || donation <= 0) return alert('Please enter a valid amount')
|
||||||
|
|
||||||
|
const res = await fetch('/api/create-checkout-session', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: { 'Content-Type': 'application/json' },
|
||||||
|
body: JSON.stringify({ amount: donation }),
|
||||||
|
})
|
||||||
|
|
||||||
|
const data = await res.json()
|
||||||
|
if (data.url) {
|
||||||
|
window.location.href = data.url
|
||||||
|
} else {
|
||||||
|
alert('Something went wrong.')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="max-w-md mx-auto bg-white rounded-xl shadow-lg overflow-hidden border border-gray-200">
|
||||||
|
<div className="flex">
|
||||||
|
<button
|
||||||
|
className={`flex-1 py-3 text-center font-semibold ${
|
||||||
|
interval === 'once'
|
||||||
|
? 'bg-indigo-100 text-indigo-700'
|
||||||
|
: 'bg-white text-gray-600'
|
||||||
|
} border-b-2 border-indigo-500`}
|
||||||
|
onClick={() => setInterval('once')}
|
||||||
|
>
|
||||||
|
GIVE ONCE
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
className={`flex-1 py-3 text-center font-semibold ${
|
||||||
|
interval === 'monthly'
|
||||||
|
? 'bg-indigo-500 text-white'
|
||||||
|
: 'bg-white text-gray-600'
|
||||||
|
} border-b-2 border-indigo-500`}
|
||||||
|
onClick={() => setInterval('monthly')}
|
||||||
|
>
|
||||||
|
MONTHLY
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="px-6 py-6 bg-gray-50">
|
||||||
|
<h3 className="text-center text-lg font-semibold text-gray-800">
|
||||||
|
Choose an amount to give {interval === 'monthly' ? 'per month' : 'today'}
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div className="mt-6 grid grid-cols-2 gap-4">
|
||||||
|
{PRESETS.map((preset) => (
|
||||||
|
<button
|
||||||
|
key={preset}
|
||||||
|
onClick={() => {
|
||||||
|
setAmount(preset)
|
||||||
|
setCustomAmount('')
|
||||||
|
}}
|
||||||
|
className={`rounded-md px-4 py-3 text-sm font-medium border ${
|
||||||
|
amount === preset
|
||||||
|
? 'bg-indigo-500 text-white border-indigo-500'
|
||||||
|
: 'bg-white text-gray-700 border-gray-300'
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
${preset} USD{interval === 'monthly' ? '/mo' : ''}
|
||||||
|
</button>
|
||||||
|
))}
|
||||||
|
<input
|
||||||
|
type="number"
|
||||||
|
placeholder="Other amount"
|
||||||
|
value={customAmount}
|
||||||
|
onChange={(e) => {
|
||||||
|
setCustomAmount(e.target.value)
|
||||||
|
setAmount(null)
|
||||||
|
}}
|
||||||
|
className="col-span-2 rounded-md border border-gray-300 px-4 py-3 text-sm placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-indigo-500"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button
|
||||||
|
onClick={handleDonate}
|
||||||
|
className="mt-6 w-full bg-indigo-600 hover:bg-indigo-700 text-white font-semibold py-3 rounded-md"
|
||||||
|
>
|
||||||
|
DONATE {interval === 'monthly' ? 'MONTHLY' : 'NOW'}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
{amount || customAmount ? (
|
||||||
|
<p className="mt-4 text-center text-sm text-gray-600">
|
||||||
|
Your <span className="font-semibold text-indigo-600">${amount ?? customAmount}.00</span>{' '}
|
||||||
|
{interval === 'monthly' ? 'monthly donation' : 'one-time donation'} can support vital
|
||||||
|
education and community impact through Indaba.
|
||||||
|
</p>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="px-6 pb-4 text-center text-xs text-gray-500 border-t border-gray-200">
|
||||||
|
🔒 Secure payment • Powered by Stripe
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user