feat: add history long-press delete and quick item status actions
Some checks failed
Luggage List Build / build-web (push) Successful in 29s
Luggage List Build / release (push) Has been cancelled
Luggage List Build / build-android (push) Has been cancelled

This commit is contained in:
2026-04-18 14:34:05 +02:00
parent 2e45261354
commit d40bd6a41c
6 changed files with 121 additions and 8 deletions

View File

@@ -358,6 +358,44 @@ export default function AppRoot() {
});
}
function quickSetItemStatus(itemId, status) {
if (!selectedTripId) return;
setData((prev) => {
const items = prev.itemsByTrip[selectedTripId] || [];
return {
...prev,
itemsByTrip: {
...prev.itemsByTrip,
[selectedTripId]: items.map((item) =>
item.id === itemId
? {
...item,
status,
lentTo: status === 'lent-to' ? item.lentTo : '',
updatedAt: Date.now(),
}
: item
),
},
};
});
}
function deleteCheckup(checkupId) {
if (!selectedTripId) return;
setData((prev) => {
const existing = prev.checkupsByTrip[selectedTripId] || [];
return {
...prev,
checkupsByTrip: {
...prev.checkupsByTrip,
[selectedTripId]: existing.filter((checkup) => checkup.id !== checkupId),
},
};
});
setSelectedCheckupId((prev) => (prev === checkupId ? null : prev));
}
function createFreshCheckupSession() {
if (!selectedTripItems.length) {
setCheckupSession([]);
@@ -564,6 +602,7 @@ export default function AppRoot() {
openAddItemModal={openAddItemModal}
openEditItemModal={openEditItemModal}
deleteItem={deleteItem}
quickSetItemStatus={quickSetItemStatus}
/>
)}
@@ -584,6 +623,7 @@ export default function AppRoot() {
selectedTripCheckups={selectedTripCheckups}
selectedCheckupId={selectedCheckupId}
setSelectedCheckupId={setSelectedCheckupId}
onDeleteCheckup={deleteCheckup}
/>
)}
</ScrollView>