aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrián Oliva <adrian.oliva@cimat.mx>2023-05-28 14:24:41 -0600
committerAdrián Oliva <adrian.oliva@cimat.mx>2023-05-28 14:24:41 -0600
commit2082070fa9d79fe0702441f814f920095d1393c9 (patch)
tree071d24eb3b0d7cf618e3491f3aa132693ea35ba4
parent117b8c82ef02b95d289cd1ad22f226828918a18b (diff)
downloadToDo-App-FE-2082070fa9d79fe0702441f814f920095d1393c9.tar.gz
ToDo-App-FE-2082070fa9d79fe0702441f814f920095d1393c9.zip
Little bug on last index.
Because the Front End wasn't tracking the deleted items, the indexes between the database and the front end were not matching.
Diffstat (limited to '')
-rw-r--r--src/App.jsx17
-rw-r--r--src/api/axios_methods.js14
-rw-r--r--src/features/todo/reducer.js5
3 files changed, 34 insertions, 2 deletions
diff --git a/src/App.jsx b/src/App.jsx
index 6f1b14f..b39d5d9 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -4,9 +4,13 @@ import { NewToDo } from "./ToDo-UI/NewToDo";
import { ListToDos } from "./ToDo-UI/ListToDo";
import { useDispatch } from "react-redux";
-import { set_todo, refresh_filtered_todos } from "./features/todo/reducer";
+import {
+ set_last_id,
+ set_todo,
+ refresh_filtered_todos,
+} from "./features/todo/reducer";
-import { get_todos_function } from "./api/axios_methods";
+import { get_todos_function, get_last_id_function } from "./api/axios_methods";
function App() {
const get_todos = get_todos_function();
@@ -37,6 +41,15 @@ function App() {
}
get_todos(handler);
+ const last_id_api = get_last_id_function();
+ last_id_api((response) => {
+ dispatch(
+ set_last_id({
+ id: response,
+ })
+ );
+ });
+
return (
<div>
<Search />
diff --git a/src/api/axios_methods.js b/src/api/axios_methods.js
index ffc0c28..f983157 100644
--- a/src/api/axios_methods.js
+++ b/src/api/axios_methods.js
@@ -86,3 +86,17 @@ export function set_undone_function() {
}
};
}
+
+// giveMeLastID().
+export function get_last_id_function() {
+ // Retrieve last index used.
+ // GET "/todos/lastIndex"
+ return async (handler) => {
+ try {
+ const response = await api.get("/todos/lastIndex");
+ handler(response.data);
+ } catch (err) {
+ console.log(err);
+ }
+ };
+}
diff --git a/src/features/todo/reducer.js b/src/features/todo/reducer.js
index 16fc427..118e482 100644
--- a/src/features/todo/reducer.js
+++ b/src/features/todo/reducer.js
@@ -17,6 +17,10 @@ export const todo_slice = createSlice({
},
reducers: {
+ set_last_id: (state, action) => {
+ state.last_id = action.payload.id;
+ },
+
add_todo: (state, action) => {
state.todos = [
...state.todos,
@@ -196,6 +200,7 @@ export const todo_slice = createSlice({
});
export const {
+ set_last_id,
add_todo,
set_todo,
change_done,