@@ -2,7 +2,7 @@ import './App.css';
2
2
import 'bootstrap/dist/css/bootstrap.css' ;
3
3
import 'bootstrap/dist/js/bootstrap.bundle.min' ;
4
4
//import inventory from './inventory.mjs';
5
- import { Order } from './salad.mjs'
5
+ import { Order , Salad } from './salad.mjs'
6
6
import { useState } from 'react' ;
7
7
import { NavLink , Outlet } from 'react-router-dom' ;
8
8
//import ComposeSalad from './ComposeSalad'
@@ -11,7 +11,8 @@ import { NavLink, Outlet } from 'react-router-dom';
11
11
12
12
function App ( ) {
13
13
const [ order , setOrder ] = useState ( new Order ( ) ) ;
14
-
14
+ let jsonOrder = window . localStorage . getItem ( 'order' ) ;
15
+ setOrder ( fetchFromLocalStorage ( jsonOrder ) ) ;
15
16
/* function addSaladOrder(saladForm) {
16
17
const salad = new Salad();
17
18
@@ -31,7 +32,16 @@ function App() {
31
32
function removeSaladOrder ( e ) {
32
33
const newOrder = new Order ( order . uuidOrder , order . saladList ) ;
33
34
newOrder . removeSalad ( e . target . value ) ;
34
- setOrder ( newOrder ) ;
35
+ setOrderWrapper ( newOrder ) ;
36
+ }
37
+
38
+ function fetchFromLocalStorage ( jsonOrder ) {
39
+ let sallads = Salad . parse ( jsonOrder ) ;
40
+ let salladList = { } ;
41
+ sallads . forEach ( sallad => {
42
+ sallad = new Salad ( sallad , undefined , sallad . uuid ) ;
43
+ salladList [ sallad . uuid ] = sallad ;
44
+ } ) ;
35
45
}
36
46
37
47
function Header ( ) {
@@ -75,12 +85,19 @@ function App() {
75
85
</ nav > ) ;
76
86
}
77
87
88
+ function setOrderWrapper ( newOrder ) {
89
+ let orderToStore = new Order ( newOrder . uuidOrder , newOrder . saladList ) ;
90
+ setOrder ( orderToStore ) ;
91
+ window . localStorage . clear ( ) ; //funkar då vi bara sparar senaste order
92
+ window . localStorage . setItem ( 'order' , JSON . stringify ( Object . values ( orderToStore . saladList ) ) ) ;
93
+ }
94
+
78
95
return (
79
96
< div className = "container py-4" >
80
97
< Header />
81
98
< Navbar />
82
99
83
- < Outlet context = { { order, setOrder , removeSaladOrder} } />
100
+ < Outlet context = { { order, setOrderWrapper , removeSaladOrder} } />
84
101
85
102
{ /**<ViewOrder saladOrders={order} removeSaladOrder={removeSaladOrder} />
86
103
<ComposeSalad inventory={inventory} addSaladOrder={addSaladOrder} /> **/ }
0 commit comments