From a1669567478d17581cad55e84f82140b1367ebc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20=C3=96sterlund?= Date: Thu, 1 Aug 2024 20:48:52 +0200 Subject: [PATCH] add faq --- components/pages/landing-page.scss | 20 +- components/pages/landing-page.tsx | 35 ++- .../partials/sales-card/sales-card.scss | 4 + package-lock.json | 241 +++++++++++++++++- package.json | 3 +- pages/_app.tsx | 1 + 6 files changed, 299 insertions(+), 5 deletions(-) diff --git a/components/pages/landing-page.scss b/components/pages/landing-page.scss index ec814f8..bc44bda 100644 --- a/components/pages/landing-page.scss +++ b/components/pages/landing-page.scss @@ -38,7 +38,7 @@ html { } .landingPage__pricing { - padding: 2rem 0; + padding: 0; display: flex; flex-direction: column; align-items: center; @@ -303,3 +303,21 @@ html { color: #5a585d; } } + +.faq { + display: flex; + flex-direction: column; + align-items: center; + background-color: #fff; + width: 100%; + padding-bottom: 4rem; + + .rs-panel-group, + .rs-panel-btn { + font-size: 1.175rem; + } + + .rs-panel-body { + color: #5a585d; + } +} diff --git a/components/pages/landing-page.tsx b/components/pages/landing-page.tsx index 2fb6e58..a118691 100644 --- a/components/pages/landing-page.tsx +++ b/components/pages/landing-page.tsx @@ -3,6 +3,7 @@ import AppUnderline from "../partials/svg/underline"; import Link from "next/link"; import SalesCard from "../partials/sales-card/sales-card"; import AppCalendar from "../partials/app-calendar/app-calendar"; +import {Accordion} from 'rsuite'; export default function LandingPage() { return ( @@ -18,7 +19,7 @@ export default function LandingPage() {

- Spare yourself the hassle of getting it all right: forms, calendar toggles, drag-to-create events. Someone already built all that for you. + Don't waste time building stuff like forms, calendar toggles, or drag-to-create. Someone already built all that for you.

@@ -38,7 +39,11 @@ export default function LandingPage() { -
+
+ + + +

Pricing

@@ -74,6 +79,32 @@ export default function LandingPage() { buttonClass={'black'} />
+ + + + +
+ +
+

FAQ

+ + + + Yes, you can. Though I plan to introduce an OEM license later, I believe in honoring those who believed in the project early on. You can continue using Schedule-X premium commercially without having to upgrade licenses later on, if you buy it before OEM licensing is introduced. + + + There is no limit to how many issues and feature requests you can submit. However, you buy the software as is, without any guarantee that I will build features that you request. If I believe that a feature is useful to many customers, I am more likely to build it. + +
+
+ + If you want certainty that a feature will be built, you need to select an enterprise license so we can discuss the terms of the feature request. +
+ + Yes. This is even encouraged. For example, you can use software like Verdaccio or JFrog artifactory. However, + this does not mean that you are allowed to use Schedule-X premium beyond the terms of the license you purchased. You need to pay the yearly subscription, for as long as the software is being used. + +
diff --git a/components/partials/sales-card/sales-card.scss b/components/partials/sales-card/sales-card.scss index bb49b12..aced9fd 100644 --- a/components/partials/sales-card/sales-card.scss +++ b/components/partials/sales-card/sales-card.scss @@ -74,5 +74,9 @@ box-shadow: 0 0 10px rgb(0 0 0 / 10%); cursor: pointer; margin-top: 1rem; + + &:hover { + transform: translateY(-2px); + } } } diff --git a/package-lock.json b/package-lock.json index 8de2b41..4224dbc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,8 @@ "nextra-theme-docs": "latest", "react": "^18.2.0", "react-countdown-circle-timer": "^3.2.1", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "rsuite": "^5.68.0" }, "devDependencies": { "@schedule-x/eslint-config": "^1.41.2", @@ -464,6 +465,11 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "node_modules/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==" + }, "node_modules/@lemonsqueezy/lemonsqueezy.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@lemonsqueezy/lemonsqueezy.js/-/lemonsqueezy.js-3.2.0.tgz", @@ -977,6 +983,27 @@ "url": "https://opencollective.com/preact" } }, + "node_modules/@rsuite/icon-font": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@rsuite/icon-font/-/icon-font-4.0.0.tgz", + "integrity": "sha512-rZTgpTH3H3HLczCA2rnkWfoMKm0ZXoRzsrkVujfP/FfslnKUMvO6w56pa8pCvhWGpNEPUsLS2ULnFGpTEcup/Q==" + }, + "node_modules/@rsuite/icons": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rsuite/icons/-/icons-1.0.3.tgz", + "integrity": "sha512-qkjYFn1v5YV9eH57Q4AJ8CwsQYfILun2wdoxhQg5+xYxkIu6UyF8vTMmpOzLvcybTE7D8STm4dH7vhpyhPOC7g==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@rsuite/icon-font": "^4.0.0", + "classnames": "^2.2.5", + "insert-css": "^2.0.0", + "lodash": "^4.17.20" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@schedule-x/calendar": { "version": "1.56.0", "resolved": "https://registry.npmjs.org/@schedule-x/calendar/-/calendar-1.56.0.tgz", @@ -1206,6 +1233,11 @@ "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==" }, + "node_modules/@types/lodash": { + "version": "4.17.7", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", + "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==" + }, "node_modules/@types/mdast": { "version": "3.0.15", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", @@ -1248,6 +1280,14 @@ "csstype": "^3.0.2" } }, + "node_modules/@types/react-window": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.8.tgz", + "integrity": "sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", @@ -1883,6 +1923,11 @@ "fsevents": "~2.3.2" } }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", @@ -2544,6 +2589,21 @@ "lodash-es": "^4.17.21" } }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, "node_modules/dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -2643,6 +2703,14 @@ "node": ">=6.0.0" } }, + "node_modules/dom-lib": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/dom-lib/-/dom-lib-3.3.1.tgz", + "integrity": "sha512-N2mpo8qQmB9wIMZJVjER+BSh4GJiZZ7S6EjnMtyETcXo90hpITUDXpUhqOcfXZ2ZefytuYYKTZMp3CGR2X+tDA==", + "dependencies": { + "@babel/runtime": "^7.20.0" + } + }, "node_modules/dompurify": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", @@ -3457,6 +3525,17 @@ "node": ">=4" } }, + "node_modules/get-value": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-3.0.1.tgz", + "integrity": "sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=6.0" + } + }, "node_modules/git-up": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", @@ -4144,6 +4223,11 @@ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, + "node_modules/insert-css": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", + "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==" + }, "node_modules/internmap": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", @@ -4336,6 +4420,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-reference": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", @@ -4365,6 +4457,14 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5124,6 +5224,11 @@ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", @@ -6244,6 +6349,14 @@ "url": "https://github.com/nebrelbug/npm-to-yarn?sponsor=1" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -6601,6 +6714,16 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/property-information": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", @@ -6679,6 +6802,35 @@ "react": "^18.3.1" } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-use-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-use-set/-/react-use-set-1.0.0.tgz", + "integrity": "sha512-6BBbOcWc/tOKuwd9gDtdunvOr/g40S0SkCBYvrSJvpI0upzNlHmLoeDvylnoP8PrjQXItClAFxseVGGhEkk7kw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/react-window": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.10.tgz", + "integrity": "sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -7054,6 +7206,56 @@ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, + "node_modules/rsuite": { + "version": "5.68.0", + "resolved": "https://registry.npmjs.org/rsuite/-/rsuite-5.68.0.tgz", + "integrity": "sha512-KNzeUS/G/Y7sfSlWIxEmvLFMrH1ojRfduMc1sjq+DW2hRXnOD9HdOPQL7iMA76BD+wCq1Vti5lL8xrtlrSFK8A==", + "dependencies": { + "@babel/runtime": "^7.20.1", + "@juggle/resize-observer": "^3.4.0", + "@rsuite/icons": "^1.0.2", + "@types/lodash": "^4.14.184", + "@types/prop-types": "^15.7.5", + "@types/react-window": "^1.8.5", + "classnames": "^2.3.1", + "date-fns": "^2.29.3", + "dom-lib": "^3.3.1", + "lodash": "^4.17.11", + "prop-types": "^15.8.1", + "react-use-set": "^1.0.0", + "react-window": "^1.8.8", + "rsuite-table": "^5.18.3", + "schema-typed": "^2.2.2" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/rsuite-table": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/rsuite-table/-/rsuite-table-5.18.3.tgz", + "integrity": "sha512-Rua79XndYY+UdCUpBuH1Ew5qa54y6zLZ0RNRnudKgamksrV1j+rUhcCsA03a5ZY+b8DXTwct4V/Q6K9q/cJT5w==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@juggle/resize-observer": "^3.3.1", + "@rsuite/icons": "^1.0.0", + "classnames": "^2.3.1", + "dom-lib": "^3.1.3", + "lodash": "^4.17.21", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "prop-types": "^15.7.2", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/rsuite-table/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -7123,6 +7325,15 @@ "loose-envify": "^1.1.0" } }, + "node_modules/schema-typed": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/schema-typed/-/schema-typed-2.2.2.tgz", + "integrity": "sha512-hRmqKr5V6UyhmZ0FixRVetgxvudRPjDynVZZRNq6t4EZHii7U33vmqd9uap3s4aqBcDg1JtubMNvCEmsZTpm3Q==", + "dependencies": { + "get-value": "^3.0.1", + "set-value": "^4.1.0" + } + }, "node_modules/scroll-into-view-if-needed": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", @@ -7155,6 +7366,34 @@ "node": ">=10" } }, + "node_modules/set-value": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", + "funding": [ + "https://github.com/sponsors/jonschlinkert", + "https://paypal.me/jonathanschlinkert", + "https://jonschlinkert.dev/sponsor" + ], + "dependencies": { + "is-plain-object": "^2.0.4", + "is-primitive": "^3.0.1" + }, + "engines": { + "node": ">=11.0" + } + }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", diff --git a/package.json b/package.json index 8baee08..fbbf5e4 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,8 @@ "nextra-theme-docs": "latest", "react": "^18.2.0", "react-countdown-circle-timer": "^3.2.1", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "rsuite": "^5.68.0" }, "devDependencies": { "@schedule-x/eslint-config": "^1.41.2", diff --git a/pages/_app.tsx b/pages/_app.tsx index 35cc441..a606ce6 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -9,6 +9,7 @@ import '@schedule-x/theme-default/dist/index.css' import '@sx-premium/sidebar/index.css' import '@sx-premium/interactive-event-modal/index.css' import '@sx-premium/drag-to-create/index.css' +import 'rsuite/dist/rsuite-no-reset.min.css'; import Script from "next/script"; const podkova = Podkova({