mirror of
https://github.com/wassname/talk.git
synced 2026-08-16 11:29:31 +08:00
[next] Email (#2261)
* feat: suspending, banning, now propogation * feat: added email rendering + localization support * fix: fix related to lib * refactor: moved juicer to queue task * refactor: cleanup of job processor * refactor: improved error messaging around failed email * feat: initial forgot passwor impl * fix: fixed rebase errors * feat: send back Content-Language header with requests * feat: added ban email * feat: implemented forgotten password API * fix: linting * feat: support more emails * fix: promise patches * feat: initial confirm email API * feat: added rate limiting * feat: added URL support * feat: added email docs * fix: updated docs * chore: documentation review * fix: fixed build bug * feat: implement forgot password in auth popup * test: add tests + fixes * chore: rename StatelessComponent to FunctionComponent * fix: types and test fixes * chore: upgrade deps * fix: THANK YOU TESTS FOR SAVING MY A** * chore: reorder imports * chore: remove obsolete ! * feat: implement accounts bundle * refactor: review suggestion * fix: rebase upgrade error * fix: rebase bug * feat: reset password link support * test: add tests for account password reset page * fix: remove redirect uri * fix: revert local state changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import cn from "classnames";
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
|
||||
import { Flex, Typography } from "talk-ui/components";
|
||||
|
||||
@@ -10,7 +10,7 @@ interface HeaderProps {
|
||||
main?: boolean;
|
||||
}
|
||||
|
||||
const Header: StatelessComponent<HeaderProps> = ({ main }) => {
|
||||
const Header: FunctionComponent<HeaderProps> = ({ main }) => {
|
||||
return (
|
||||
<Flex
|
||||
alignItems="center"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React from "react";
|
||||
import { StatelessComponent } from "react";
|
||||
import { FunctionComponent } from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
|
||||
import { createManaged } from "talk-framework/lib/bootstrap";
|
||||
@@ -13,7 +13,7 @@ async function main() {
|
||||
userLocales: navigator.languages,
|
||||
});
|
||||
|
||||
const Index: StatelessComponent = () => (
|
||||
const Index: FunctionComponent = () => (
|
||||
<ManagedTalkContextProvider>
|
||||
<App />
|
||||
</ManagedTalkContextProvider>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
import { Field, Form } from "react-final-form";
|
||||
|
||||
import { OnSubmit } from "talk-framework/lib/form";
|
||||
@@ -36,7 +36,7 @@ export interface AddOrganizationForm {
|
||||
data: FormProps;
|
||||
}
|
||||
|
||||
const AddOrganization: StatelessComponent<AddOrganizationForm> = props => {
|
||||
const AddOrganization: FunctionComponent<AddOrganizationForm> = props => {
|
||||
return (
|
||||
<Form
|
||||
onSubmit={props.onSubmit}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
|
||||
import { Button } from "talk-ui/components";
|
||||
|
||||
@@ -8,7 +8,7 @@ export interface BackButtonProps {
|
||||
onGoToPreviousStep: () => void;
|
||||
}
|
||||
|
||||
const BackButton: StatelessComponent<BackButtonProps> = ({
|
||||
const BackButton: FunctionComponent<BackButtonProps> = ({
|
||||
submitting,
|
||||
onGoToPreviousStep,
|
||||
}) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
import { Field, Form } from "react-final-form";
|
||||
|
||||
import { OnSubmit } from "talk-framework/lib/form";
|
||||
@@ -38,7 +38,7 @@ export interface CreateYourAccountForm {
|
||||
data: FormProps;
|
||||
}
|
||||
|
||||
const CreateYourAccount: StatelessComponent<CreateYourAccountForm> = props => {
|
||||
const CreateYourAccount: FunctionComponent<CreateYourAccountForm> = props => {
|
||||
return (
|
||||
<Form
|
||||
onSubmit={props.onSubmit}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
|
||||
import { Button, ButtonIcon } from "talk-ui/components";
|
||||
|
||||
@@ -7,7 +7,7 @@ export interface NextButtonProps {
|
||||
submitting: boolean;
|
||||
}
|
||||
|
||||
const NextButton: StatelessComponent<NextButtonProps> = props => {
|
||||
const NextButton: FunctionComponent<NextButtonProps> = props => {
|
||||
return (
|
||||
<Button
|
||||
variant="filled"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Localized } from "fluent-react/compat";
|
||||
import React, { StatelessComponent } from "react";
|
||||
import React, { FunctionComponent } from "react";
|
||||
import { Field, Form } from "react-final-form";
|
||||
import { OnSubmit } from "talk-framework/lib/form";
|
||||
|
||||
@@ -30,7 +30,7 @@ export interface PermittedDomainsForm {
|
||||
};
|
||||
}
|
||||
|
||||
const PermittedDomains: StatelessComponent<PermittedDomainsForm> = props => {
|
||||
const PermittedDomains: FunctionComponent<PermittedDomainsForm> = props => {
|
||||
return (
|
||||
<Form
|
||||
onSubmit={props.onSubmit}
|
||||
|
||||
Reference in New Issue
Block a user