Every shopping item now gets a visual like in Bring: a product emoji on
a softly tinted category tile.
- ItemVisuals.kt: pure client-side classifier. German dictionary
(~180 entries) maps item names to emoji + one of 13 categories
(produce, drinks, bakery, dairy, meat&fish, frozen, pantry, sweets,
household, drugstore, baby, pet, other), each with an accent color.
Longest-keyword-first matching so compounds resolve to their most
specific entry (Wassermelone is produce, not a drink); juice
compounds (Apfelsaft, Orangensaft, ...) are listed explicitly because
their fruit prefix is longer than 'saft'. Unknown items fall back to
the generic cart on neutral grey. Works fully offline, nothing leaves
the device.
- ListDetailScreen: emoji tile in every item row, emoji in the
autocomplete suggestions dropdown, and a live emoji preview as the
text field's leading icon while typing.
- ItemVisualsTest: longest-match priority, case/whitespace
insensitivity, fallbacks, category coverage.
Verified: assembleDebug + unit tests green (JDK 21).