From ffc57ae833467dcb9c98af4ff31fea484a74c81e Mon Sep 17 00:00:00 2001
From: meskio <meskio@sindominio.net>
Date: Mon, 10 Jun 2024 20:15:51 +0200
Subject: [PATCH] For oneShot Fetchers don't load the data if rerun

* Closes: #34
---
 src/member/MemberEditer.js  | 16 +++++++++-------
 src/product/AnnualReport.js |  6 ++++--
 src/product/ShowProduct.js  |  6 ++++--
 3 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/member/MemberEditer.js b/src/member/MemberEditer.js
index 4b00986..b295260 100644
--- a/src/member/MemberEditer.js
+++ b/src/member/MemberEditer.js
@@ -28,13 +28,15 @@ function MemberEditer() {
     if (!mem) {
       setError("Numero de socia invalido");
     } else {
-      setMember({
-        num: mem.num,
-        name: mem.name,
-        email: mem.email,
-        phone: mem.phone,
-        role: mem.role,
-      });
+      if (member.num == "") {
+        setMember({
+          num: mem.num,
+          name: mem.name,
+          email: mem.email,
+          phone: mem.phone,
+          role: mem.role,
+        });
+      }
     }
   };
 
diff --git a/src/product/AnnualReport.js b/src/product/AnnualReport.js
index 07747be..0816eb5 100644
--- a/src/product/AnnualReport.js
+++ b/src/product/AnnualReport.js
@@ -47,8 +47,10 @@ function AnnualReport() {
   const [data, setData] = useState([]);
 
   const setTransactions = (transactions) => {
-    const d = transactionsPerMonth(transactions);
-    setData(d);
+    if (data.length == 0) {
+      const d = transactionsPerMonth(transactions);
+      setData(d);
+    }
   };
 
   let dates = Object.keys(data);
diff --git a/src/product/ShowProduct.js b/src/product/ShowProduct.js
index 71ea69d..7885390 100644
--- a/src/product/ShowProduct.js
+++ b/src/product/ShowProduct.js
@@ -22,8 +22,10 @@ function ShowProduct() {
   const [redirect, setRedirect] = useState(false);
 
   const setProduct = (p) => {
-    _setProduct(p);
-    setName(p.name);
+    if (p.price == 0) {
+      _setProduct(p);
+      setName(p.name);
+    }
   };
 
   if (redirect) {
-- 
GitLab