Spaces:
Running
Running
Create state.js
Browse files
state.js
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
// state.js - Manages Application State
|
2 |
+
|
3 |
+
import { MATERIALS_CONFIG, RECIPES_CONFIG } from './config.js';
|
4 |
+
|
5 |
+
export let appState = {};
|
6 |
+
|
7 |
+
export function saveState() {
|
8 |
+
localStorage.setItem('antennaTrackerState', JSON.stringify(appState));
|
9 |
+
}
|
10 |
+
|
11 |
+
export function loadState() {
|
12 |
+
const savedState = localStorage.getItem('antennaTrackerState');
|
13 |
+
if (savedState) {
|
14 |
+
Object.assign(appState, JSON.parse(savedState));
|
15 |
+
appState.productRecipes = RECIPES_CONFIG; // Always use latest recipes from config
|
16 |
+
} else {
|
17 |
+
// First time load: create a deep copy from config
|
18 |
+
appState.materials = JSON.parse(JSON.stringify(MATERIALS_CONFIG));
|
19 |
+
appState.productRecipes = RECIPES_CONFIG;
|
20 |
+
appState.productionLog = [];
|
21 |
+
}
|
22 |
+
}
|