2 Commits

Author SHA1 Message Date
b01625473f docs: capture 4 todos - storage tests, image bugs, manufacturer entity
All checks were successful
CI / ci (push) Successful in 1m5s
CI / deploy (push) Has been skipped
CI / e2e (push) Has been skipped
2026-04-10 11:24:26 +02:00
77b84dd208 docs: capture todo - Add cursor pointer to all clickable links 2026-04-10 11:17:56 +02:00
5 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
---
created: 2026-04-10T09:17:31.682Z
title: Add cursor pointer to all clickable links
area: ui
files: []
---
## Problem
Clickable links across multiple pages in the app do not consistently show `cursor: pointer` styling. Users expect the cursor to change to a pointer when hovering over clickable elements, but some links/buttons may use default cursor. This needs a sweep across all pages to ensure consistent hover behavior.
## Solution
Audit all pages for clickable elements (links, buttons, interactive spans/divs) and ensure they have `cursor: pointer` via Tailwind's `cursor-pointer` class or appropriate element semantics (`<a>`, `<button>` naturally get pointer cursor). Focus on custom clickable elements that may be using `<div>` or `<span>` with onClick handlers.

View File

@@ -0,0 +1,18 @@
---
created: 2026-04-10T09:23:46.394Z
title: Add manufacturer entity with brand details
area: database
files:
- src/db/schema.ts
- src/server/services/global-item.service.ts
---
## Problem
The manual item adding form doesn't include detailed manufacturer info. Currently `brand` is just a text field on items and globalItems. There's no structured manufacturer data (logo, website, country, description). Users can't select from existing manufacturers — they type freeform text which leads to inconsistencies ("Ortlieb" vs "ORTLIEB" vs "ortlieb").
## Solution
Create a `manufacturers` table with fields: `id`, `name` (unique), `logoUrl`, `websiteUrl`, `country`, `description`, `createdAt`. Add a `manufacturerId` FK on `globalItems` (and potentially `items`). Build a manufacturer picker component (like CategoryPicker) with search and inline create. Update the manual add form and catalog enrichment to use the manufacturer entity. This is a significant feature — likely needs its own phase.
Note: This would also improve the MCP agent seeding workflow — agents could create manufacturers first, then reference them when creating catalog items.

View File

@@ -0,0 +1,16 @@
---
created: 2026-04-10T09:23:46.394Z
title: Fix item image not showing on collection overview
area: ui
files:
- src/client/routes/collection.tsx
- src/client/components/ItemCard.tsx
---
## Problem
When adding an image to an item, the image is not displayed on the collection overview page (grid/list view). The image only appears when viewing the item's detail page. This suggests the collection overview query or component isn't fetching/passing the image URL, or the card component isn't rendering it.
## Solution
Check the collection overview query — does it include `imageUrl`/`imageFilename` in the response? Check the ItemCard component — does it render the image when present? May need to ensure the presigned S3 URL is being generated for the collection list endpoint, not just the detail endpoint.

View File

@@ -0,0 +1,16 @@
---
created: 2026-04-10T09:23:46.394Z
title: Fix storage service tests
area: testing
files:
- tests/services/storage.service.test.ts
- src/server/services/storage.service.ts
---
## Problem
15 tests in the storage service test file are failing with `SyntaxError: Export named 'withImageUrl' not found in module 'src/server/services/storage.service.ts'`. This is a pre-existing issue that predates Phase 25. The `withImageUrl` export was likely renamed or removed but tests still reference it.
## Solution
Investigate the `storage.service.ts` exports, find what `withImageUrl` was renamed to (possibly `withImageUrls` based on recent Phase 24 commit `e1afd54`), and update the test imports to match.

View File

@@ -0,0 +1,16 @@
---
created: 2026-04-10T09:23:46.394Z
title: Investigate slow image loading
area: ui
files:
- src/server/services/storage.service.ts
- src/client/components/ItemCard.tsx
---
## Problem
Images seem to load slowly across the app. This could be due to presigned URL generation happening on every request, large original images being served without resizing, or no caching headers on S3 responses.
## Solution
Investigate: Are presigned URLs being cached or regenerated on every API call? Are images being served at original resolution? Consider: presigned URL caching with TTL, image thumbnails for list views, appropriate Cache-Control headers on S3 objects, lazy loading for off-screen images.