* feat: initial button setup client * feat: rename walletsButton to .tsx * chore: typescriptize wallet component * chore: re-add keys to config, env, etc + check in gatsby-node * feat: refactor donate form and wallet component * feat(client): set labels correctly * chore: add stripe package back to server * chore: add stripe back to allowed paths * chore: copy donate.js code from PR #41924 * feat: attempt to make back end work * feat: make redux work * feat: clean up * feat: hokify * feat: add error handling * fix: back-end should be working * fix: type errors * fix: clean up back-end * feat:addd styles * feat: connect the client to the api * feat: display wallets button everywhere * test: add stripe key for cypress action * test: fix for cypress tests * test: cypress tests again * test: maybe? * test: more * test: more * test: more * test * askdfjasklfj * fix: tests finally? * revert: remove space from cypress yaml action * remove logs Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
16 lines
471 B
JavaScript
16 lines
471 B
JavaScript
import { isEmail, isNumeric } from 'validator';
|
|
import {
|
|
durationKeysConfig,
|
|
donationOneTimeConfig,
|
|
donationSubscriptionConfig
|
|
} from '../../../../config/donation-settings';
|
|
|
|
export function validStripeForm(amount, duration, email) {
|
|
return isEmail('' + email) &&
|
|
isNumeric('' + amount) &&
|
|
durationKeysConfig.includes(duration) &&
|
|
duration === 'onetime'
|
|
? donationOneTimeConfig.includes(amount)
|
|
: donationSubscriptionConfig.plans[duration];
|
|
}
|