diff --git a/src/components/items/ItemForm.jsx b/src/components/items/ItemForm.jsx new file mode 100644 index 0000000..190d460 --- /dev/null +++ b/src/components/items/ItemForm.jsx @@ -0,0 +1,41 @@ +import { useState } from 'preact/hooks'; +import { store } from '../../store/billStore.js'; + +export function ItemForm() { + const [name, setName] = useState(''); + const [price, setPrice] = useState(''); + const [error, setError] = useState(''); + + const handleSubmit = (e) => { + e.preventDefault(); + const result = store.addItem(name, price); + if (result.success) { + setName(''); + setPrice(''); + setError(''); + } else { + setError(result.error); + } + }; + + return ( +
+ setName(e.target.value)} + placeholder="Item name" + aria-label="Item name" + /> + setPrice(e.target.value)} + placeholder="Price (e.g., 15.99)" + aria-label="Item price" + /> + + {error &&

{error}

} +
+ ); +}