+
+
-
- )
+ );
}
diff --git a/components/RegisterForm.js b/components/RegisterForm.js
index a6ef2e3..03d3fe4 100644
--- a/components/RegisterForm.js
+++ b/components/RegisterForm.js
@@ -1,17 +1,17 @@
-import React, { useState } from 'react'
-import axios from '../utils/axios'
-import { useAuth } from '../context/auth'
-import { useRouter } from 'next/router'
+import React, { useState } from "react";
+import axios from "../utils/axios";
+import { useAuth } from "../context/auth";
+import { useRouter } from "next/router";
export default function Register() {
- const { setToken } = useAuth()
- const router = useRouter()
+ const { setToken, setToken1 } = useAuth();
+ const router = useRouter();
- const [firstName, setFirstName] = useState('')
- const [lastName, setLastName] = useState('')
- const [email, setEmail] = useState('')
- const [password, setPassword] = useState('')
- const [username, setUsername] = useState('')
+ const [firstName, setFirstName] = useState("");
+ const [lastName, setLastName] = useState("");
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [username, setUsername] = useState("");
const registerFieldsAreValid = (
firstName,
@@ -21,110 +21,109 @@ export default function Register() {
password
) => {
if (
- firstName === '' ||
- lastName === '' ||
- email === '' ||
- username === '' ||
- password === ''
+ firstName === "" ||
+ lastName === "" ||
+ email === "" ||
+ username === "" ||
+ password === ""
) {
- console.log('Please fill all the fields correctly.')
- return false
+ console.log("Please fill all the fields correctly.");
+ return false;
}
if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
- console.log('Please enter a valid email address.')
- return false
+ console.log("Please enter a valid email address.");
+ return false;
}
- return true
- }
+ return true;
+ };
const register = (e) => {
- e.preventDefault()
+ e.preventDefault();
if (
registerFieldsAreValid(firstName, lastName, email, username, password)
) {
- console.log('Please wait...')
+ console.log("Please wait...");
const dataForApiRequest = {
- name: firstName + ' ' + lastName,
+ name: firstName + " " + lastName,
email: email,
username: username,
password: password,
- }
+ };
- axios.post(
- 'auth/register/',
- dataForApiRequest,
- )
+ axios
+ .post("auth/register/", dataForApiRequest)
.then(function ({ data, status }) {
- setToken(data.token)
- router.push('/')
+ setToken(data.token);
+ setToken1(data.token);
+ router.push("/");
})
.catch(function (err) {
console.log(
- 'An account using same email or username is already created'
- )
- })
+ "An account using same email or username is already created"
+ );
+ });
}
- }
+ };
return (
-
-
-
-
Register
+
- )
+ );
}
diff --git a/components/TodoListItem.js b/components/TodoListItem.js
index 7965f3b..aac7612 100644
--- a/components/TodoListItem.js
+++ b/components/TodoListItem.js
@@ -1,78 +1,127 @@
/* eslint-disable @next/next/no-img-element */
-export default function TodoListItem() {
+import axios from "axios";
+import { useState } from "react";
+import { useAuth } from "../context/auth";
+
+export default function TodoListItem({ id, title }) {
+ const [showedit, setShowEdit] = useState(false);
+ const [updateData, setUpdateData] = useState();
+ const { token1, bool, setBool } = useAuth();
const editTask = (id) => {
+ setShowEdit(!showedit);
/**
* @todo Complete this function.
* @todo 1. Update the dom accordingly
*/
- }
+ };
const deleteTask = (id) => {
+ axios
+ .delete(`https://todo-app-csoc.herokuapp.com/todo/${id}/`, {
+ headers: {
+ Authorization: "Token " + token1,
+ },
+ })
+ .then((e) => {
+ console.log(e);
+ setBool(!bool);
+ })
+ .catch((err) => {
+ console.log(err);
+ });
/**
* @todo Complete this function.
* @todo 1. Send the request to delete the task to the backend server.
* @todo 2. Remove the task from the dom.
*/
- }
+ };
const updateTask = (id) => {
+ axios
+ .put(
+ `https://todo-app-csoc.herokuapp.com/todo/${id}/`,
+ {
+ title: updateData,
+ },
+ {
+ headers: {
+ Authorization: "Token " + token1,
+ },
+ }
+ )
+ .then((e) => {
+ setShowEdit(!showedit);
+ setBool(!bool);
+ })
+ .catch((err) => {
+ console.log(err);
+ });
/**
* @todo Complete this function.
* @todo 1. Send the request to update the task to the backend server.
* @todo 2. Update the task in the dom.
*/
- }
+ };
return (
<>
-
+
{
+ setUpdateData(e.target.value);
+ }}
+ value={updateData}
/>
-