Christian Vidal Wolf
311d74b783
fix: ensure saved changes persist across app refreshes by updating status logic and merge check
2026-05-11 11:48:11 +02:00
Christian Vidal Wolf and claude-flow
1556aea081
feat: add Cosmetic Items tab with inline CPNP No. editing
...
New sidebar tab for cosmetic product lines (INKEE, BATH FUN, TOP FASHION,
SENSES, BODYNESS) filtered to items with empty CPNP No. Column filters on
Item Available allow toggling zero/non-zero stock. CPNP_NO added as virtual
column (index 107) stored in Supabase.
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-05-08 13:28:39 +02:00
Christian Vidal Wolf
d9b9664a9d
feat: implement auto-resize textareas in EditPanel for descriptions and details
2026-05-07 08:55:18 +02:00
Christian Vidal Wolf
712a9dac16
feat: add MOQ column to PricingView positioned after container columns
2026-04-28 09:18:43 +02:00
Christian Vidal Wolf
917bb08d9f
feat: persistent search and filters across all tabs via FilterContext
2026-04-24 14:19:09 +02:00
Christian Vidal Wolf
b662acddd7
fix: date formatting for Dropbox data imports
2026-04-23 21:44:26 +02:00
Christian Vidal Wolf
8ffcae5eef
fix: prefer history data over synced data for internal columns
2026-04-23 19:28:25 +02:00
Christian Vidal Wolf
a987a5b750
debug: add immediate log after getHistoryDataForMerge
2026-04-23 19:25:52 +02:00
Christian Vidal Wolf
cf602fe9a2
debug: add detailed safeFetch and getHistoryDataForMerge logging
2026-04-23 19:23:29 +02:00
Christian Vidal Wolf
3892b9f256
debug: log processedRow[103] for 59272EN
2026-04-23 19:20:43 +02:00
Christian Vidal Wolf
f15c9fa853
fix: pad rows to match extendedHeaders length so internal cols are readable
2026-04-23 19:17:03 +02:00
Christian Vidal Wolf
7ef9f62497
debug: add diagnostic logs to trace history merge for 59272EN
2026-04-23 19:14:10 +02:00
Christian Vidal Wolf
c1e3960a20
fix: merge history data into rows when products table is empty
2026-04-23 19:07:38 +02:00
Christian Vidal Wolf
e0508d50d6
fix: restore internal control columns and protect them from Dropbox sync overrides
2026-04-23 18:36:35 +02:00
Christian Vidal Wolf
5112a27cda
Feat: Implement dynamic internal column protection and Fullscreen mode.
...
- Internal control columns (Type, Checking, etc.) now persist across Excel shifts.
- Master data columns now prioritize Dropbox source of truth.
- Added Fullscreen mode to all main tabs (Pricing, Descriptions, Matrix).
- Improved Supabase data loading with pagination.
2026-04-23 18:27:40 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
e1cfaaedfa
fix: paginate getAllSyncedRows to fetch all products beyond the 1000 row Supabase cap
...
With 1005+ products, the old query returned only the top 1000 by updated_at.
Items edited long ago (like 51016DE) were silently missing from syncedData,
so the merge never applied their saved edits. Now paginate by product_id
until we exhaust the table.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:56:54 +02:00
Christian Vidal Wolf
be7009353a
temp: diagnostic log v2 for 51016DE
2026-04-23 16:54:31 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
0165793b3e
fix: fill sparse holes in extendedHeaders to prevent undefined.includes() crash
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:47:39 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
96c56947c0
fix: extend headers with virtual columns so saved edits at indices >Excel length render
...
When the Excel shrinks (fewer columns than when an edit was saved), the
saved value exists in Supabase at e.g. index 103 but headers only covers
0-76, so the column never renders. Now we pad headers up to the hardcoded
virtual column indices (PRODUCT_TYPE=103, etc.) so the merge value is
visible in the UI.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:44:42 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
80f86cb83e
fix: remove temp diag log
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:35:20 +02:00
Christian Vidal Wolf
c3dda5d919
temp: add diag log for 51016DE Supabase data
2026-04-23 16:31:30 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
ebef518f11
fix: apply Supabase edits by diff vs Excel, not by editable column index
...
Instead of relying on resolvedCols.PRODUCT_TYPE (which can resolve to the
wrong index if the column header doesn't match the pattern), compare the
saved Supabase row against the fresh Excel row: any index where they differ
is a user edit and gets applied. This fixes TYPE / 'Surprise Bath bomb'
not appearing after reload.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:29:46 +02:00
Christian Vidal Wolf and Claude Sonnet 4.6
f3ed3cf147
fix: preserve edited changes after export and on Dropbox reload
...
resetAllPendingRows was setting status to 'synced' instead of 'edited',
causing the merge logic on reload to skip those rows. Also keep 'edited'
and 'saved' statuses locally after export instead of clearing all.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:22:35 +02:00
Christian Vidal Wolf
7de903a184
fix: load saved edits (status edited/pending) from Supabase
2026-04-23 16:16:20 +02:00
Christian Vidal Wolf
56fc7d34c3
fix: load fresh Excel values, only preserve pending edits
2026-04-23 16:14:18 +02:00
Christian Vidal Wolf
6bcf697165
fix: always use fresh Dropbox Excel values on load
2026-04-23 16:12:09 +02:00
Christian Vidal Wolf
c2b229e899
fix: only preserve Supabase if value is different from Dropbox
2026-04-23 16:07:16 +02:00
Christian Vidal Wolf
d98665fde0
fix: preserve app edits from Supabase (shows in Change History)
2026-04-23 16:00:21 +02:00
Christian Vidal Wolf
5ad1bff842
fix: use Dropbox values unless there's pending edit
2026-04-23 15:57:33 +02:00
Christian Vidal Wolf
dbaf0e76fe
Fix: Implement dynamic column re-alignment for data merging.
...
- Automatically detects if saved data uses the old Excel structure.
- Shifts indices dynamically to ensure UVP and SRP values match current columns.
- Fixes the 2.41 UVP and 4.95 SRP Int discrepancy.
2026-04-23 15:55:13 +02:00
Christian Vidal Wolf
68d8d67f95
UI: Change status of restored rows from 'pending' to 'synced' to remove distracting yellow highlights. Now previously saved work appears with a normal background while still being correctly loaded from the database.
2026-04-23 15:09:00 +02:00
Christian Vidal Wolf
397023b00d
Fix: Restore missing user edits by refining the data merge logic.
...
- Migrated 126 manual edits to 'edited' status.
- Updated App.tsx to merge rows with 'edited' or 'synced' status.
- Protected manual edits from being overwritten by automated Dropbox syncs.
2026-04-23 15:04:43 +02:00
Christian Vidal Wolf
b14cfe00f0
feat: fullscreen mode for all tabs + fix Dropbox/Supabase sync priority
2026-04-23 14:53:43 +02:00
Christian Vidal Wolf
aca37c4a99
Feature: Add ITEM TO LOGISTIC column to Pricing Units tab.
...
- Integrated new column after TYPE.
- Enabled inline editing with auto-save.
- Added field to the full row EditPanel.
- Configured dynamic column detection in types.ts.
2026-04-23 12:58:51 +02:00
Christian Vidal Wolf
1c3da9024c
Fix: Update Dropbox sharing link to the new version provided by the user. Restores auto-load functionality in both dev and production.
2026-04-23 12:50:40 +02:00
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 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
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 Wolf
81f0e76c3b
fix: update dropbox sharing link to the new version
2026-04-22 16:17:07 +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 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
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
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
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
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
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
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
7c7258d87c
feat: implement native date pickers and YYYY-MM-DD format in Missing Data view
2026-04-14 18:55:23 +02:00