Analytics

This commit is contained in:
Timo Knuth
2025-12-15 20:35:50 +01:00
parent 09ebcf235d
commit f1d1f4291b
5 changed files with 175 additions and 31 deletions

50
src/types/analytics.ts Normal file
View File

@@ -0,0 +1,50 @@
export type TrendType = 'up' | 'down' | 'flat';
export interface TrendData {
trend: TrendType;
percentage: number;
isNegative?: boolean;
isNew?: boolean; // When growing from 0 previous data
}
export interface AnalyticsSummary {
totalScans: number;
uniqueScans: number;
avgScansPerQR: number;
mobilePercentage: number;
topCountry: string;
topCountryPercentage: number;
scansTrend?: TrendData;
avgScansTrend?: TrendData;
comparisonPeriod: 'week' | 'month';
comparisonDays: number;
}
export interface CountryStats {
country: string;
count: number;
percentage: number;
trend: TrendType;
trendPercentage: number;
isNew?: boolean;
}
export interface QRPerformance {
id: string;
title: string;
type: string;
totalScans: number;
uniqueScans: number;
conversion: number;
trend: TrendType;
trendPercentage: number;
isNew?: boolean;
}
export interface AnalyticsResponse {
summary: AnalyticsSummary;
deviceStats: Record<string, number>;
countryStats: CountryStats[];
dailyScans: Record<string, number>;
qrPerformance: QRPerformance[];
}