/**
 * TabataFit User Types
 */

import type { SyncStatus } from './sync'

export type SubscriptionPlan = 'free' | 'premium-monthly' | 'premium-yearly'

export interface UserSettings {
  haptics: boolean
  soundEffects: boolean
  voiceCoaching: boolean
  musicEnabled: boolean
  musicVolume: number
  reminders: boolean
  reminderTime: string
}

export type FitnessLevel = 'beginner' | 'intermediate' | 'advanced'
export type FitnessGoal = 'weight-loss' | 'cardio' | 'strength' | 'wellness'
export type WeeklyFrequency = 2 | 3 | 5

export interface UserProfile {
  name: string
  email: string
  joinDate: string
  subscription: SubscriptionPlan
  onboardingCompleted: boolean
  fitnessLevel: FitnessLevel
  goal: FitnessGoal
  weeklyFrequency: WeeklyFrequency
  barriers: string[]
  savedWorkouts: string[]
  syncStatus: SyncStatus
  supabaseUserId: string | null
}

export interface Achievement {
  id: string
  title: string
  description: string
  icon: string
  requirement: number
  type: 'workouts' | 'streak' | 'minutes' | 'calories'
}
