diff --git a/resources/js/admin/i18n/locales/de/management.json b/resources/js/admin/i18n/locales/de/management.json index 6a6f4ca..aaa3d8e 100644 --- a/resources/js/admin/i18n/locales/de/management.json +++ b/resources/js/admin/i18n/locales/de/management.json @@ -2883,6 +2883,7 @@ "kpiLikes": "Likes", "activityTitle": "Aktivitäts-Zeitachse", "timeframe": "Letzte {{hours}} Stunden", + "timeframeHint": "Ältere Aktivität ausgeblendet", "uploadsPerHour": "Uploads pro Stunde", "noActivity": "Noch keine Uploads", "emptyActionShareQr": "QR-Code teilen", diff --git a/resources/js/admin/i18n/locales/en/management.json b/resources/js/admin/i18n/locales/en/management.json index 9a59bbc..cb7932e 100644 --- a/resources/js/admin/i18n/locales/en/management.json +++ b/resources/js/admin/i18n/locales/en/management.json @@ -2887,6 +2887,7 @@ "kpiLikes": "Likes", "activityTitle": "Activity Timeline", "timeframe": "Last {{hours}} hours", + "timeframeHint": "Older activity hidden", "uploadsPerHour": "Uploads per hour", "noActivity": "No uploads yet", "emptyActionShareQr": "Share your QR code", diff --git a/resources/js/admin/mobile/EventAnalyticsPage.tsx b/resources/js/admin/mobile/EventAnalyticsPage.tsx index 307321e..d753513 100644 --- a/resources/js/admin/mobile/EventAnalyticsPage.tsx +++ b/resources/js/admin/mobile/EventAnalyticsPage.tsx @@ -98,7 +98,10 @@ export default function MobileEventAnalyticsPage() { const hasTimeline = timeline.length > 0; const hasContributors = contributors.length > 0; const hasTasks = tasks.length > 0; - const timeframeHours = resolveTimelineHours(timeline.map((point) => point.timestamp), 12); + const fallbackHours = 12; + const rawTimelineHours = resolveTimelineHours(timeline.map((point) => point.timestamp), fallbackHours); + const timeframeHours = Math.min(rawTimelineHours, fallbackHours); + const isTimeframeCapped = rawTimelineHours > fallbackHours; // Prepare chart data const maxTimelineCount = resolveMaxCount(timeline.map((point) => point.count)); @@ -144,9 +147,16 @@ export default function MobileEventAnalyticsPage() { {t('analytics.activityTitle', 'Activity Timeline')} - - {t('analytics.timeframe', 'Last {{hours}} hours', { hours: timeframeHours })} - + + + {t('analytics.timeframe', 'Last {{hours}} hours', { hours: timeframeHours })} + + {isTimeframeCapped ? ( + + {t('analytics.timeframeHint', 'Older activity hidden')} + + ) : null} + {hasTimeline ? (