import React, { FC } from 'react'; import { Button, LinkButton, Input, Form, Field } from '@grafana/ui'; import { css } from 'emotion'; import { getConfig } from 'app/core/config'; import { getBackendSrv } from '@grafana/runtime'; interface SignupFormModel { email: string; username?: string; password: string; orgName: string; code?: string; name?: string; } interface Props { email?: string; orgName?: string; username?: string; code?: string; name?: string; verifyEmailEnabled?: boolean; autoAssignOrg?: boolean; } const buttonSpacing = css` margin-left: 15px; `; export const SignupForm: FC = props => { const verifyEmailEnabled = props.verifyEmailEnabled; const autoAssignOrg = props.autoAssignOrg; const onSubmit = async (formData: SignupFormModel) => { if (formData.name === '') { delete formData.name; } const response = await getBackendSrv().post('/api/user/signup/step2', { email: formData.email, code: formData.code, username: formData.email, orgName: formData.orgName, password: formData.password, name: formData.name, }); if (response.code === 'redirect-to-select-org') { window.location.href = getConfig().appSubUrl + '/profile/select-org?signup=1'; } window.location.href = getConfig().appSubUrl + '/'; }; const defaultValues = { orgName: props.orgName, email: props.email, username: props.email, code: props.code, name: props.name, }; return (
{({ register, errors }) => { return ( <> {verifyEmailEnabled && ( )} {!autoAssignOrg && ( )} Back ); }}
); };