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

@@ -7,7 +7,10 @@ function statusAccent(status) {
return STATUS_COLORS[status] || '#64748b';
}
export default function ItemCard({ item, onEdit, onDelete }) {
export default function ItemCard({ item, onEdit, onDelete, onQuickPack, onQuickUnpack }) {
const isPacked = item.status === 'packed';
const isUnpacked = item.status === 'unpacked';
return (
<View style={styles.itemCard}>
<View style={[styles.itemAccent, { backgroundColor: statusAccent(item.status) }]} />
@@ -29,6 +32,16 @@ export default function ItemCard({ item, onEdit, onDelete }) {
</Pressable>
</View>
</View>
<View style={styles.quickStatusRow}>
<Pressable style={[styles.quickStatusBtn, isPacked && styles.quickStatusBtnActive]} onPress={onQuickPack}>
<Text style={[styles.quickStatusBtnText, isPacked && styles.quickStatusBtnTextActive]}>Pack</Text>
</Pressable>
<Pressable style={[styles.quickStatusBtn, isUnpacked && styles.quickStatusBtnActive]} onPress={onQuickUnpack}>
<Text style={[styles.quickStatusBtnText, isUnpacked && styles.quickStatusBtnTextActive]}>Unpack</Text>
</Pressable>
</View>
{item.imageUri ? <Image source={{ uri: item.imageUri }} style={styles.previewImageSmall} /> : null}
</View>
</View>