Christian Vidal Wolf
eec500f737
fix: improve dropbox loading resilience and fix dev proxy
2026-04-22 16:09:00 +02:00
Christian Vidal Wolf and Claude 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 Wolf and Claude 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 Wolf and Claude 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 Wolf and Claude 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 Wolf and Claude 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 Wolf and Claude 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
Christian Vidal Wolf
19ca75c1b9
Fix drag selection with refs
2026-04-16 11:55:30 +02:00
Christian Vidal Wolf
dc46f91e7b
Add drag selection to filter dropdowns
2026-04-16 11:52:57 +02:00
Christian Vidal Wolf
3369fc90ed
fix: force showPicker for date inputs and add dark mode support
2026-04-14 18:58:07 +02:00
Christian Vidal Wolf
7c7258d87c
feat: implement native date pickers and YYYY-MM-DD format in Missing Data view
2026-04-14 18:55:23 +02:00
Christian Vidal Wolf
d4512aa4e6
Improve date column detection in Missing Data filters
2026-04-14 17:17:43 +02:00
Christian Vidal Wolf
a1402316e0
Add date range filter with calendar picker for Launch Date and Ready to Order
2026-04-14 17:13:47 +02:00
Christian Vidal Wolf
78df66be24
Add date picker for launch and ready to order fields
2026-04-14 17:09:12 +02:00
Christian Vidal Wolf
f4f69633ce
Add classification dropdown in Missing Data edit panel
2026-04-14 17:06:06 +02:00
Christian Vidal Wolf
4771a9b160
Fix: Improve AI description completeness and increase Gemini token limit to 4096
2026-04-14 11:23:49 +02:00
Christian Vidal Wolf
4533a98ddf
Add multi-select filters to Missing Data view using ColumnFilterPopover
2026-04-12 22:27:04 +02:00
Christian Vidal Wolf
31921666ad
Remove missingClass tab, keep only missingLaunch
2026-04-12 22:23:43 +02:00
Christian Vidal Wolf
a5d4305006
Fix columnUniqueValues dependency to use columns before it's defined
2026-04-12 18:38:47 +02:00
Christian Vidal Wolf
dce4588d0c
Add dropdown filters to Missing Data view with unique values
2026-04-12 18:36:19 +02:00
Christian Vidal Wolf
fd5d7458b9
Add column filters to Missing Data view and include Classification in editable columns
2026-04-12 18:32:08 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
39869edcef
feat: replace global EditPanel with focused 3-field panel in Missing Data
...
When editing from Missing Data view, only Classification, Launch Date
and Ready to Order fields are shown in a lightweight slide-in panel.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 15:23:23 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
ce9e91bad1
feat: add Edit button to each row in Missing Data view
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 15:19:20 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
7eeccdaf8c
feat: add Missing Data module as new sidebar entry
...
Replaces the tab approach with a dedicated 'Missing Data' module in the
sidebar. The module has two sub-tabs: 'Missing Classification' and
'Missing Launch Date'. Shows SKU, Name, Classification, Launch Date and
Ready to Order columns. Includes a local Excel serial date formatter so
dates that slipped through the App.tsx pre-processing are rendered
correctly instead of showing as raw numbers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 15:11:57 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
fdf878a4f8
feat: add Missing Class / Launch tab to Article Details
...
Adds a new 'Missing Class / Launch' tab in Article Details that surfaces
items where Classification is empty or Launch Date is blank/01-01-1900.
The tab shows Classification, Launch Date, and Ready to Order columns for
quick reference. Column indices for Launch Date and Ready to Order are
resolved dynamically from the Excel headers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-12 15:02:52 +02:00
Christian Vidal Wolf
d1f1c9a467
feat: restrict History and Pending Validation tabs to master user
2026-04-11 15:00:58 +02:00
Christian Vidal Wolf
7ecd1c45d0
UI: Add group verification for Dimensions inconsistencies and persist to DB
2026-04-11 11:48:56 +02:00
Christian Vidal Wolf
0e797e06bb
feat: add voice-to-text input using Web Speech API
2026-04-11 11:34:57 +02:00
Christian Vidal Wolf
5104dfd59d
chore: install buzz package for Python-style type checking
2026-04-11 11:31:58 +02:00
Christian Vidal Wolf
385ea2972c
feat: increase default page size from 25 to 100 in ProductDescriptions and ArticleDetails
2026-04-11 11:18:58 +02:00
Christian Vidal Wolf
aebf46493b
UI: Increase column widths for description headers to prevent cutoff
2026-04-11 11:15:41 +02:00
Christian Vidal Wolf
dcdf50593d
Comprehensive audit: Replace backend JWT dependency universally with anon key and strict cache rules
2026-04-10 19:56:42 +02:00
Christian Vidal Wolf
d9cc1f4506
Fix silent failure on getAllSyncedRows by forcing anon key
2026-04-10 19:52:30 +02:00
Christian Vidal Wolf
d3c90120f4
Force anon key on getHistory and expose errors visually
2026-04-10 19:48:33 +02:00
Christian Vidal Wolf
1c72eae60a
Disable fetch cache to sync history across computers
2026-04-10 19:45:05 +02:00
Christian Vidal Wolf
61daf8083f
fix: preserve 0 values in EditPanel form inputs
2026-04-10 12:55:47 +02:00
Christian Vidal Wolf
15913706fa
fix: show 0 values in DimensionsView instead of empty
2026-04-10 12:53:47 +02:00
Christian Vidal Wolf
20c4cb1a40
fix: preserve 0 values in badge check
2026-04-10 12:50:15 +02:00
Christian Vidal Wolf
95eb6ab91b
feat: add Edit button to history items to modify changes
2026-04-10 12:46:26 +02:00
Christian Vidal Wolf
be584600fc
feat: add clear X button to all search inputs
2026-04-10 12:39:31 +02:00
Christian Vidal Wolf
dbcd6d622f
Implement smart merge of synced data to preserve external updates
2026-04-10 12:31:57 +02:00
Christian Vidal Wolf
8849303f58
Fix data overwrite on reload by ignoring duplicates in dropbox-sync
2026-04-10 12:28:48 +02:00
Christian Vidal Wolf
7a5e1a1b26
Fix token definition oversight
2026-04-10 12:25:58 +02:00
Christian Vidal Wolf
bdd15cbd33
Show specific critical error message
2026-04-10 12:16:06 +02:00
Christian Vidal Wolf
3c821b83a0
Gracefully handle JWT expired and warn user to re-login
2026-04-10 12:09:49 +02:00
Christian Vidal Wolf
db91aeb842
Improve Supabase error reporting for diagnostic purposes
2026-04-10 12:06:16 +02:00
Christian Vidal Wolf
ee73b85100
Fix save changes looping issue and authorize all Supabase API calls
2026-04-10 12:03:12 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
a92e136372
fix: update Dropbox file path to correct location
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 11:51:41 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
1bff4f11a6
fix: use refresh token flow for permanent Dropbox access
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 11:24:28 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
8e5cc6745a
fix: use DROPBOX_ACCESS_TOKEN directly in proxy (skip refresh flow)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 11:20:16 +02:00
Christian Vidal Wolf
1aaf454ba5
fix: use raw fetch for Dropbox API instead of SDK, add better error logging
2026-04-10 11:01:55 +02:00
Christian Vidal Wolf
90e60017da
feat: sync Excel data to Supabase on load - detect new Dropbox files automatically
2026-04-10 10:54:50 +02:00
Christian Vidal Wolf
077e78513c
fix: use POST with upsert instead of PATCH to handle new products
2026-04-10 10:48:05 +02:00
Christian Vidal Wolf
0139e1de20
fix: add debug logs to handleSaveAll to diagnose save issue
2026-04-10 10:45:11 +02:00
Christian Vidal Wolf
bb1af0dbbd
fix: correctly track hasUnsavedChanges when only 1 pending change remains
2026-04-10 10:37:40 +02:00
Christian Vidal Wolf
4e6563d38d
Move filter icon next to header text in all views
2026-04-10 10:05:59 +02:00
Christian Vidal Wolf
19df2d04e4
Move filter icon closer to header text in ArticleDetails
2026-04-10 10:02:26 +02:00
Christian Vidal Wolf
23f4b508c8
Delete history entry after revert
2026-04-10 09:47:35 +02:00
Christian Vidal Wolf
0cf4f59937
Warn when reverting to original state (no actual changes)
2026-04-10 09:42:04 +02:00
Christian Vidal Wolf
7bf37eb017
style: adjust ASIN column width to fit 10 characters in ProductDescriptions
2026-04-10 09:28:49 +02:00
Christian Vidal Wolf
161e77a76b
Set ASIN column width to 90px
2026-04-10 09:25:34 +02:00
Christian Vidal Wolf
0c75e91c4e
Reduce ASIN column width to 120px
2026-04-10 09:23:51 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
64a9c40ec3
fix: move session check after all hooks to fix blank page on login
...
Early conditional return before useEffect/useMemo violated React Rules
of Hooks, causing error #300 (rendered more hooks than previous render)
after login.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 08:32:03 +02:00
Christian Vidal Wolf
1339a34bb0
Fix React hooks order - all useState at top
2026-04-10 08:27:36 +02:00
Christian Vidal Wolf
935f3f02ec
Add debug logging for session changes
2026-04-10 08:24:58 +02:00
Christian Vidal Wolf
1ef865250a
Fix login blank page issue
2026-04-10 08:20:44 +02:00
Christian Vidal Wolf
22dfa30708
Dynamically detect ASIN column from Excel headers
2026-04-09 16:33:05 +02:00
Christian Vidal Wolf
4a6440f58a
Detect ASIN column index dynamically from headers
2026-04-09 16:29:54 +02:00