| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import React from 'react';
- import { useTranslation } from 'next-i18next';
- import { useCsrfToken, useCurrentUser } from '../stores/context';
- export type InvitedFormProps = {
- invitedFormUsername: string,
- invitedFormName: string,
- }
- export const InvitedForm = (props: InvitedFormProps): JSX.Element => {
- const { t } = useTranslation();
- const { data: csrfToken } = useCsrfToken();
- const { data: user } = useCurrentUser();
- const { invitedFormUsername, invitedFormName } = props;
- if (user == null) {
- return <></>;
- }
- return (
- <div className="noLogin-dialog p-3 mx-auto" id="noLogin-dialog">
- <p className="alert alert-success">
- <strong>{ t('invited.discription_heading') }</strong><br></br>
- <small>{ t('invited.discription') }</small>
- </p>
- <form role="form" action="/invited/activateInvited" method="post" id="invited-form">
- {/* Email Form */}
- <div className="input-group">
- <div className="input-group-prepend">
- <span className="input-group-text">
- <i className="icon-envelope"></i>
- </span>
- </div>
- <input
- type="text"
- className="form-control"
- disabled
- placeholder={t('Email')}
- name="invitedForm[email]"
- defaultValue={user.email}
- required
- />
- </div>
- {/* UserID Form */}
- <div className="input-group" id="input-group-username">
- <div className="input-group-prepend">
- <span className="input-group-text">
- <i className="icon-user"></i>
- </span>
- </div>
- <input
- type="text"
- className="form-control"
- placeholder={t('User ID')}
- name="invitedForm[username]"
- value={invitedFormUsername}
- required
- />
- </div>
- {/* Name Form */}
- <div className="input-group">
- <div className="input-group-prepend">
- <span className="input-group-text">
- <i className="icon-tag"></i>
- </span>
- </div>
- <input
- type="text"
- className="form-control"
- placeholder={t('Name')}
- name="invitedForm[name]"
- value={invitedFormName}
- required
- />
- </div>
- {/* Password Form */}
- <div className="input-group">
- <div className="input-group-prepend">
- <span className="input-group-text">
- <i className="icon-lock"></i>
- </span>
- </div>
- <input
- type="password"
- className="form-control"
- placeholder={t('Password')}
- name="invitedForm[password]"
- required
- />
- </div>
- {/* Create Button */}
- <div className="input-group justify-content-center d-flex mt-5">
- <input type="hidden" name="_csrf" value={csrfToken} />
- <button type="submit" className="btn btn-fill" id="register">
- <div className="eff"></div>
- <span className="btn-label"><i className="icon-user-follow"></i></span>
- <span className="btn-label-text">{t('Create')}</span>
- </button>
- </div>
- </form>
- <div className="input-group mt-5 d-flex justify-content-center">
- <a href="https://growi.org" className="link-growi-org">
- <span className="growi">GROWI</span>.<span className="org">ORG</span>
- </a>
- </div>
- </div>
- );
- };
|