Commit Graph
269 Commits
Author SHA1 Message Date
Christian Vidal Wolf cc6fd25065 style: condense advertising performance panel in dashboard 2026-01-21 12:53:21 +01:00
Christian Vidal Wolf 0138b787b2 feat: multi-year ads performance and YoY growth in Dashboard 2026-01-21 12:49:21 +01:00
Christian Vidal Wolf b6573ebe15 feat: enable ads metrics at any grouping level (SKU, Line, etc.) in Grid 2026-01-21 11:02:12 +01:00
Christian Vidal Wolf e5c72c48c5 feat: automatic ads data loading and attributed sales line in chart 2026-01-21 10:46:50 +01:00
Christian Vidal Wolf 1c826c2487 feat: Add Amazon Ads Weekly integration with Dashboard KPIs, Grid summary, and chart lines
- Update AdsRecord interface to support weekly data (year, week, cpc, ctr, acos, conversions)
- Rewrite processAdsExcel to parse multiple sheets (2025, 2026) with 12-column format
- Update mergeSalesAndAdsData to match by ASIN+Country+Year+Week
- Add Advertising Performance section to Dashboard with Ad Spend, Attributed Sales, ACOS, ROAS
- Add Ads toggle button and summary bar to DataGrid
- Add Ad Spend lines (fuchsia dashed) to weekly comparison chart
- Fix import paths in Dashboard.tsx and AdvertisingDashboard.tsx
2026-01-21 09:45:50 +01:00
Christian Vidal Wolf 67951bcac8 feat: Implement Pan-EU grouping in Grid tab
- Added applyPanEUGrouping() helper function in dataProcessor.ts
- Groups Amazon DE/IT/FR/ES as 'Pan-EU' when no customer filter applied
- Shows individual countries when specific filter is selected
- Updated DataGrid to accept hasCustomerFilter prop
- Updated App.tsx to pass filter state to DataGrid
- Keeps Amazon UK and Amazon SC separate
- Verified with browser testing: grouping works correctly
2026-01-20 12:59:35 +01:00
Christian Vidal Wolf 98aba3e36b feat: Add European number formatting with dots as thousand separators
- Updated all toLocaleString() calls to use 'de-DE' locale
- Applied to DataGrid, Dashboard, AdvertisingDashboard, TopMovers, geminiService
- Numbers now display as €1.234 instead of €1,234
- Fixed spread operator syntax errors introduced during bulk replacement
- Verified across all tabs: Dashboard, Grid, Advertising
2026-01-20 12:14:13 +01:00
Christian Vidal Wolf 73519791b9 Fix: Resolve array mutation bug preventing Grid sorting from working
- Changed result.sort() to result = [...result].sort() to create new array reference
- React now properly detects changes and re-renders sorted data
- All columns (Sell Out, Units, S.O. Δ%, Units Δ%) now sort correctly
- Verified with comprehensive browser testing
2026-01-20 11:15:35 +01:00
Christian Vidal Wolf 15ad483c25 Fix: Add sorting functionality for growth percentage columns in Grid tab 2026-01-20 11:00:07 +01:00
Christian Vidal Wolf cd2a5a7c4f feat: add YoY growth percentages to filtered totals summary 2026-01-17 11:59:56 +01:00
Christian Vidal Wolf 1de07d3342 feat: add filtered totals summary above Grid table 2026-01-17 11:54:46 +01:00
Christian Vidal Wolf 84d0291360 refactor: simplified data loading with direct fetch endpoint 2026-01-17 11:12:39 +01:00
Christian Vidal Wolf b850803f70 feat: add Smart Range filter for Weeks 2026-01-16 13:11:10 +01:00
Christian Vidal Wolf 0075129d76 feat: add Week filter and Grid Growth % columns 2026-01-16 11:47:59 +01:00
Christian Vidal Wolf 6a368ffd1f feat: exclude 2023 data & improve weekly sales tooltip (add Sell Out €) 2026-01-16 11:07:35 +01:00
Christian Vidal Wolf 135e0d78ed feat: Add ESLint configuration and enhance data fetching with timeouts and improved error handling. 2025-12-12 11:46:04 +01:00
Christian bde9d323f1 feat: Integrate advertising data and dashboard
Adds functionality to process and display advertising data alongside sales data. This includes:
- Introducing a new `AdvertisingDashboard` component.
- Modifying `FileUpload` to accept advertising CSVs.
- Updating `App.tsx` to manage and display both sales and ad data.
- Enhancing `dataProcessor.ts` to handle advertising CSV parsing and merging.
- Adding a `MegaphoneIcon` for advertising-related UI elements.
- Defining new types for advertising records and combined KPIs.
2025-12-11 15:08:01 +01:00
Christian 31eed97ec4 feat: Integrate PapaParse for CSV handling
Adds papaparse as a dependency and updates the data processing service to use it for more robust CSV file parsing. This replaces manual CSV parsing logic with a dedicated library, improving reliability and handling of various CSV formats.

Also renames the `MoversIcon` to `TrendingIcon` to better reflect its usage in indicating trending performance metrics.
2025-12-11 14:03:33 +01:00
Christian 9ba63ab8f8 feat: Initialize Craze Analytix project structure
Sets up the project with Vite, React, Tailwind CSS, Gemini AI integration, and necessary dependencies for data analysis. Includes initial configuration for TypeScript, Tailwind, and project metadata.
2025-12-11 11:25:26 +01:00