diff --git a/src/App.jsx b/src/App.jsx
index a4bab73..b34cc37 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,4 +1,4 @@
-import { useState } from 'react'
+import { useState, useEffect } from 'react'
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'
@@ -7,20 +7,36 @@ import HozzaAdasForm from './components/HozzaAdasForm';
import Statisztika from './components/Statisztika';
function App() {
- const [venniKell, setVenniKell] = useState(
+ /* const [venniKell, setVenniKell] = useState(
[
{ id: 1, nev: "Alma", mennyiseg: "2", egyseg: "kg", megjegyzes: "Ha van, akkor Idared", megveve: false },
{ id: 2, nev: "Fahéjas keksz", mennyiseg: "4", egyseg: "doboz", megjegyzes: "ha fahéjas nincs, akkor mandulás", megveve: false },
{ id: 3, nev: "Tej", mennyiseg: "3", egyseg: "liter", megjegyzes: "3,5 %-os", megveve: false },
{ id: 4, nev: "Gin", mennyiseg: "1", egyseg: "üveg", megjegyzes: "38 fokos", megveve: false },
]
- );
+ ); */
+
+ //betöltés helyi tárolóból
+ const [venniKell, setVenniKell] = useState(() => {
+ const savedData = localStorage.getItem('bevasarlolista');
+ return savedData ? JSON.parse(savedData) : [
+ { id: 1, nev: "Alma", mennyiseg: "2", egyseg: "kg", megjegyzes: "Ha van, akkor Idared", megveve: false }]
+ })
+
+ useEffect(() => {
+ localStorage.setItem('bevasarlolista', JSON.stringify(venniKell));
+ }, [venniKell]);
const vetelKezeles = (id, ertek) => {
const ujTomb = venniKell.map(aru => {return aru.id==id ? {...aru, megveve: ertek} : aru})
setVenniKell(ujTomb)
}
+ const elemModositas = (id, text) => {
+ const ujTomb = venniKell.map(aru => {return aru.id==id ? {...aru, nev: text} : aru})
+ setVenniKell(ujTomb)
+ }
+
const hozzaAdas = (elem) => {
console.log(elem)
setVenniKell([...venniKell, elem])
@@ -39,7 +55,8 @@ function App() {
Bevásárlólista
-
+
>
)
}
diff --git a/src/components/AruInfo.jsx b/src/components/AruInfo.jsx
index 09924bb..f4f0271 100644
--- a/src/components/AruInfo.jsx
+++ b/src/components/AruInfo.jsx
@@ -2,10 +2,10 @@ import React from 'react'
const AruInfo = ({nev, mennyiseg, egyseg, megjegyzes}) => {
return (
-
+ <>
{nev} - {mennyiseg} {egyseg}
{megjegyzes}
-
+ >
)
}
diff --git a/src/components/BevasarloLista.jsx b/src/components/BevasarloLista.jsx
index f5546ff..e319edd 100644
--- a/src/components/BevasarloLista.jsx
+++ b/src/components/BevasarloLista.jsx
@@ -1,13 +1,13 @@
import React from 'react'
import ListaElem from './ListaElem'
-const BevasarloLista = ({aruk, vetelk, torlesk}) => {
+const BevasarloLista = ({aruk, vetelk, torlesk, elemMod}) => {
return (
{aruk.map((elem,index) => {
//console.log(elem.megveve)
return (
-
+
)
})
}
diff --git a/src/components/ListaElem.jsx b/src/components/ListaElem.jsx
index 4d8e274..4e62c1b 100644
--- a/src/components/ListaElem.jsx
+++ b/src/components/ListaElem.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react'
+import React, { useActionState, useState } from 'react'
import AruInfo from './AruInfo'
import MegveveGomb from './MegveveGomb'
import TorlesGomb from './TorlesGomb'
@@ -6,9 +6,10 @@ import TorlesGomb from './TorlesGomb'
-const ListaElem = ({aru, vetelk, torlesk}) => {
+const ListaElem = ({aru, vetelk, torlesk, elemMod}) => {
- //const [megVetel, setMegvetel] = useState(false)
+ const [szerkesztve, setSzerkesztve] = useState(false)
+ const [szerkText, setSzerkText] = useState(aru.nev)
const kezelVetel = () => {
//setMegvetel(elozo => !elozo)
@@ -18,10 +19,34 @@ const ListaElem = ({aru, vetelk, torlesk}) => {
const torlesKezel = () => {
torlesk(aru.id)
}
-
+
+ const enterKezelo = (e) => {
+ if( e.key==='Enter') {
+ blurKezelo()
+ }
+ }
+
+ const blurKezelo = () => {
+ elemMod(aru.id, szerkText)
+ setSzerkesztve(false)
+ }
+
return (
+ {szerkesztve ?
+
setSzerkText(e.target.value)}
+ onKeyDown={enterKezelo}
+ onBlur={blurKezelo}
+ />
+ :
+ <>
+
+ >
+ }
+