// Varsayılan Sistem Modülleri Tanımlamaları
import { SystemModule, ModuleCategory, Plan } from './types';

export const DEFAULT_MODULES: Omit<SystemModule, 'id' | 'createdAt' | 'updatedAt'>[] = [
  // ==================== AI ARAÇLARI ====================
  {
    key: 'AI_ADVISOR',
    name: 'AI Danışman',
    description: 'Yapay zeka destekli kişisel iş danışmanınız. Satış stratejileri, fiyatlandırma önerileri ve pazar analizi.',
    icon: 'Bot',
    category: 'AI_TOOLS',
    basePrice: 0,
    monthlyPrice: 299,
    yearlyPrice: 2990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Gerçek zamanlı sohbet desteği',
      'Satış stratejisi önerileri',
      'Fiyatlandırma analizi',
      'Rakip karşılaştırması',
      'Trend tahminleri'
    ],
    usageCount: 0,
    rating: 4.8,
    sortOrder: 1,
    showInMenu: true,
    menuPath: '/dashboard/ai-advisor',
  },
  {
    key: 'AI_SEO',
    name: 'SEO Optimizasyonu',
    description: 'AI destekli ürün başlıkları, açıklamaları ve anahtar kelime optimizasyonu.',
    icon: 'Target',
    category: 'AI_TOOLS',
    basePrice: 0,
    monthlyPrice: 199,
    yearlyPrice: 1990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Otomatik başlık optimizasyonu',
      'Anahtar kelime önerileri',
      'Açıklama iyileştirme',
      'Kategori önerileri',
      'SEO skor analizi'
    ],
    usageCount: 0,
    rating: 4.7,
    sortOrder: 2,
    showInMenu: true,
    menuPath: '/dashboard/seo',
  },
  {
    key: 'AI_IMAGE',
    name: 'AI Görsel İşleme',
    description: 'Arka plan silme, görsel iyileştirme ve otomatik kırpma.',
    icon: 'Image',
    category: 'AI_TOOLS',
    basePrice: 0,
    monthlyPrice: 399,
    yearlyPrice: 3990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: true,
    isNew: true,
    features: [
      'Arka plan silme',
      'Görsel kalite artırma',
      'Otomatik kırpma',
      'Filigran ekleme',
      'Toplu işlem desteği'
    ],
    usageCount: 0,
    rating: 4.5,
    sortOrder: 3,
    showInMenu: true,
    menuPath: '/dashboard/ai-tools',
  },

  // ==================== ANALİTİK ====================
  {
    key: 'COMPETITOR_ANALYSIS',
    name: 'Rakip Analizi',
    description: 'Rakip fiyat takibi, stok durumu ve strateji analizi.',
    icon: 'TrendingUp',
    category: 'ANALYTICS',
    basePrice: 0,
    monthlyPrice: 249,
    yearlyPrice: 2490,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Anlık fiyat takibi',
      'Stok durumu izleme',
      'Fiyat geçmişi',
      'Rakip karşılaştırması',
      'Alarm sistemi'
    ],
    usageCount: 0,
    rating: 4.6,
    sortOrder: 10,
    showInMenu: true,
    menuPath: '/dashboard/competitor',
  },
  {
    key: 'ANALYTICS_ADVANCED',
    name: 'Gelişmiş Analitik',
    description: 'Detaylı satış analizleri, müşteri segmentasyonu ve performans raporları.',
    icon: 'LineChart',
    category: 'ANALYTICS',
    basePrice: 0,
    monthlyPrice: 349,
    yearlyPrice: 3490,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Detaylı satış raporları',
      'Müşteri segmentasyonu',
      'Kohort analizi',
      'Dönüşüm hunisi',
      'Özel rapor oluşturma'
    ],
    usageCount: 0,
    rating: 4.7,
    sortOrder: 11,
    showInMenu: true,
    menuPath: '/dashboard/analytics',
  },
  {
    key: 'PREDICTIONS',
    name: 'Satış Tahminleri',
    description: 'AI destekli satış ve stok tahminleri.',
    icon: 'PieChart',
    category: 'ANALYTICS',
    basePrice: 0,
    monthlyPrice: 299,
    yearlyPrice: 2990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Satış tahminleri',
      'Stok optimizasyonu',
      'Mevsimsel analiz',
      'Trend öngörüleri',
      'Sipariş planlaması'
    ],
    usageCount: 0,
    rating: 4.4,
    sortOrder: 12,
    showInMenu: true,
    menuPath: '/dashboard/predictions',
  },

  // ==================== PAZARYERI ====================
  {
    key: 'STORE_MANAGEMENT',
    name: 'Mağaza Yönetimi',
    description: 'Tüm pazaryeri mağazalarınızı tek panelden yönetin.',
    icon: 'Store',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Çoklu mağaza desteği',
      'Merkezi ürün yönetimi',
      'Stok senkronizasyonu',
      'Sipariş birleştirme',
      'Performans özeti'
    ],
    usageCount: 0,
    rating: 4.9,
    sortOrder: 20,
    showInMenu: true,
    menuPath: '/dashboard/stores',
  },
  {
    key: 'INTEGRATIONS',
    name: 'Entegrasyonlar',
    description: 'Trendyol, Amazon, Hepsiburada ve daha fazlası ile entegrasyon.',
    icon: 'Globe',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Trendyol entegrasyonu',
      'Amazon entegrasyonu',
      'Hepsiburada entegrasyonu',
      'N11 entegrasyonu',
      'Otomatik senkronizasyon'
    ],
    usageCount: 0,
    rating: 4.8,
    sortOrder: 21,
    showInMenu: true,
    menuPath: '/dashboard/settings/integrations',
  },
  {
    key: 'BULK_ACTIONS',
    name: 'Toplu İşlemler',
    description: 'Binlerce ürünü tek seferde güncelleyin.',
    icon: 'Boxes',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 149,
    yearlyPrice: 1490,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Toplu fiyat güncelleme',
      'Toplu stok güncelleme',
      'Excel import/export',
      'Şablon desteği',
      'Zamanlı güncelleme'
    ],
    usageCount: 0,
    rating: 4.6,
    sortOrder: 22,
    showInMenu: true,
    menuPath: '/dashboard/bulk-actions',
  },
  {
    key: 'PRICING_ENGINE',
    name: 'Fiyat Yönetimi',
    description: 'Dinamik fiyatlandırma ve otomatik fiyat kuralları.',
    icon: 'Tags',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 199,
    yearlyPrice: 1990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Dinamik fiyatlandırma',
      'Fiyat kuralları',
      'Rakip bazlı fiyatlama',
      'Marj optimizasyonu',
      'Fiyat geçmişi'
    ],
    usageCount: 0,
    rating: 4.5,
    sortOrder: 23,
    showInMenu: true,
    menuPath: '/dashboard/pricing',
  },

  // ==================== FİNANS ====================
  {
    key: 'PAYMENTS',
    name: 'Ödeme Yönetimi',
    description: 'Pazaryeri ödemelerinizi takip edin.',
    icon: 'CreditCard',
    category: 'FINANCE',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Ödeme takibi',
      'Komisyon hesaplama',
      'Banka entegrasyonu',
      'Mutabakat raporları',
      'Ödeme bildirimleri'
    ],
    usageCount: 0,
    rating: 4.7,
    sortOrder: 30,
    showInMenu: true,
    menuPath: '/dashboard/payments',
  },
  {
    key: 'INVOICES',
    name: 'Fatura Yönetimi',
    description: 'Otomatik fatura oluşturma ve e-Fatura entegrasyonu.',
    icon: 'Receipt',
    category: 'FINANCE',
    basePrice: 0,
    monthlyPrice: 99,
    yearlyPrice: 990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Otomatik fatura',
      'e-Fatura entegrasyonu',
      'Fatura şablonları',
      'PDF export',
      'Toplu fatura'
    ],
    usageCount: 0,
    rating: 4.6,
    sortOrder: 31,
    showInMenu: true,
    menuPath: '/dashboard/invoices',
  },
  {
    key: 'FINANCIAL_REPORTS',
    name: 'Finansal Raporlar',
    description: 'Detaylı gelir-gider raporları ve kar analizi.',
    icon: 'BarChart3',
    category: 'FINANCE',
    basePrice: 0,
    monthlyPrice: 199,
    yearlyPrice: 1990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Gelir-gider raporu',
      'Kar marjı analizi',
      'Platform karşılaştırması',
      'Vergi raporları',
      'Excel export'
    ],
    usageCount: 0,
    rating: 4.5,
    sortOrder: 32,
    showInMenu: true,
    menuPath: '/dashboard/reports',
  },

  // ==================== PAZARLAMA ====================
  {
    key: 'CAMPAIGNS',
    name: 'Kampanya Yönetimi',
    description: 'Pazaryeri kampanyalarını tek panelden yönetin.',
    icon: 'Megaphone',
    category: 'MARKETING',
    basePrice: 0,
    monthlyPrice: 149,
    yearlyPrice: 1490,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Kampanya oluşturma',
      'Çoklu platform desteği',
      'Performans takibi',
      'A/B testi',
      'Otomatik optimizasyon'
    ],
    usageCount: 0,
    rating: 4.4,
    sortOrder: 40,
    showInMenu: true,
    menuPath: '/dashboard/campaigns',
  },
  {
    key: 'REVIEWS',
    name: 'Yorum Yönetimi',
    description: 'Müşteri yorumlarını tek panelden yönetin ve yanıtlayın.',
    icon: 'MessageSquare',
    category: 'MARKETING',
    basePrice: 0,
    monthlyPrice: 99,
    yearlyPrice: 990,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Yorum birleştirme',
      'Otomatik yanıt şablonları',
      'Sentiment analizi',
      'Yorum bildirimleri',
      'Performans metrikleri'
    ],
    usageCount: 0,
    rating: 4.5,
    sortOrder: 41,
    showInMenu: true,
    menuPath: '/dashboard/reviews',
  },

  // ==================== LOJİSTİK ====================
  {
    key: 'SHIPPING',
    name: 'Kargo Yönetimi',
    description: 'Kargo firmalarını ve teslimat süreçlerini yönetin.',
    icon: 'Truck',
    category: 'LOGISTICS',
    basePrice: 0,
    monthlyPrice: 149,
    yearlyPrice: 1490,
    requiredPlan: 'PRO',
    isCore: false,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Çoklu kargo firması',
      'Otomatik etiket',
      'Kargo takibi',
      'Teslimat raporları',
      'Kargo entegrasyonu'
    ],
    usageCount: 0,
    rating: 4.6,
    sortOrder: 50,
    showInMenu: true,
    menuPath: '/dashboard/shipping',
  },
  {
    key: 'INVENTORY',
    name: 'Stok Yönetimi',
    description: 'Merkezi stok yönetimi ve otomatik senkronizasyon.',
    icon: 'Warehouse',
    category: 'LOGISTICS',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Merkezi stok',
      'Çoklu depo desteği',
      'Stok alarmları',
      'Otomatik senkronizasyon',
      'Stok geçmişi'
    ],
    usageCount: 0,
    rating: 4.8,
    sortOrder: 51,
    showInMenu: true,
    menuPath: '/dashboard/inventory',
  },

  // ==================== SİSTEM (Temel) ====================
  {
    key: 'DASHBOARD',
    name: 'Ana Panel',
    description: 'Genel bakış ve özet bilgiler.',
    icon: 'LayoutDashboard',
    category: 'REPORTS',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Satış özeti',
      'Sipariş durumu',
      'Stok uyarıları',
      'Performans grafikleri',
      'Hızlı aksiyonlar'
    ],
    usageCount: 0,
    rating: 4.9,
    sortOrder: 0,
    showInMenu: true,
    menuPath: '/dashboard',
  },
  {
    key: 'ORDERS',
    name: 'Sipariş Yönetimi',
    description: 'Tüm siparişlerinizi tek panelden yönetin.',
    icon: 'ShoppingCart',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Sipariş listesi',
      'Durum yönetimi',
      'Toplu işlem',
      'Kargo entegrasyonu',
      'Sipariş geçmişi'
    ],
    usageCount: 0,
    rating: 4.9,
    sortOrder: 1,
    showInMenu: true,
    menuPath: '/dashboard/orders',
  },
  {
    key: 'PRODUCTS',
    name: 'Ürün Kataloğu',
    description: 'Ürünlerinizi merkezi olarak yönetin.',
    icon: 'Package',
    category: 'MARKETPLACE',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Ürün listesi',
      'Kategori yönetimi',
      'Varyant desteği',
      'Görsel yönetimi',
      'Toplu düzenleme'
    ],
    usageCount: 0,
    rating: 4.9,
    sortOrder: 2,
    showInMenu: true,
    menuPath: '/dashboard/products',
  },
  {
    key: 'CUSTOMERS',
    name: 'Müşteri Yönetimi',
    description: 'Müşteri bilgileri ve sipariş geçmişi.',
    icon: 'Users',
    category: 'MARKETING',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Müşteri listesi',
      'Sipariş geçmişi',
      'İletişim bilgileri',
      'Segmentasyon',
      'Notlar'
    ],
    usageCount: 0,
    rating: 4.7,
    sortOrder: 3,
    showInMenu: true,
    menuPath: '/dashboard/customers',
  },
  {
    key: 'SETTINGS',
    name: 'Ayarlar',
    description: 'Hesap ve sistem ayarları.',
    icon: 'Settings',
    category: 'REPORTS',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      'Profil ayarları',
      'Bildirim tercihleri',
      'Güvenlik',
      'Entegrasyon ayarları',
      'Fatura bilgileri'
    ],
    usageCount: 0,
    rating: 4.8,
    sortOrder: 100,
    showInMenu: true,
    menuPath: '/dashboard/settings',
  },
  {
    key: 'SECURITY',
    name: 'Güvenlik',
    description: 'Hesap güvenliği ve erişim yönetimi.',
    icon: 'Shield',
    category: 'REPORTS',
    basePrice: 0,
    monthlyPrice: 0,
    requiredPlan: 'FREE',
    isCore: true,
    isActive: true,
    isBeta: false,
    isNew: false,
    features: [
      '2FA doğrulama',
      'Oturum yönetimi',
      'API anahtarları',
      'Aktivite logları',
      'IP kısıtlaması'
    ],
    usageCount: 0,
    rating: 4.9,
    sortOrder: 101,
    showInMenu: true,
    menuPath: '/dashboard/security',
  },
];

// Modül key'ine göre modül bilgisi alma
export function getModuleByKey(key: string) {
  return DEFAULT_MODULES.find(m => m.key === key);
}

// Kategoriye göre modülleri filtreleme
export function getModulesByCategory(category: ModuleCategory) {
  return DEFAULT_MODULES.filter(m => m.category === category);
}

// Plana göre erişilebilir modülleri alma
export function getModulesForPlan(plan: Plan) {
  const planOrder: Plan[] = ['FREE', 'PRO', 'ENTERPRISE'];
  const currentPlanIndex = planOrder.indexOf(plan);

  return DEFAULT_MODULES.filter(m => {
    const requiredPlanIndex = planOrder.indexOf(m.requiredPlan);
    return requiredPlanIndex <= currentPlanIndex;
  });
}

// Temel (core) modülleri alma
export function getCoreModules() {
  return DEFAULT_MODULES.filter(m => m.isCore);
}

// Ücretli modülleri alma
export function getPaidModules() {
  return DEFAULT_MODULES.filter(m => m.monthlyPrice > 0);
}
