diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index ce51593..ac7fe6c 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -4,6 +4,7 @@ import { BrowserRouter as Router, Link, Route } from 'react-router-dom';
import { Filter } from "./content/Filter";
import { LoginForm } from "./content/form/Form";
+
import "antd/dist/antd.css";
import "./App.css";
diff --git a/frontend/src/content/Login/Login.jsx b/frontend/src/content/Login/Login.jsx
new file mode 100644
index 0000000..bffd020
--- /dev/null
+++ b/frontend/src/content/Login/Login.jsx
@@ -0,0 +1,66 @@
+import React from 'react';
+import ReactDOM from 'react-dom';
+import 'antd/dist/antd.css';
+import './index.css';
+import { Form, Input, Button, Checkbox } from 'antd';
+import { UserOutlined, LockOutlined } from '@ant-design/icons';
+
+const NormalLoginForm = () => {
+ const onFinish = values => {
+ console.log('Received values of form: ', values);
+ };
+
+ return (
+
+ } placeholder="Username" />
+
+
+ }
+ type="password"
+ placeholder="Password"
+ />
+
+
+
+ Remember me
+
+
+
+ Forgot password
+
+
+
+
+
+ Or register now!
+
+
+ );
+};
diff --git a/frontend/src/content/Table/Table.tsx b/frontend/src/content/Table/Table.tsx
deleted file mode 100644
index 7890ff6..0000000
--- a/frontend/src/content/Table/Table.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Table, Button, Space } from 'antd';
-import ReactDOM from 'react-dom';
-import React from "react";
-
-const { Table, Button, Space } = antd;
-
-const data = [
- {
- key: '1',
- name: 'John Brown',
- age: 32,
- address: 'New York No. 1 Lake Park',
- },
- {
- key: '2',
- name: 'Jim Green',
- age: 42,
- address: 'London No. 1 Lake Park',
- },
- {
- key: '3',
- name: 'Joe Black',
- age: 32,
- address: 'Sidney No. 1 Lake Park',
- },
- {
- key: '4',
- name: 'Jim Red',
- age: 32,
- address: 'London No. 2 Lake Park',
- },
-];
-
-class App extends React.Component {
- state = {
- filteredInfo: null,
- sortedInfo: null,
- };
-
- handleChange = (pagination: any, filters: any, sorter: any) => {
- console.log('Various parameters', pagination, filters, sorter);
- this.setState({
- filteredInfo: filters,
- sortedInfo: sorter,
- });
- };
-
- clearFilters = () => {
- this.setState({ filteredInfo: null });
- };
-
- clearAll = () => {
- this.setState({
- filteredInfo: null,
- sortedInfo: null,
- });
- };
-
- setAgeSort = () => {
- this.setState({
- sortedInfo: {
- order: 'descend',
- columnKey: 'age',
- },
- });
- };
-
- render() {
- let { sortedInfo, filteredInfo } = this.state;
- // @ts-ignore
- sortedInfo = sortedInfo || {};
- // @ts-ignore
- filteredInfo = filteredInfo || {};
- // @ts-ignore
- // @ts-ignore
- // @ts-ignore
- // @ts-ignore
- // @ts-ignore
- // @ts-ignore
- const columns = [
- {
- title: 'Name',
- dataIndex: 'name',
- key: 'name',
- filters: [
- { text: 'Joe', value: 'Joe' },
- { text: 'Jim', value: 'Jim' },
- ],
- filteredValue: filteredInfo.name || null,
- onFilter: (value: any, record: { name: string | any[]; }) => record.name.includes(value),
- sorter: (a: { name: string | any[]; }, b: { name: string | any[]; }) => a.name.length - b.name.length,
- sortOrder: sortedInfo.columnKey === 'name' && sortedInfo.order,
- ellipsis: true,
- },
- {
- title: 'Age',
- dataIndex: 'age',
- key: 'age',
- sorter: (a: { age: number; }, b: { age: number; }) => a.age - b.age,
- sortOrder: sortedInfo.columnKey === 'age' && sortedInfo.order,
- ellipsis: true,
- },
- {
- title: 'Address',
- dataIndex: 'address',
- key: 'address',
- filters: [
- { text: 'London', value: 'London' },
- { text: 'New York', value: 'New York' },
- ],
- filteredValue: filteredInfo.address || null,
- onFilter: (value: any, record: { address: string | any[]; }) => record.address.includes(value),
- sorter: (a: { address: string | any[]; }, b: { address: string | any[]; }) => a.address.length - b.address.length,
- sortOrder: sortedInfo.columnKey === 'address' && sortedInfo.order,
- ellipsis: true,
- },
- ];
- return (
- <>
-
-
-
-
-
-
- >
- );
- }
-}
-
-ReactDOM.render(, document.getElementById('container')
diff --git a/frontend/src/content/form/Form.tsx b/frontend/src/content/form/Form.tsx
index 417ddd8..df43466 100644
--- a/frontend/src/content/form/Form.tsx
+++ b/frontend/src/content/form/Form.tsx
@@ -1,6 +1,7 @@
import { useForm } from 'effector-forms'
import { useStore } from 'effector-react'
import { loginForm, loginFx } from "./model";
+import { Form, Input, Button, Checkbox } from 'antd';
export const LoginForm = () => {
const { fields, submit, eachValid } = useForm(loginForm)
@@ -13,35 +14,60 @@ export const LoginForm = () => {
}
return (
-
+
+ fields.email.onChange(e.target.value)}
+ />
+
+ {fields.email.errorText({
+ "email": "enter email",
+ })}
+
+
+
+
+ fields.password.onChange(e.target.value)}
+ />
+
+ {fields.password.errorText({
+ "required": "password required"
+ })}
+
+
+
+ Remember me
+
+
+
+
+
+
)
}