Commit Graph
207 Commits
Author SHA1 Message Date
Christian Vidal Wolf f6ef573f3a Auth: Implement automatic session refresh logic to prevent 'JWT expired' errors. The app now handles token renewal in the background, allowing users to save changes without interruption. 2026-04-23 12:37:04 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 e0484354b9 Security: Add HTTP security headers via vercel.json
Adds HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy,
and Permissions-Policy to all responses. CSP allowlist includes only
Supabase and Dropbox as external connect targets.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 10:04:33 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 2e4ab35f37 Security: Restrict API endpoints to allowed origin (CORS)
Both Vercel serverless functions now enforce CORS, returning 403 for
requests from any origin other than craze-data-check.vercel.app.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 10:02:47 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 dec24f52f4 Security: Enable RLS support by passing user JWT in Supabase requests
Replaced hardcoded anon key as Bearer token with authHeaders() helper
that uses the authenticated user's access_token when available, enabling
Row Level Security policies to identify the calling user correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 09:59:46 +02:00
Christian Vidal Wolf 7a32605189 Fix: Import missing 'cn' and 'X' in App.tsx. Resolves blank screen runtime error. 2026-04-22 20:40:32 +02:00
Christian Vidal Wolf b5ea911e43 UI: Implement Maximize mode for tables. Added a 'MAXIMIZE' button to TopBar and an 'X' close button in fullscreen mode. Hides sidebar and header to provide maximum screen space for data tables. 2026-04-22 20:38:06 +02:00
Christian Vidal Wolf bf98e4e4ba UI: Add resizable columns to Matrix View. Users can now adjust column widths by dragging, improving data visibility in the All Data view. 2026-04-22 17:09:46 +02:00
Christian Vidal Wolf f01b720c05 UI: Enable 'Enter' key to apply filters in ColumnFilterPopover. Improved search usability by allowing quick selection and application of filters from the keyboard. 2026-04-22 17:06:35 +02:00
Christian Vidal Wolf d43d9931c6 Fix: Implement dynamic column detection to handle Excel structure changes (insertion of PM Classification). This fixes the Missing data error in Pricing Units and other views. 2026-04-22 16:52:59 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 8471a69529 fix: detect Units/Outer column dynamically instead of hardcoded index
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 16:37:50 +02:00
Christian Vidal Wolf 81f0e76c3b fix: update dropbox sharing link to the new version 2026-04-22 16:17:07 +02:00
Christian Vidal Wolf eec500f737 fix: improve dropbox loading resilience and fix dev proxy 2026-04-22 16:09:00 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 e7f88c67e6 feat: add filter to Issues column in Pricing view
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 14:39:04 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 db25ea793d fix: Issues column shows only NW > GW weight errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 14:37:01 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 2c08a6593a feat: add Issues column to Pricing view showing unit/weight errors per row
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 14:34:10 +02:00
Christian Vidal Wolf 10a2b3effd fix: include empty values in missing data view filters 2026-04-22 14:31:41 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 4460213da3 feat: detect NW > GW weight errors in Pricing Units tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 14:31:16 +02:00
Christian Vidal Wolf a1b046feb1 feat: include empty classification in missing data view and improve pricing view column detection 2026-04-22 14:29:38 +02:00
Christian Vidal Wolf 9d169a0bdd Add pagination to Pricing tab
Load data in batches of 100 products per page with navigation controls
2026-04-21 11:25:20 +02:00
Christian Vidal Wolf 99ad4f7d25 feat: add sorting to Pricing Units table 2026-04-21 09:32:15 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 f15871f89f feat: add TYPE column to Pricing view with autocomplete suggestions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 09:24:02 +02:00
Christian Vidal Wolf 77819f5d3a fix: restore row status on undo and improve change detection 2026-04-21 09:05:14 +02:00
Christian Vidal Wolf 2b994e3c86 feat: implement resizable columns in Pricing Units tab 2026-04-21 09:03:01 +02:00
Christian Vidal WolfandClaude Sonnet 4.6 9b861f1c19 fix: remove yellow highlight when modification is reverted to original value
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 09:01:17 +02:00
Christian Vidal Wolf 6a864a4c35 Fix column resize - make handle more visible and add pointer-events 2026-04-21 08:56:37 +02:00
Christian Vidal Wolf 3462ac9991 feat: update Dropbox source URL and implement smart dirty-checking for row highlight 2026-04-21 08:55:50 +02:00
Christian Vidal Wolf 964bb62838 Fix column resizing in Pricing table
Improve resize logic with proper mouse delta calculation
2026-04-21 08:49:02 +02:00
Christian Vidal Wolf b4cb7cbe57 Add column resizing in Pricing table
Drag column borders to resize width like Excel
2026-04-21 08:40:54 +02:00
Christian Vidal Wolf d8c65a22f9 fix: improve contrast between validated and pending states and fix instant background removal 2026-04-21 08:36:06 +02:00
Christian Vidal Wolf d8f3dfbed3 Enable multi-select in Pricing search dropdown
Search dropdown now allows selecting multiple products with checkboxes and Apply button
2026-04-21 08:30:14 +02:00
Christian Vidal Wolf ed9e8ba3ab Fix Refresh button to bypass browser cache
Use cache: 'no-store' and cache buster to force fresh data load
2026-04-20 20:39:23 +02:00
Christian Vidal Wolf 03b98c9aed Add tooltip preview on hover for notes in Pricing tab
Show note content in popup when hovering over the notes icon
2026-04-20 20:35:46 +02:00
Christian Vidal Wolf 9878efb2ca feat: enhance PricingView search bar with a searchable dropdown list 2026-04-20 20:34:28 +02:00
Christian Vidal Wolf ecf1c7831c Add Hard Refresh button to TopBar
Button triggers reload of all data from Dropbox source
2026-04-20 20:30:21 +02:00
Christian Vidal Wolf 369e37c8f5 Filter out old launch dates before Dec 2025 in Missing Data tabs 2026-04-20 20:24:39 +02:00
Christian Vidal Wolf 66a42ad1a0 Add Launch Date Inconsistencies and Upcoming Launch Date tabs
- Add Launch Date Inconsistencies tab: shows when Ready to Order > Launch Date
- Add Upcoming Launch Date tab: alerts when launch is within 180 days (yellow) or 120 days (red)
- Show days until launch countdown
2026-04-20 18:48:30 +02:00
Christian Vidal Wolf db696d2816 feat: redesign PricingView with manual validation check and notes, and add Matrix columns 2026-04-20 18:46:50 +02:00
Christian Vidal Wolf 111a44ae82 Add close X button to filter popover
Add X button in top-right corner to close filter dropdown
2026-04-20 17:15:41 +02:00
Christian Vidal Wolf b76b64b044 Add Excel-like filter conditions to column filters
Add Condition tab with: equals, not equals, contains, starts with, ends with, greater than, less than, between
2026-04-20 17:05:24 +02:00
Christian Vidal Wolf af2ed8a037 Add dynamic column filters to all pricing columns
Add filter dropdowns to SRP, UVP, and container columns in Pricing tab
2026-04-20 17:01:47 +02:00
Christian Vidal Wolf 5f96272182 Add column filters for Units/Outer and Outer W/L/H in Pricing tab
Add dropdown filters to filter by specific values in Units/Outer, Outer W, Outer L, Outer H columns
2026-04-20 16:57:02 +02:00
Christian Vidal Wolf 67a0466627 Refine AI button labeling logic: only use 'Translate' for same-field cross-language content 2026-04-20 16:53:21 +02:00
Christian Vidal Wolf 4c39c9ec53 Add Outer W, L, H columns to Pricing tab
Display outer box dimensions next to Units/Outer column in pricing view
2026-04-20 16:51:54 +02:00
Christian Vidal Wolf dab6ccf723 Update short description AI prompts with character limits and improved translation logic 2026-04-20 16:50:21 +02:00
Christian Vidal Wolf 23074ed42f Fix ColumnFilterPopover single-click and drag-selection interaction 2026-04-20 16:42:07 +02:00
Christian Vidal Wolf 1d9e77038a Add Details DE/EN to description columns filter
Include DETAILS columns in description filter for Present/Missing filtering and improve empty value handling
2026-04-20 16:37:33 +02:00
Christian Vidal Wolf b6b60e7dfb Hide stats header in TopBar for non-descriptions tabs
Only show Total, Missing DE/EN Long/Short, Fully Complete header when viewing Product Descriptions tab
2026-04-20 16:35:40 +02:00
Christian Vidal Wolf 86c3ace6f8 Add dropdown selector for individual row field changes in Dimensions tab
- Added dropdown that shows unique values from the group (outer/units/moq)
- Click icon to open dropdown and select value to change single row
- Icon turns green on hover (emerald color)
- Replaces sync all icon with ChevronDown dropdown icon
2026-04-20 11:46:55 +02:00
Christian Vidal Wolf f358b61229 fix: resolve ReferenceError in DimensionsView by moving useEffect after variable declaration 2026-04-16 12:03:39 +02:00
Christian Vidal Wolf cbfd5f573d feat: implement excel-style drag-to-select and shift-click in Dimensions and filters 2026-04-16 12:01:59 +02:00