export interface IUserProfile {
    email: string;
    is_active: boolean;
    is_superuser: boolean;
    full_name?: string;
    id: number;
}

export interface IUserProfileUpdate {
    email?: string;
    full_name?: string;
    password?: string;
    is_active?: boolean;
    is_superuser?: boolean;
}

export interface IUserProfileCreate {
    email: string;
    full_name?: string;
    password: string;
    is_active?: boolean;
    is_superuser?: boolean;
}

export interface AppNotification {
  content: string;
  color?: string;
  showProgress?: boolean;
};

export interface MainState {
  token: string;
  isLoggedIn: boolean | null;
  logInError: boolean;
  userProfile: IUserProfile | null;
  dashboardMiniDrawer: boolean;
  dashboardShowDrawer: boolean;
  notifications: AppNotification[];
  videos: Video[];
};

export interface Video {
  id: number;
  title: string;
  progress_state: string;
}