
export enum UserRole {
  VISITOR = 'VISITOR',
  ENTREPRENEUR = 'ENTREPRENEUR',
  ADMIN = 'ADMIN'
}

export interface User {
  id: string;
  name: string;
  email: string;
  role: UserRole;
  avatar?: string;
}

export interface SocialLinks {
  facebook?: string;
  linkedin?: string;
  instagram?: string;
  website?: string;
}

export interface Business {
  id: string;
  ownerId: string;
  name: string;
  slug?: string;
  category: string;
  location: string; // City, Country
  description: string;
  logoUrl: string;
  videoUrl?: string; // YouTube/Vimeo link
  socialLinks?: SocialLinks;
  contactEmail: string;
  contactPhone?: string;
  verified: boolean;
  viewCount: number;
  rating: number;
  tags: string[];
  
  // New fields for "Entrepreneur of the Month"
  isFeatured?: boolean;
  founderName?: string;
  founderImageUrl?: string;
  keyMetric?: string; // "3000 clients delivered"
  offers?: Offer[]; // Joined from database or from mocks
}

export enum OfferType {
  PRODUCT = 'PRODUCT',
  SERVICE = 'SERVICE'
}

export interface Offer {
  id: string;
  businessId: string;
  title: string;
  type: OfferType;
  price: number;
  currency: 'EUR' | 'XOF';
  description?: string;
  imageUrl: string;
  active: boolean;
}

export interface BlogPost {
  id: string;
  title: string;
  excerpt: string;
  content: string;
  author: string;
  date: string;
  imageUrl: string;
}

export enum InterviewType {
  VIDEO = 'VIDEO',
  ARTICLE = 'ARTICLE'
}

export interface Interview {
  id: string;
  title: string;
  guestName: string;
  companyName: string;
  role: string;
  type: InterviewType;
  thumbnailUrl: string;
  videoUrl?: string;
  content?: string;
  excerpt: string;
  date: string;
  duration?: string; // e.g. "15 min" or "5 min de lecture"
}

export const CATEGORIES = [
  "Technologie & IT",
  "Agriculture & Agrobusiness",
  "Mode & Textile",
  "Cosmétique & Beauté",
  "Services aux entreprises",
  "Restauration & Alimentation",
  "Construction & BTP",
  "Éducation & Formation"
];
