mmrwinston001's picture
Upload 32 files (#3)
6ce679b verified
export interface UserStats {
textsHumanized: number; // Number of texts humanized
wordsProcessed: number; // Total words processed
gptAverage: number; // GPT score or percentage
totalSessions: number; // Total sessions the user has used
totalDuration: number;
averageSessionTime: number; // Average session time in minutes
}
export interface UserPreferences {
theme: 'light' | 'dark' | 'system'; // Theme preference
language: string; // Language code, e.g., 'en'
timezone: string; // Timezone, e.g., 'UTC'
emailNotifications: boolean; // Receive email notifications
pushNotifications: boolean; // Receive push notifications
marketingEmails: boolean; // Marketing emails subscription
twoFactorEnabled: boolean; // 2FA enabled
profileVisibility: 'public' | 'private' | 'friends'; // Profile visibility
}
export interface UserProfile {
id: string; // UID of the user
name: string; // Full name
nickname: string; // Nickname
username: string; // Username handle
usernameChanged?: boolean; // Whether username was changed
bio: string; // User bio
email: string; // Email address
avatar: string; // Avatar image URL
joinDate: string; // Join date
lastActive: string; // Last active time
stats: UserStats; // Nested stats object
preferences: UserPreferences; // Nested preferences object
}
export interface UserActivity {
id: string; // Activity document ID
action: string; // Action description
timestamp: string; // Activity timestamp
details?: string; // Optional extra details
type: 'login' | 'profile' | 'settings' | 'security' | 'data'; // Activity type
}