From d7a0b5af16282410245782acf164438756f11ae2 Mon Sep 17 00:00:00 2001 From: vivjamba <85517762+vivjamba@users.noreply.github.com> Date: Sat, 12 Nov 2022 15:44:50 -0500 Subject: [PATCH 1/6] changed todo file names, added shoppinglist --- src/App.js | 47 +++++++++- src/pages/Landing/Landing.js | 2 +- src/pages/Todo/{TodoItem.js => FridgeItem.js} | 4 +- src/pages/Todo/{Todo.js => FridgeList.js} | 12 +-- src/pages/Todo/ShoppingItem.js | 69 ++++++++++++++ src/pages/Todo/ShoppingList.js | 84 ++++++++++++++++++ src/static/bag.png | Bin 0 -> 14069 bytes 7 files changed, 205 insertions(+), 13 deletions(-) rename src/pages/Todo/{TodoItem.js => FridgeItem.js} (96%) rename src/pages/Todo/{Todo.js => FridgeList.js} (89%) create mode 100644 src/pages/Todo/ShoppingItem.js create mode 100644 src/pages/Todo/ShoppingList.js create mode 100644 src/static/bag.png diff --git a/src/App.js b/src/App.js index 010cba1..6f9b838 100644 --- a/src/App.js +++ b/src/App.js @@ -1,5 +1,6 @@ import { BrowserRouter, Redirect, Route, Switch } from "react-router-dom"; -import Todo from "./pages/Todo/Todo"; +import Fridge from "./pages/Todo/FridgeList"; +import Shopping from "./pages/Todo/ShoppingList"; import Login from "./pages/Login/Login"; import Landing from "./pages/Landing/Landing"; import { useGetUser } from "./hooks"; @@ -11,11 +12,14 @@ function App() { return ( - - {user ? : } + + {user ? : } + + + {user ? : } - {user ? : } + {user ? : } @@ -26,4 +30,39 @@ function App() { ); } +// import { BrowserRouter, Redirect, Route, Switch } from "react-router-dom"; +// import Fridge from "./pages/Todo/FridgeList"; +// import Shopping from "./pages/Todo/ShoppingList"; +// import Login from "./pages/Login/Login"; +// import Landing from "./pages/Landing/Landing"; +// import { useGetUser } from "./hooks"; + +// function App() { +// // eslint-disable-next-line +// const [{ user, isLoading, isError }, dispatch] = useGetUser(); + +// return ( +// +// +// +// {user ? : } +// +// +// {user ? : } +// +// +// {user ? : } +// +// +// +// +// +// +// +// ); +// } + +// export default App; + + export default App; diff --git a/src/pages/Landing/Landing.js b/src/pages/Landing/Landing.js index 749d9e3..5c03748 100644 --- a/src/pages/Landing/Landing.js +++ b/src/pages/Landing/Landing.js @@ -5,7 +5,7 @@ const Landing = () => { const history = useHistory(); const handleClick = () => { - history.push("/todos"); + history.push("/fridge"); }; const links = [ diff --git a/src/pages/Todo/TodoItem.js b/src/pages/Todo/FridgeItem.js similarity index 96% rename from src/pages/Todo/TodoItem.js rename to src/pages/Todo/FridgeItem.js index 8166c35..d71f23e 100644 --- a/src/pages/Todo/TodoItem.js +++ b/src/pages/Todo/FridgeItem.js @@ -5,7 +5,7 @@ import { deleteButton } from "../icons"; const current = new Date(); // const date = `${current.getDate()}/${current.getMonth()+1}/${current.getFullYear()}`; -const TodoItem = ({ item, setStale }) => { +const FridgeItem = ({ item, setStale }) => { const handleComplete = async (e, item) => { console.log("Marking Todo as complete"); let data = { @@ -66,4 +66,4 @@ const TodoItem = ({ item, setStale }) => { ); }; -export default TodoItem; +export default FridgeItem; diff --git a/src/pages/Todo/Todo.js b/src/pages/Todo/FridgeList.js similarity index 89% rename from src/pages/Todo/Todo.js rename to src/pages/Todo/FridgeList.js index c2f1836..0bbd636 100644 --- a/src/pages/Todo/Todo.js +++ b/src/pages/Todo/FridgeList.js @@ -3,11 +3,11 @@ import api from "../../api/api"; import { FetchState, useGetTodos } from "../../hooks"; import { Server } from "../../utils/config"; import Alert from "../Alert/Alert"; -import TodoItem from "./TodoItem"; +import FridgeItem from "./FridgeItem"; -const Todo = ({ user, dispatch }) => { +const Fridge = ({ user, dispatch }) => { const [stale, setStale] = useState({ stale: false }); - const [{ todos, isLoading, isError }] = useGetTodos(stale); + const [{ items, isLoading, isError }] = useGetTodos(stale); const [currentTodo, setCurrentTodo] = useState(""); const handleAddTodo = async (e) => { @@ -65,8 +65,8 @@ const Todo = ({ user, dispatch }) => { {isLoading &&

Loading ....

}
    - {todos.map((item) => ( - + {items.map((item) => ( + ))}
@@ -81,4 +81,4 @@ const Todo = ({ user, dispatch }) => { ); }; -export default Todo; +export default Fridge; diff --git a/src/pages/Todo/ShoppingItem.js b/src/pages/Todo/ShoppingItem.js new file mode 100644 index 0000000..ca76981 --- /dev/null +++ b/src/pages/Todo/ShoppingItem.js @@ -0,0 +1,69 @@ +import api from "../../api/api"; +import { Server } from "../../utils/config"; +import { deleteButton } from "../icons"; + +const current = new Date(); +// const date = `${current.getDate()}/${current.getMonth()+1}/${current.getFullYear()}`; + +const ShoppingItem = ({ item, setStale }) => { + const handleComplete = async (e, item) => { + console.log("Marking Todo as complete"); + let data = { + isBought: !item["isBought"], + boughtDate : current + }; + try { + console.log(item) + await api.updateDocument( + Server.collectionID, + item["$id"], + data, + item["$read"], + item["$write"] + ); + setStale({ stale: true }); + } catch (e) { + console.log("Error in marking todo as complete"); + } + }; + + const handleDelete = async (e, item) => { + console.log("Deleting Todo"); + try { + await api.deleteDocument(Server.collectionID, item["$id"]); + setStale({ stale: true }); + } catch (e) { + console.log("Error in deleting todo"); + } + }; + + return ( +
  • +
    + handleComplete(e, item)} + /> +
    + {item["content"]} +
    +
    + +
  • + ); +}; + +export default ShoppingItem; diff --git a/src/pages/Todo/ShoppingList.js b/src/pages/Todo/ShoppingList.js new file mode 100644 index 0000000..39f8111 --- /dev/null +++ b/src/pages/Todo/ShoppingList.js @@ -0,0 +1,84 @@ +import { useState } from "react"; +import api from "../../api/api"; +import { FetchState, useGetTodos } from "../../hooks"; +import { Server } from "../../utils/config"; +import Alert from "../Alert/Alert"; +import ShoppingItem from "./FridgeItem"; + +const Shopping = ({ user, dispatch }) => { + const [stale, setStale] = useState({ stale: false }); + const [{ items, isLoading, isError }] = useGetTodos(stale); + const [currentTodo, setCurrentTodo] = useState(""); + + const handleAddTodo = async (e) => { + e.preventDefault(); + console.log("Adding Todo"); + const data = { + content: currentTodo, + isBought: false, + }; + console.log(data, user); + try { + await api.createDocument( + Server.collectionID, + data, + [`user:${user["$id"]}`], + [`user:${user["$id"]}`] + ); + setStale({ stale: true }); + setCurrentTodo(""); + } catch (e) { + console.log("Error in adding todo"); + } + }; + + + const handleLogout = async (e) => { + dispatch({ type: FetchState.FETCH_INIT }); + try { + await api.deleteCurrentSession(); + dispatch({ type: FetchState.FETCH_SUCCESS, payload: null }); + } catch (e) { + dispatch({ type: FetchState.FETCH_FAILURE }); + } + } + + return ( + <> +
    + {isError && } +
    +
    + 📝
      toTooooDoooos +
    + +
    + setCurrentTodo(e.target.value)} + > +
    + + {isLoading &&

    Loading ....

    } + +
      + {items.map((item) => ( + + ))} +
    +
    +
    + +
    + +
    + + ); +}; + +export default Shopping; diff --git a/src/static/bag.png b/src/static/bag.png new file mode 100644 index 0000000000000000000000000000000000000000..493cd94f0711d05d76c134935f57293b8adff753 GIT binary patch literal 14069 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 a&u7}Ynn-3?YX5%bl9N)FtP?j0`hNfdI`c9B literal 0 HcmV?d00001 From afe778694f3b5d9eb3e28f1f2c3cc51f8419fb8d Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 12 Nov 2022 16:17:07 -0500 Subject: [PATCH 2/6] Content displays on both pages now and removes route to login when accessing shoppinglist endpoint --- src/App.js | 2 +- src/pages/Todo/FridgeList.js | 4 ++-- src/pages/Todo/ShoppingList.js | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/App.js b/src/App.js index 6f9b838..c727356 100644 --- a/src/App.js +++ b/src/App.js @@ -16,7 +16,7 @@ function App() { {user ? : }
    - {user ? : } + {user ? : } diff --git a/src/pages/Todo/FridgeList.js b/src/pages/Todo/FridgeList.js index 0bbd636..926d02b 100644 --- a/src/pages/Todo/FridgeList.js +++ b/src/pages/Todo/FridgeList.js @@ -7,7 +7,7 @@ import FridgeItem from "./FridgeItem"; const Fridge = ({ user, dispatch }) => { const [stale, setStale] = useState({ stale: false }); - const [{ items, isLoading, isError }] = useGetTodos(stale); + const [{ todos, isLoading, isError }] = useGetTodos(stale); const [currentTodo, setCurrentTodo] = useState(""); const handleAddTodo = async (e) => { @@ -65,7 +65,7 @@ const Fridge = ({ user, dispatch }) => { {isLoading &&

    Loading ....

    }
      - {items.map((item) => ( + {todos.map((item) => ( ))}
    diff --git a/src/pages/Todo/ShoppingList.js b/src/pages/Todo/ShoppingList.js index 39f8111..3576cd7 100644 --- a/src/pages/Todo/ShoppingList.js +++ b/src/pages/Todo/ShoppingList.js @@ -3,11 +3,11 @@ import api from "../../api/api"; import { FetchState, useGetTodos } from "../../hooks"; import { Server } from "../../utils/config"; import Alert from "../Alert/Alert"; -import ShoppingItem from "./FridgeItem"; +import ShoppingItem from "./ShoppingItem"; const Shopping = ({ user, dispatch }) => { const [stale, setStale] = useState({ stale: false }); - const [{ items, isLoading, isError }] = useGetTodos(stale); + const [{ todos, isLoading, isError }] = useGetTodos(stale); const [currentTodo, setCurrentTodo] = useState(""); const handleAddTodo = async (e) => { @@ -65,7 +65,7 @@ const Shopping = ({ user, dispatch }) => { {isLoading &&

    Loading ....

    }
      - {items.map((item) => ( + {todos.map((item) => ( ))}
    From 560f24990a356f9e55bd6821bbbaf91e7b39c12c Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 12 Nov 2022 16:28:12 -0500 Subject: [PATCH 3/6] Changes placeholder text for buying something --- src/pages/Todo/ShoppingList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Todo/ShoppingList.js b/src/pages/Todo/ShoppingList.js index 3576cd7..010f8e2 100644 --- a/src/pages/Todo/ShoppingList.js +++ b/src/pages/Todo/ShoppingList.js @@ -56,7 +56,7 @@ const Shopping = ({ user, dispatch }) => { setCurrentTodo(e.target.value)} > From caef1eee60cd56a018626dc7ae4563dfbb1ae024 Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 12 Nov 2022 16:47:40 -0500 Subject: [PATCH 4/6] Filters to only display bought items in Fridge --- src/pages/Todo/FridgeList.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Todo/FridgeList.js b/src/pages/Todo/FridgeList.js index 926d02b..dd25436 100644 --- a/src/pages/Todo/FridgeList.js +++ b/src/pages/Todo/FridgeList.js @@ -65,7 +65,7 @@ const Fridge = ({ user, dispatch }) => { {isLoading &&

    Loading ....

    }
      - {todos.map((item) => ( + {todos.filter((item) => item["isBought"]).map((item) => ( ))}
    From a20a7eb72d10726370acc41a7cd531d750d54e4d Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 12 Nov 2022 16:51:09 -0500 Subject: [PATCH 5/6] Removes checkbox and strikethrough for Fridge items --- src/pages/Todo/FridgeItem.js | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/src/pages/Todo/FridgeItem.js b/src/pages/Todo/FridgeItem.js index d71f23e..0f76ba8 100644 --- a/src/pages/Todo/FridgeItem.js +++ b/src/pages/Todo/FridgeItem.js @@ -2,30 +2,7 @@ import api from "../../api/api"; import { Server } from "../../utils/config"; import { deleteButton } from "../icons"; -const current = new Date(); -// const date = `${current.getDate()}/${current.getMonth()+1}/${current.getFullYear()}`; - const FridgeItem = ({ item, setStale }) => { - const handleComplete = async (e, item) => { - console.log("Marking Todo as complete"); - let data = { - isBought: !item["isBought"], - boughtDate : current - }; - try { - console.log(item) - await api.updateDocument( - Server.collectionID, - item["$id"], - data, - item["$read"], - item["$write"] - ); - setStale({ stale: true }); - } catch (e) { - console.log("Error in marking todo as complete"); - } - }; const handleDelete = async (e, item) => { console.log("Deleting Todo"); @@ -40,17 +17,10 @@ const FridgeItem = ({ item, setStale }) => { return (
  • - handleComplete(e, item)} - />
    {item["content"]} From f1bc69feacb57f4ade57abe27405697b72575f27 Mon Sep 17 00:00:00 2001 From: Aryan Date: Sat, 12 Nov 2022 16:58:59 -0500 Subject: [PATCH 6/6] Adds Date to items in Fridge --- src/pages/Todo/FridgeItem.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/pages/Todo/FridgeItem.js b/src/pages/Todo/FridgeItem.js index 0f76ba8..55c01ca 100644 --- a/src/pages/Todo/FridgeItem.js +++ b/src/pages/Todo/FridgeItem.js @@ -26,6 +26,14 @@ const FridgeItem = ({ item, setStale }) => { {item["content"]}
    +
    + {item["boughtDate"]} +