Update dashboard metrics and session handling

- Refactor DashboardContent to improve trend calculations for user metrics and session time.
- Modify SessionViewPage to ensure loading state is set before fetching session data.
- Adjust SessionsPage to clean up display of session start time and remove unnecessary comments.
- Enhance DonutChart to handle various data point types and improve percentage calculations.
- Update GeographicMap to utilize @rapideditor/country-coder for country coordinates.
- Improve safeParseDate function in csvFetcher for better date handling and error logging.
- Refactor sessionMetrics to clarify variable names and improve session duration calculations.
- Update next.config.js for better configuration clarity.
- Bump package version to 0.2.0 and update dependencies in package.json and package-lock.json.
- Clean up API handler for dashboard sessions to improve readability and maintainability.
- Adjust tsconfig.json for better module resolution and strict type checking.
This commit is contained in:
2025-05-22 19:21:49 +02:00
parent ed6e5b0c36
commit f005b2ec0a
15 changed files with 459 additions and 394 deletions

View File

@ -276,15 +276,15 @@ function DashboardContent() {
trend={{
value: metrics.usersTrend ?? 0,
label:
metrics.usersTrend > 0
(metrics.usersTrend ?? 0) > 0
? `${metrics.usersTrend}% increase`
: `${Math.abs(metrics.usersTrend || 0)}% decrease`,
isPositive: metrics.usersTrend >= 0,
: `${Math.abs(metrics.usersTrend ?? 0)}% decrease`,
isPositive: (metrics.usersTrend ?? 0) >= 0,
}}
/>
<MetricCard
title="Avg. Session Time"
value={`${Math.round(metrics.avgSessionTime || 0)}m`}
value={`${Math.round(metrics.avgSessionTimeTrend || 0)}m`}
icon={
<svg
className="h-5 w-5"
@ -302,12 +302,12 @@ function DashboardContent() {
</svg>
}
trend={{
value: metrics.sessionTimeTrend ?? 0,
value: metrics.avgSessionTimeTrend ?? 0,
label:
metrics.sessionTimeTrend > 0
? `${metrics.sessionTimeTrend}% increase`
: `${Math.abs(metrics.sessionTimeTrend || 0)}% decrease`,
isPositive: metrics.sessionTimeTrend >= 0,
(metrics.avgSessionTimeTrend ?? 0) > 0
? `${metrics.avgSessionTimeTrend}% increase`
: `${Math.abs(metrics.avgSessionTimeTrend ?? 0)}% decrease`,
isPositive: (metrics.avgSessionTimeTrend ?? 0) >= 0,
}}
/>
<MetricCard