Skip to content
This repository was archived by the owner on Dec 9, 2021. It is now read-only.

Commit e1ce350

Browse files
committed
Add ContactForm get all types working.
1 parent c8c5c6e commit e1ce350

File tree

7 files changed

+282
-268
lines changed

7 files changed

+282
-268
lines changed

Diff for: src/RouterWrapper.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import * as React from 'react';
22
import {Provider} from 'react-redux';
33
import {BrowserRouter, Route, Switch} from 'react-router-dom';
44
import {StaticRouter} from 'react-router';
5-
import About from './views/About';
6-
import Home from './views/Home';
7-
import Contact from './views/Contact';
5+
import About from './views/about/About';
6+
import Home from './views/home/Home';
7+
import Contact from './views/contact/Contact';
88
import Footer from './views/landmarks/Footer';
99
import Header from './views/landmarks/Header';
1010
import IStore from './interfaces/store/IStore';

Diff for: src/views/Contact.tsx

-257
This file was deleted.

Diff for: src/views/About.tsx renamed to src/views/about/About.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as React from 'react';
22
import {connect} from 'react-redux';
3-
import MetaAction from '../store/meta/MetaAction';
4-
import IStore from '../interfaces/store/IStore';
3+
import MetaAction from '../../store/meta/MetaAction';
4+
import IStore from '../../interfaces/store/IStore';
55
import {Dispatch} from 'redux';
6-
import IMetaReducerState from '../interfaces/store/reducers/IMetaReducerState';
6+
import IMetaReducerState from '../../interfaces/store/reducers/IMetaReducerState';
77

88
interface IStateToProps {}
99

Diff for: src/views/contact/Contact.tsx

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import * as React from 'react';
2+
import {connect} from 'react-redux';
3+
import MetaAction from '../../store/meta/MetaAction';
4+
import {Dispatch} from 'redux';
5+
import IMetaReducerState from '../../interfaces/store/reducers/IMetaReducerState';
6+
import IStore from '../../interfaces/store/IStore';
7+
import ContactForm from './ContactForm';
8+
9+
interface IStateToProps {}
10+
11+
interface IDispatchToProps {
12+
setMeta: (meta: IMetaReducerState) => void;
13+
}
14+
15+
const mapStateToProps = (state: IStore): IStateToProps => ({});
16+
17+
const mapDispatchToProps = (dispatch: Dispatch<any>): IDispatchToProps => ({
18+
setMeta: (meta: IMetaReducerState) => dispatch(MetaAction.setMeta(meta)),
19+
});
20+
21+
class Contact extends React.Component<IStateToProps & IDispatchToProps, {}> {
22+
23+
componentWillMount(): void {
24+
this.props.setMeta({title: 'Contact Page'});
25+
}
26+
27+
public render(): JSX.Element {
28+
return (
29+
<div>
30+
<div className="jumbotron">
31+
<h1 className="display-3">{'Contact'}</h1>
32+
<p className="lead">{'This contact form uses redux-form to do client-side validation.'}</p>
33+
</div>
34+
<ContactForm />
35+
</div>
36+
);
37+
}
38+
39+
}
40+
41+
export default connect<IStateToProps, IDispatchToProps, {}>(mapStateToProps, mapDispatchToProps)(Contact);

0 commit comments

Comments
 (0)