v0.22.0 — Inventory search + Location/Label grouping; Suggestions styling fix

Adds a search box (matches name, location, and labels) and a Location/Label
grouping toggle to Inventory, and fixes the unstyled Suggestions page.
(Renumbered from 0.19.0 → 0.22.0: Pantry work took 0.19–0.21 in parallel.)

Hardening from a max-effort code review of the new grid:
- Contained items resolve to their container's effective location, so search
  finds them and the flat view groups them under the right place (not "No
  location").
- Location/label groups key on id, not name, so same-named places/labels stay
  separate; synthetic bucket renamed "No labels" to avoid colliding with a real
  label; fixed duplicate React keys and two empty-state regressions.
- deleteItem now reparents a deleted container's contents into its own spot
  (its place or parent item) instead of orphaning them; the grid also treats
  any still-orphaned child as top-level so nothing silently vanishes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 20:08:50 -05:00
parent dd7af9e8d4
commit 8f77b7c453
7 changed files with 299 additions and 40 deletions

View File

@@ -7,6 +7,10 @@ const config: Config = {
"./components/**/*.{ts,tsx}",
"./app/**/*.{ts,tsx}",
"./src/**/*.{ts,tsx}",
// The shared @otm/account-panel ships its own Tailwind classes (Suggestions,
// self-update, etc.). Scan its source so those utilities actually compile —
// otherwise the panel renders nearly unstyled (e.g. a bg-less Send button).
"./node_modules/@otm/account-panel/src/**/*.{ts,tsx}",
],
theme: {
container: {