[TSC-8] Implement Application State Manager
Add state.js ES module with in-memory state (operand1, operand2, selectedOperation, result, error), getters/setters for each property, and a reset() function. Update CLAUDE.md project structure listing.
This commit is contained in:
parent
b6dd764c87
commit
5f65a0d674
@ -8,6 +8,7 @@ Greenfield project. Implementation is driven by the Vexa AI-SDLC pipeline (Jira
|
|||||||
/
|
/
|
||||||
├── index.html # Calculator UI (semantic HTML5)
|
├── index.html # Calculator UI (semantic HTML5)
|
||||||
├── styles.css # Responsive CSS layout and styling
|
├── styles.css # Responsive CSS layout and styling
|
||||||
|
├── state.js # In-memory application state manager (ES module)
|
||||||
├── README.md # Project overview
|
├── README.md # Project overview
|
||||||
└── CLAUDE.md # This file
|
└── CLAUDE.md # This file
|
||||||
```
|
```
|
||||||
|
|||||||
26
state.js
Normal file
26
state.js
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
const initialState = {
|
||||||
|
operand1: null,
|
||||||
|
operand2: null,
|
||||||
|
selectedOperation: null,
|
||||||
|
result: null,
|
||||||
|
error: null,
|
||||||
|
};
|
||||||
|
|
||||||
|
const state = { ...initialState };
|
||||||
|
|
||||||
|
export function getOperand1() { return state.operand1; }
|
||||||
|
export function setOperand1(value) { state.operand1 = value; }
|
||||||
|
|
||||||
|
export function getOperand2() { return state.operand2; }
|
||||||
|
export function setOperand2(value) { state.operand2 = value; }
|
||||||
|
|
||||||
|
export function getSelectedOperation() { return state.selectedOperation; }
|
||||||
|
export function setSelectedOperation(value) { state.selectedOperation = value; }
|
||||||
|
|
||||||
|
export function getResult() { return state.result; }
|
||||||
|
export function setResult(value) { state.result = value; }
|
||||||
|
|
||||||
|
export function getError() { return state.error; }
|
||||||
|
export function setError(value) { state.error = value; }
|
||||||
|
|
||||||
|
export function reset() { Object.assign(state, initialState); }
|
||||||
Loading…
Reference in New Issue
Block a user