Commit Graph
100 Commits
Author SHA1 Message Date
Christian Vidal WolfandClaude Opus 4.6 31ad7fda21 fix: read all sheets in Traffic Weekly Excel for complete GV data
processTrafficExcel was only reading the first sheet, missing data from
year-based sheets (e.g., "2025", "2026"). Now iterates all sheets with
auto-detection of column layout, matching the processAdsExcel pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:34:00 +01:00
Christian Vidal WolfandClaude Opus 4.6 a1dcb9b9fc chore: force Vercel redeploy with mobile responsive changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 09:37:40 +01:00
Christian Vidal WolfandClaude Opus 4.6 a8626ae7a6 chore: trigger Vercel redeploy with mobile optimization
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 09:35:31 +01:00
Christian Vidal WolfandClaude Opus 4.6 9895545910 feat: full mobile responsive optimization for Android/iPhone
- Add bottom navigation bar (6 tabs) for mobile, hidden on desktop
- Compact header with smaller logo and reduced padding on mobile
- Collapsible filter bar with active filter count badge on mobile
- Bottom-sheet style dropdowns with overlay and larger touch targets
- Fullscreen AI chat on mobile, floating window on desktop
- Responsive dashboard cards with always-visible expand button
- Smaller table text and touch-friendly scroll on all data grids
- iPhone safe-area support and thinner scrollbars on mobile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 09:27:46 +01:00
Christian Vidal Wolf fecc7264c8 chore: trigger Vercel redeploy with filter UI optimizations 2026-02-14 10:10:17 +01:00
Christian Vidal Wolf b515bd17b0 chore: add .env to gitignore to protect API keys 2026-02-10 15:39:33 +01:00
Christian Vidal Wolf 1bea36aa74 fix: move Gemini API calls server-side to fix API key issue on Vercel 2026-02-10 15:35:10 +01:00
Christian Vidal Wolf 5e2abfb1e2 fix: read API key from process.env for Vercel builds 2026-02-10 15:32:14 +01:00
Christian Vidal Wolf a259538ff4 fix: exhaustive API key lookup and injection for Vercel 2026-02-10 15:24:52 +01:00
Christian Vidal Wolf 01026da882 fix: support both API_KEY and GEMINI_API_KEY in vite config 2026-02-10 15:18:49 +01:00
Christian Vidal Wolf 3f6fdc8d72 feat: integrate Gemini Pro 1.5 with KAM persona for data analysis 2026-02-10 15:15:44 +01:00
Christian Vidal Wolf 96e9583fdb Refactor ExcelFilter popup UI for a more compact and data-dense experience 2026-02-09 12:16:46 +01:00
Christian Vidal Wolf ee608cd042 Optimize Grid header UI: reduce font sizes, padding, and improve alignment of metric columns 2026-02-09 12:13:51 +01:00
Christian Vidal Wolf 81c946b3e1 Enhance Excel-style filters with numeric operators and integrate into GRID metrics (Sell Out, Units) 2026-02-09 12:09:01 +01:00
Christian Vidal Wolf d5bcbeda1a Fix GRID tab empty table regression by correcting filter logic and prop passing 2026-02-09 12:05:03 +01:00
Christian Vidal Wolf ac791b5265 Implement Excel-style filters (SKU, ASIN, Title, Line) across GRID, WEEKLY SALES, and FC26 tabs 2026-02-09 12:00:39 +01:00
Christian Vidal Wolf 827135a517 fix: force ASIN column B and Reason column N for BB_DE 2026-02-06 10:57:03 +01:00
Christian Vidal Wolf bd8f86007c fix: force Column J for BB_UK reason column 2026-02-06 10:54:06 +01:00
Christian Vidal Wolf 76193fb9bf fix: force Column S for BB_FR reason column 2026-02-06 10:50:18 +01:00
Christian Vidal Wolf 86547bdf0d style: relocate search bar to top toolbar for better visibility 2026-02-06 10:31:37 +01:00
Christian Vidal Wolf 62d4903566 feat: implement bulk search for ASINs/SKUs in DataGrid 2026-02-06 09:22:24 +01:00
Christian Vidal Wolf 3a4410c3b5 Fix Buy Box warning detection for Spain (B0D3874WSD) and update Vite proxies 2026-02-05 10:48:37 +01:00
Christian Vidal Wolf 9f9556af2a debug: Add Spain-specific sheet fallbacks and expose Buy Box data to window.debugBuyBox 2026-02-05 08:52:49 +01:00
Christian Vidal Wolf aeefd76496 feat: Make Buy Box sheet matching even more aggressive 2026-02-05 08:48:27 +01:00
Christian Vidal Wolf 4ead042534 debug: Expand logging for Buy Box parsing to see why Spain rows are skipped 2026-02-05 08:48:17 +01:00
Christian Vidal Wolf 299d2032bc feat: Improve Buy Box header detection and add Spanish aliases 2026-02-05 08:44:33 +01:00
Christian Vidal Wolf 9a042c6478 debug: Add diagnostics for Buy Box warning issue 2026-02-05 08:43:58 +01:00
Christian Vidal Wolf 09e06bad16 feat: Automate Buy Box tracker sync from Dropbox and improve parsing robustness 2026-02-05 08:39:39 +01:00
Christian Vidal Wolf c4ad999619 Update stock fetch to use Dropbox URL for Item Availability 2026-02-03 08:55:45 +01:00
Christian Vidal Wolf ceb389cfb0 feat: Add YTD (Year-To-Date) cumulative lines to chart
- Calculate accumulated Sell Out and Units per week for each year
- Add toggle button to show/hide YTD lines (cyan color)
- YTD lines use thicker stroke with lower opacity for distinction
2026-02-02 11:38:26 +01:00
Christian Vidal Wolf dfe9a88ceb fix: Make expanded chart fill entire screen (vertical + horizontal)
- Updated ExpandableChartCard to use flex-1 + min-h-0 for proper height
- Added CSS selectors to make child divs fill available space
- Chart now expands to fullscreen in both dimensions
2026-02-02 11:31:26 +01:00
Christian Vidal Wolf e1e6f127be feat: Add UK inventory sync from Dropbox
- Create new API endpoint api/fetch-uk-inventory.ts
- Add processUKInventoryExcel function in dataProcessor.ts
- Update handleVendorStockFetch to load PANEU + UK in parallel
- Configure Vite proxy for UK inventory endpoint
- UK stock correctly populates 'uk' field in vendorStockMap
2026-02-02 09:24:49 +01:00
Christian Vidal Wolf ab9ac4f47e fix: Correct stock column detection for PANEU-Stock.xlsx
- Prioritize 'Sellable On Hand Units' column (was selecting 'Net Received Units')
- Add 'Store code' recognition for marketplace detection
- Improved column search strategy with priority levels
2026-02-02 09:18:32 +01:00
Christian Vidal Wolf 7e58e8aba4 feat: Sync PANEU inventory from Dropbox
- Add new API endpoint for PANEU stock from Dropbox
- Update handleVendorStockFetch to use new endpoint
- Configure Vite proxy for local development
2026-02-02 09:13:20 +01:00
christian.vidal 74f6fa2278 fix: Improve Vendor Stock column detection to prioritize units over cost 2026-02-01 16:00:01 +01:00
christian.vidal f3e13769d7 fix: implement product line seasonality for forecast fallback 2026-02-01 15:47:33 +01:00
Christian Vidal Wolf 01e20eb073 Always show YoY comparison row in tooltips (displays 'No data' when unavailable) 2026-01-31 20:48:47 +01:00
Christian Vidal Wolf b8d589bca1 Enhance tooltips with YoY comparison and English labels 2026-01-31 17:42:59 +01:00
Christian Vidal Wolf 6a83109e1c Add metric tooltips showing comparison details (vs previous week) 2026-01-31 12:51:47 +01:00
Christian Vidal Wolf 3e334c1fde Add numeric column filters for Units, Spend and GV in Weekly Sales 2026-01-31 12:11:33 +01:00
christian.vidal 2a199d397e Implement Custom Numeric Filtering (>10, 5-10) for Stock/WOC columns in Weekly Sales 2026-01-30 19:28:53 +01:00
Christian Vidal Wolf c691d4e9ba fix: restrict actual units to forecast region scope in ForecastView 2026-01-30 09:23:07 +01:00
Christian Vidal Wolf a678880112 fix: improve forecast seasonality logic and catalog data integrity 2026-01-30 09:10:02 +01:00
Christian Vidal Wolf f26ea171ce feat: add Top 50 filter and sorting to DataGrid + fix BuyBox badge hover 2026-01-30 08:51:20 +01:00
christian.vidal efbdfc41e5 Refine YTD Logic: Allow full historical data when Month/Week filters are active 2026-01-29 21:11:29 +01:00
christian.vidal b1c3897cfd Implement Enter key support for quick filtering 2026-01-29 20:59:35 +01:00
christian.vidal 9200c554e1 Fix Forecast Seasonality: Process weights using global data even when filtered 2026-01-29 20:56:19 +01:00
christian.vidal 2060f82348 Fix Forecast View discrepancy: Align Chart/Summary with Search Filters 2026-01-29 20:50:31 +01:00
christian.vidal db2c67060b Implement Dashboard-specific YTD filtering 2026-01-29 20:31:44 +01:00
christian.vidal 7a2b47af21 Fix syntax error in App.tsx: Restore missing useMemo declaration 2026-01-29 20:29:18 +01:00
christian.vidal 2c6b9c9f5a Implement Grid-specific YTD filtering and default sorting 2026-01-29 20:27:19 +01:00
christian.vidal 55c91a7bfc Remove decimals from Dashboard and fix BuyBox badge layout 2026-01-29 20:19:13 +01:00
christian.vidal 0211124879 Set default Grid columns to SKU and Title only 2026-01-29 20:15:14 +01:00
christian.vidal fc941bbac7 Increase Title column width to 450px 2026-01-29 20:12:19 +01:00
christian.vidal 37fa2acf40 Optimize data processing performance with memoization 2026-01-29 20:09:28 +01:00
christian.vidal a856aaae4b Optimize Title column width and add tooltip 2026-01-29 20:00:54 +01:00
christian.vidal 5dce7992e1 Fix Week Coverage calculation in DataGrid 2026-01-29 18:56:31 +01:00
christian.vidal 815c9bc934 Fix Column selector visibility and z-index 2026-01-29 18:50:46 +01:00
christian.vidal 367440fa6b Rename Group By button to Columns in DataGrid 2026-01-29 18:44:35 +01:00
Christian Vidal Wolf b54f6f8030 Fix Buy Box badge visibility in Grid tab by preserving metadata in pivot; add row z-index 2026-01-29 15:43:18 +01:00
Christian Vidal Wolf fcc8096b01 Integrate Buy Box warnings in Grid tab; fix prop regression in App.tsx 2026-01-29 13:45:41 +01:00
Christian Vidal Wolf fa14f57855 Restore Buy Box badge positions to match original layout; fix row layering in all views 2026-01-29 13:41:09 +01:00
Christian Vidal Wolf c5db663454 Revert unintended changes in ForecastView and AdsPerformance; keep WeeklyGrid badge repositioning 2026-01-29 13:27:44 +01:00
Christian Vidal Wolf 355c64422c Reposition Buy Box warning badge next to SKU in WeeklyGrid 2026-01-29 13:23:04 +01:00
Christian Vidal Wolf 3e3df60bf2 Ignore Buy Box warnings with 'Fixed' status 2026-01-29 13:18:09 +01:00
Christian Vidal Wolf 3f50883bd2 Implement multi-ASIN/SKU search support in all main views 2026-01-29 13:14:28 +01:00
Christian Vidal Wolf 9736a8194f Fix Buy Box popup visibility: add row hover z-index and use bottom positioning 2026-01-29 10:52:41 +01:00
Christian Vidal Wolf 1dc06e8b3b Enhance Buy Box warning badge with styled hover popup showing reasons and flags 2026-01-29 10:08:44 +01:00
Christian Vidal Wolf 02aa95d39d Fix Buy Box parsing: only include ASINs with Issue Type/Reason specified 2026-01-29 09:51:34 +01:00
Christian Vidal Wolf 04b208969d Add Buy Box Lost detection feature with visual warning badges 2026-01-29 09:42:39 +01:00
Christian Vidal Wolf e4fbdb60b1 Revert Amazon icon to just the smile arrow as requested 2026-01-29 09:03:34 +01:00
Christian Vidal Wolf 541e772ede Update Amazon icons to match the full logo provided by the user 2026-01-29 09:00:07 +01:00
Christian Vidal Wolf 12ca24b9f6 Add custom icons to stock and coverage filters for better visibility 2026-01-29 08:51:36 +01:00
Christian Vidal Wolf d19f0cddac Optimize Forecast View performance and implement WOC filter across views 2026-01-29 08:47:03 +01:00
Christian Vidal Wolf 98e8bb3904 Add Annual Forecast column to Fc 26 tab and Excel export 2026-01-28 16:43:18 +01:00
Christian Vidal Wolf bc6ec6dff8 Fix Forecast Period discrepancy by excluding month filter from seasonality data 2026-01-28 16:38:06 +01:00
Christian Vidal Wolf 0ea94aefd1 Implement Smart Seasonality blending for products with sparse history (fixes 0-forecast issue) 2026-01-28 15:17:58 +01:00
Christian Vidal Wolf d40740fce7 Optimize performance (persistent tabs, pagination) and add sortable columns + stock badges to ForecastView 2026-01-28 15:11:47 +01:00
Christian Vidal Wolf 1b362d0660 Update FC 26 Achievement to use Annual Forecast as denominator 2026-01-28 15:00:48 +01:00
Christian Vidal Wolf 9d732eeba3 Restore ForecastView UI, Fix default YTD logic, and Refine Seasonality (Specific > Global fallback) 2026-01-28 14:55:35 +01:00
Christian Vidal Wolf cfff95bff2 Fix Global Weights: Fallback to flat distribution if reference data is sparse (<4 months) 2026-01-28 13:24:29 +01:00
Christian Vidal Wolf 894271b549 Fix Seasonality: Use Global Catalog curve as fallback for sparse ASIN history 2026-01-28 13:17:04 +01:00
Christian Vidal Wolf cfce00cd63 Fix seasonality bias: Default to flat weighting if history is sparse (<4 months) 2026-01-28 13:11:08 +01:00
Christian Vidal Wolf d1a522a446 Update ForecastView with v2.2 version tag and ensure correct import 2026-01-28 13:05:08 +01:00
Christian Vidal Wolf 974684ff97 Trigger Vercel deployment: Force refresh for Forecast View changes 2026-01-28 13:01:07 +01:00
Christian Vidal Wolf bbf32259a8 Update Forecast Period to YTD logic 2026-01-28 12:49:41 +01:00
Christian Vidal Wolf d5a76d5b97 Fix syntax error in ForecastView iteration logic 2026-01-28 12:39:37 +01:00
Christian Vidal Wolf 1886554a31 Fix Weekly Grid WOC and Restore Forecast View Graph/UI 2026-01-28 12:35:40 +01:00
Christian Vidal Wolf f7dd827258 Fix syntax error in ForecastView.tsx: Close td tag and remove nested structures 2026-01-28 12:20:55 +01:00
Christian Vidal Wolf 6c539693a8 Redesign ForecastView UI: Add Actuals, Achievement columns and Dark Theme 2026-01-28 12:16:41 +01:00
Christian Vidal Wolf b3b8c4f967 Revert week logic and add debug tooltip to VendorStockBadge 2026-01-28 11:50:59 +01:00
Christian Vidal Wolf 090d06b78e Fix Weeks of Coverage: Exclude partial current week from calculation 2026-01-28 11:44:47 +01:00
Christian Vidal Wolf 2affd868db Fix ReferenceError crash: Move velocityMap calculation to top of App component 2026-01-28 11:39:17 +01:00
Christian Vidal Wolf d286b848a0 Comment out VendorStockBadge to isolate runtime crash 2026-01-28 11:33:17 +01:00
Christian Vidal Wolf 2155c9d2de Fix syntax in ForecastViewProps and clean rewrite of VendorStockBadge 2026-01-28 11:29:25 +01:00
Christian Vidal Wolf c9494eb6d1 Fix syntax in ForecastViewProps to match App.tsx usage 2026-01-28 11:26:12 +01:00
Christian Vidal Wolf c42f265132 Fix Vercel build error: Restore broken interface definition in ForecastView.tsx 2026-01-28 11:24:02 +01:00
Christian Vidal Wolf ec5b9a3733 Fix syntax in VendorStockBadge and robust styling for visibility 2026-01-28 11:22:21 +01:00
Christian Vidal Wolf ba94890cc7 Fix styling: Ensure Weeks of Coverage is visible even with 0 sales 2026-01-28 11:07:04 +01:00
Christian Vidal Wolf 57f1d66622 Fix Weeks of Coverage: use unfiltered velocity map for robust calculation 2026-01-28 11:01:05 +01:00