+
+
+
+
+
Add Event Form
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/features/AddMemberForm/AddMemberForm.js b/src/features/AddMemberForm/AddMemberForm.js
index 3b033af..79186b8 100644
--- a/src/features/AddMemberForm/AddMemberForm.js
+++ b/src/features/AddMemberForm/AddMemberForm.js
@@ -1,50 +1,158 @@
-import React from "react";
+import React, {useState} from "react";
-import style from "../../assets/scss/AddMemberForm.module.scss";
+import { initializeApp } from "firebase/app";
+import {getAuth, createUserWithEmailAndPassword, signOut} from 'firebase/auth';
+import {collection, addDoc} from "firebase/firestore";
+import {db} from '../../firebase-client';
+
+import style from '../../assets/scss/AddMemberForm.module.scss'
-import Button from "../../ui/button/Button";
import CloseButton from "../../ui/button/CloseButton";
-import Input from "../../ui/input/Input/Input";
+import Input from "../../ui/input/Input";
+
+const firebaseConfig = {
+ apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
+ authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
+ projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
+ storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
+ messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
+ appId: process.env.REACT_APP_FIREBASE_APP_ID,
+};
const AddMemberForm = ({closeForm}) => {
+
+ const [email, setEmail] = useState('');
+ const [password, setPassword] = useState('');
+ const [error, setError] = useState('');
+ const [firstName, setFirstName] = useState('');
+ const [lastName, setLastName] = useState('');
+ const [birthDate, setBirthDate] = useState('');
+ const [phone, setPhone] = useState('');
+ const [organisation, setOrganisation] = useState('');
+ const [initialScore, setInitialScore] = useState('');
+
+ const createMember = (e) => {
+ e.preventDefault();
+ setError('');
+
+ let secondaryApp = initializeApp(firebaseConfig, "secondary");
+ const secondaryAuth = getAuth(secondaryApp);
+
+ createUserWithEmailAndPassword(secondaryAuth, email, password)
+ .then(signOut(secondaryAuth))
+ .then(() => {secondaryApp = null})
+ .then(() => {
+ addDoc(collection(db, "members"), {
+ firstName: firstName,
+ lastName: lastName,
+ email: email,
+ phone: phone,
+ organisation: organisation,
+ birthDate: birthDate,
+ score: initialScore,
+ role: 'user'
+ });
+ })
+ .catch(err => {
+ setError(err.message);
+ console.error(error);
+ });
+
+ setFirstName('');
+ setLastName('');
+ setEmail('');
+ setPassword('');
+ setPhone('');
+ setOrganisation('');
+ setBirthDate('');
+ setInitialScore('');
+ }
return (
-