diff --git a/src/components/LoginForm/LonginForm.tsx b/src/components/LoginForm/LoginForm.tsx
similarity index 100%
rename from src/components/LoginForm/LonginForm.tsx
rename to src/components/LoginForm/LoginForm.tsx
diff --git a/src/components/RegisterForm/RegisterForm.tsx b/src/components/RegisterForm/RegisterForm.tsx
new file mode 100644
index 0000000..73ce574
--- /dev/null
+++ b/src/components/RegisterForm/RegisterForm.tsx
@@ -0,0 +1,101 @@
+import React, { memo, useCallback } from "react"
+import styles from "./styles.module.scss"
+
+const RegisterForm = (): JSX.Element => {
+ const onSubmit = useCallback((event: React.SyntheticEvent): void => {
+ event.preventDefault()
+ const target = event.target as typeof event.target & {
+ firstname: { value: string }
+ lastname: { value: string }
+ email: { value: string }
+ phone: { value: string }
+ }
+ const firstname = target.firstname.value
+ const lastname = target.lastname.value
+ const email = target.email.value
+ const phone = target.phone.value
+
+ console.log("register fields checked", firstname, lastname, email, phone)
+
+ // call service with fields
+ }, [])
+
+ /*
+ prenom
+ nom
+ mail
+ tel
+ j'ai déjà été bénévole pour PEL
+ un petit mot...
+ */
+
+ return (
+
+ )
+}
+
+export default memo(RegisterForm)
diff --git a/src/components/RegisterForm/styles.module.scss b/src/components/RegisterForm/styles.module.scss
new file mode 100755
index 0000000..7cd0669
--- /dev/null
+++ b/src/components/RegisterForm/styles.module.scss
@@ -0,0 +1,44 @@
+@import "../../theme/variables";
+@import "../../theme/mixins";
+
+.registerIntro {
+ dt {
+ font-weight: bold;
+ }
+ dd {
+ margin-bottom: 10px;
+ }
+}
+
+.formLine {
+ padding: 5px 0;
+
+ label {
+ display: block;
+ margin-left: 5px;
+ }
+ input,
+ textarea {
+ width: 100%;
+ padding: 4px;
+ border: 1px solid #333;
+ border-radius: 4px;
+ outline: 0;
+ }
+ textarea {
+ height: 80px;
+ }
+ .inputRadio {
+ width: inherit;
+ }
+ .inputRadio + label {
+ display: inline;
+ margin: 0 20px 0 5px;
+ }
+}
+
+.formButtons {
+ margin-top: 10px;
+ padding: 5px 0;
+ text-align: center;
+}
diff --git a/src/pages/Login/LoginPage.tsx b/src/pages/Login/LoginPage.tsx
index 1147f92..e4e0765 100644
--- a/src/pages/Login/LoginPage.tsx
+++ b/src/pages/Login/LoginPage.tsx
@@ -2,17 +2,17 @@ import { RouteComponentProps } from "react-router-dom"
import React, { memo } from "react"
import { Helmet } from "react-helmet"
import styles from "./styles.module.scss"
-import LoginForm from "../../components/LoginForm/LonginForm"
+import LoginForm from "../../components/LoginForm/LoginForm"
export type Props = RouteComponentProps
-const LoginPage: React.FC = (): JSX.Element => (
+const RegisterPage: React.FC = (): JSX.Element => (
)
-export default memo(LoginPage)
+export default memo(RegisterPage)
diff --git a/src/pages/Register/RegisterPage.tsx b/src/pages/Register/RegisterPage.tsx
new file mode 100644
index 0000000..b6651b3
--- /dev/null
+++ b/src/pages/Register/RegisterPage.tsx
@@ -0,0 +1,18 @@
+import { RouteComponentProps } from "react-router-dom"
+import React, { memo } from "react"
+import { Helmet } from "react-helmet"
+import styles from "./styles.module.scss"
+import RegisterForm from "../../components/RegisterForm/RegisterForm"
+
+export type Props = RouteComponentProps
+
+const RegisterPage: React.FC = (): JSX.Element => (
+
+)
+
+export default memo(RegisterPage)
diff --git a/src/pages/Register/index.tsx b/src/pages/Register/index.tsx
new file mode 100755
index 0000000..a8f3dc2
--- /dev/null
+++ b/src/pages/Register/index.tsx
@@ -0,0 +1,14 @@
+import loadable from "@loadable/component"
+
+import { Loading, ErrorBoundary } from "../../components"
+import { Props } from "./RegisterPage"
+
+const RegisterPage = loadable(() => import("./RegisterPage"), {
+ fallback: ,
+})
+
+export default (props: Props): JSX.Element => (
+
+
+
+)
diff --git a/src/pages/Register/styles.module.scss b/src/pages/Register/styles.module.scss
new file mode 100755
index 0000000..c7f3efb
--- /dev/null
+++ b/src/pages/Register/styles.module.scss
@@ -0,0 +1,9 @@
+@import "../../theme/mixins";
+
+.registerPage {
+ @include page-wrapper-center;
+}
+
+.registerContent {
+ @include page-content-wrapper(600px);
+}
diff --git a/src/routes/index.ts b/src/routes/index.ts
index 687a571..3bd20da 100755
--- a/src/routes/index.ts
+++ b/src/routes/index.ts
@@ -4,6 +4,7 @@ import App from "../app"
import AsyncHome, { loadData as loadHomeData } from "../pages/Home"
import AsyncMembrePage, { loadData as loadMembrePageData } from "../pages/MembrePage"
import Login from "../pages/Login"
+import Register from "../pages/Register"
import NotFound from "../pages/NotFound"
export default [
@@ -25,6 +26,10 @@ export default [
path: "/login",
component: Login,
},
+ {
+ path: "/register",
+ component: Register,
+ },
{
component: NotFound,
},
diff --git a/src/theme/mixins.scss b/src/theme/mixins.scss
index 098eb7f..1bbd843 100644
--- a/src/theme/mixins.scss
+++ b/src/theme/mixins.scss
@@ -16,7 +16,7 @@
@include flex-center;
}
-@mixin page-content-wrapper {
+@mixin page-content-wrapper($desktopWidth: 400px) {
margin: 10px;
padding: 10px;
background-color: $color-white;
@@ -25,6 +25,6 @@
@include desktop {
padding: 20px;
- width: 400px;
+ width: $desktopWidth;
}
}
diff --git a/src/theme/reset.scss b/src/theme/reset.scss
index 6aa717e..a550e5c 100644
--- a/src/theme/reset.scss
+++ b/src/theme/reset.scss
@@ -2,6 +2,12 @@ body,
h1,
div,
input,
-button {
+textarea,
+button,
+dl,
+dt,
+dd {
box-sizing: border-box;
+ margin: 0;
+ padding: 0;
}