Conversation
Bugfixes: - Add missing Dexie compound index [productId+daysBefore] for notification scheduling (was crashing at runtime) - Pass scanned barcode/name from Scanner to ProductForm via store (data was lost on navigation) - Integrate dead sw-handler.ts into main.tsx (SW update logic was never executed) Design & UX: - Add Bebas Neue display font via bunny.net for dashboard numbers and stats - Replace generic rounded cards with border-left ampel indicator on product cards and urgent list - Improve dashboard: 4-column ampel grid with large display numbers, better empty state with scan CTA - Better empty states: contextual messages based on filter/archive state - Fix all generic texts: "Dark Mode" → "Dunkles Design", "Suchen..." → "Name oder Barcode...", etc. - Add haptic feedback (navigator.vibrate) on barcode scan and product save - Improve delete confirmation text: "Nicht rückgängig machbar" Performance: - Lazy-load BarcodeScanner component (splits 842KB bundle into 423KB + 420KB chunks) - Add loading="lazy" on product images - Update CSP to allow fonts.bunny.net https://claude.ai/code/session_018567acDi8JQ3BHH8BxYX5b
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6d519a5467
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const BarcodeScanner = lazy(() => | ||
| import('./components/BarcodeScanner').then((m) => ({ default: m.BarcodeScanner })) |
There was a problem hiding this comment.
Avoid lazy-loading scanner in the offline-critical path
Loading BarcodeScanner via React.lazy makes scanner code unavailable until the chunk is fetched, so users who go offline before that fetch (for example on first install before a service worker controls the page) can no longer open the scanner; the dynamic import will fail and this route has no error boundary fallback. Because barcode capture is a core offline workflow here, this regression can block primary app usage in real offline sessions.
Useful? React with 👍 / 👎.
Bugfixes:
Design & UX:
Performance:
https://claude.ai/code/session_018567acDi8JQ3BHH8BxYX5b