fix: improve campaign stats, shared chart components, and i18n coverage

- Extract shared chart constants to constants/charts.ts
- Add TREND_STYLES to stats/constants.ts for reuse
- Fix useChartColors with MutationObserver for theme changes
- Fix DailyChart date parsing to prevent timezone shift
- Add truncate to StatCard value for overflow safety
- Fix CampaignCard copy feedback inside try block
- Add NaN validation and staleTime to AdminCampaignStats
- Replace hardcoded strings with i18n keys in Referral page
- Add missing i18n keys across all 4 locales (en, ru, zh, fa)
- Add sales stats route to AdminPanel and App router
This commit is contained in:
Fringg
2026-03-02 20:34:24 +03:00
parent c7d05c4809
commit 673de08dd4
16 changed files with 449 additions and 84 deletions

22
src/constants/charts.ts Normal file
View File

@@ -0,0 +1,22 @@
export const CHART_COMMON = {
KOPEKS_DIVISOR: 100,
GRADIENT: {
START_OFFSET: '5%',
END_OFFSET: '95%',
START_OPACITY: 0.3,
END_OPACITY: 0,
},
AXIS: {
TICK_FONT_SIZE: 11,
},
TOOLTIP: {
BORDER_RADIUS: '8px',
FONT_SIZE: '12px',
},
STROKE_WIDTH: 2,
GRID_DASH: '3 3',
STALE_TIME: 60_000,
CHART: {
MARGIN: { top: 5, right: 10, left: 0, bottom: 5 },
},
} as const;