Changeset View
Changeset View
Standalone View
Standalone View
landing/subscription-form.react.js
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | function SubscriptionForm(): React.Node { | ||||
); | ); | ||||
React.useEffect(() => { | React.useEffect(() => { | ||||
setSubscriptionFormStatus({ status: 'pending' }); | setSubscriptionFormStatus({ status: 'pending' }); | ||||
}, [email]); | }, [email]); | ||||
let btnText = 'Request Access'; | let btnText = 'Request Access'; | ||||
let btnStyle = css.button; | let btnStyle = css.button; | ||||
let inputStyle = css.email_input; | let inputStyle = css.emailInput; | ||||
if (subscriptionFormStatus.status === 'error') { | if (subscriptionFormStatus.status === 'error') { | ||||
btnText = subscriptionFormStatus.error; | btnText = subscriptionFormStatus.error; | ||||
btnStyle = `${css.button} ${css.button_failure}`; | btnStyle = `${css.button} ${css.buttonFailure}`; | ||||
inputStyle = `${css.email_input} ${css.email_input_failure}`; | inputStyle = `${css.emailInput} ${css.emailInputFailure}`; | ||||
} else if (subscriptionFormStatus.status === 'success') { | } else if (subscriptionFormStatus.status === 'success') { | ||||
btnText = 'Requested!'; | btnText = 'Requested!'; | ||||
btnStyle = `${css.button} ${css.button_success}`; | btnStyle = `${css.button} ${css.buttonSuccess}`; | ||||
} | } | ||||
const inputClassName = classNames([typography.paragraph2, inputStyle]); | const inputClassName = classNames([typography.paragraph2, inputStyle]); | ||||
const buttonClassName = classNames([typography.paragraph2, btnStyle]); | const buttonClassName = classNames([typography.paragraph2, btnStyle]); | ||||
const onEmailChange = React.useCallback(e => { | const onEmailChange = React.useCallback(e => { | ||||
setEmail(e.target.value); | setEmail(e.target.value); | ||||
}, []); | }, []); | ||||
Show All 18 Lines |