update item amount

This commit is contained in:
2026-01-02 15:14:58 +01:00
parent ab27bcb5bc
commit 7708df3410
2 changed files with 57 additions and 4 deletions

View File

@@ -190,7 +190,15 @@ export function HotelProvider({ accessToken, children, resClientId}) {
} }
async function updateItemAmount(item_id, item_amount) {
const res = await fetch ( `${API_BASE}/inventory/update_item/${item_id}/${item_amount}`,
{
method: "PUT",
headers: { Authorization: `Bearer ${accessTokenSingle}` }
});
}
async function fetchHotelUsers() { async function fetchHotelUsers() {
const res = await fetch(`${API_BASE}/chat/hotel_users`, { const res = await fetch(`${API_BASE}/chat/hotel_users`, {
@@ -252,7 +260,8 @@ export function HotelProvider({ accessToken, children, resClientId}) {
fetchHotelUsers, fetchHotelUsers,
addUserToConv, addUserToConv,
createConversation, createConversation,
fetchHotelInventory fetchHotelInventory,
updateItemAmount
}} }}
> >
{children} {children}

View File

@@ -23,10 +23,54 @@ export default function InventoryWidget({}) {
return ( return (
<ul> <div className="grid">
{items.map(i => <li key={i.id}> {i.name} + {i.amount}</li>)} {items.map(item => (
</ul> <ItemCard
key={item.id}
id={item.id}
name={item.name}
amount={item.amount}
/>
))}
</div>
) )
} }
function ItemCard({id, name, amount}) {
const [itemAmount, setItemAmount] = useState(amount);
const [editing, setEditing] = useState(false);
const {updateItemAmount} = useHotel();
function submit(item_id, item_amount) {
updateItemAmount(item_id, item_amount);
console.log("submited from item card :" + item_id + item_amount );
setEditing(false);
}
return (
<div className="itemcard">
<div>{name}</div>
{!editing ?(
<p onClick={() => setEditing(true)} /*style={ cursor: "pointer" }*/>Amount :{amount}</p>
):(
<div>
<input
type="text"
value={itemAmount}
autoFocus
onChange={e => setItemAmount(e.target.value)}
onKeyDown={e => e.key == "Enter" && submit(id, itemAmount)}
/>
</div>
)}
</div>
)
}