import { useMemo, useState, useEffect } from 'react'; import Grid from '@mui/material/Grid'; import Typography from '@mui/material/Typography'; import { DashboardContent } from 'src/layouts/dashboard'; import { _posts, _tasks, _traffic, _timeline } from 'src/_mock'; import { fetchFileStatsToday } from 'src/services/file-stats-service'; import { AnalyticsNews } from '../analytics-news'; import { AnalyticsTasks } from '../analytics-tasks'; import { AnalyticsCurrentVisits } from '../analytics-current-visits'; import { AnalyticsOrderTimeline } from '../analytics-order-timeline'; import { AnalyticsWebsiteVisits } from '../analytics-website-visits'; import { AnalyticsWidgetSummary } from '../analytics-widget-summary'; import { AnalyticsTrafficBySite } from '../analytics-traffic-by-site'; import { AnalyticsCurrentSubject } from '../analytics-current-subject'; import { AnalyticsConversionRates } from '../analytics-conversion-rates'; // ---------------------------------------------------------------------- export function OverviewAnalyticsView() { const [fileStats, setFileStats] = useState({ filed: 0, edited: 0 }); const [loadingFiles, setLoadingFiles] = useState(true); const visitCategories = useMemo(() => { const days = ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']; const today = new Date(); const labels = Array.from({ length: 7 }, (_, idx) => { const d = new Date(today); d.setDate(today.getDate() - (6 - idx)); const dayIdx = d.getDay(); return days[dayIdx]; }); labels[labels.length - 1] = 'Heute'; return labels; }, []); const baselineFiled = [43, 33, 22, 37, 67, 68]; const baselineEdited = [51, 70, 47, 67, 40, 37]; const visitSeries = [ { name: 'Dateien abgelegt', data: [...baselineFiled, fileStats.filed], }, { name: 'Dateien bearbeitet', data: [...baselineEdited, fileStats.edited], }, ]; useEffect(() => { let active = true; fetchFileStatsToday() .then((data) => { if (active) setFileStats(data); }) .finally(() => { if (active) setLoadingFiles(false); }); return () => { active = false; }; }, []); return ( Hi, Welcome back 👋 } details={[ { label: 'Dateien abgelegt', value: fileStats.filed }, { label: 'Dateien bearbeitet', value: fileStats.edited }, ]} loading={loadingFiles} chart={{ categories: ['Heute'], series: [fileStats.filed, fileStats.edited], options: { stroke: { width: 2 } }, }} /> } chart={{ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'], series: [56, 47, 40, 62, 73, 30, 23, 54], }} /> } chart={{ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'], series: [40, 70, 50, 28, 70, 75, 7, 64], }} /> } chart={{ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'], series: [56, 30, 23, 54, 47, 40, 62, 73], }} /> `${value} Dateien` } }, }, }} /> ); }