interface MetaConfig {
  title: string;
  description: string;
  keywords: string;
  ogTitle?: string;
  ogDescription?: string;
}

export const metaConfig: Record<string, MetaConfig> = {
  // Главная страница
  '/': {
    title: 'Protek - Автозапчасти и аксессуары для всех марок автомобилей',
    description: 'Protek - широкий ассортимент автозапчастей и аксессуаров для всех марок автомобилей. Быстрая доставка по России, гарантия качества, низкие цены.',
    keywords: 'автозапчасти, запчасти для автомобилей, автоаксессуары, доставка запчастей, protek, протек',
    ogTitle: 'Protek - Автозапчасти и аксессуары',
    ogDescription: 'Широкий ассортимент автозапчастей и аксессуаров для всех марок автомобилей. Быстрая доставка, гарантия качества.'
  },

  // Каталог
  '/catalog': {
    title: 'Каталог автозапчастей - Protek',
    description: 'Полный каталог автозапчастей для всех марок автомобилей. Более 1 миллиона наименований запчастей в наличии и под заказ.',
    keywords: 'каталог запчастей, автозапчасти каталог, запчасти для авто, поиск запчастей',
    ogTitle: 'Каталог автозапчастей - Protek',
    ogDescription: 'Полный каталог автозапчастей для всех марок автомобилей. Более 1 миллиона наименований.'
  },

  // Марки автомобилей
  '/brands': {
    title: 'Все марки автомобилей - Каталог запчастей Protek',
    description: 'Полный каталог автомобильных брендов для поиска запчастей. Выберите марку вашего автомобиля и найдите нужные запчасти.',
    keywords: 'марки автомобилей, бренды авто, запчасти по маркам, автомобильные марки',
    ogTitle: 'Все марки автомобилей - Protek',
    ogDescription: 'Полный каталог автомобильных брендов для поиска запчастей.'
  },

  // Поиск по VIN
  '/vin': {
    title: 'Поиск запчастей по VIN коду - Protek',
    description: 'Быстрый и точный поиск автозапчастей по VIN коду автомобиля. Определите совместимые запчасти для вашего авто.',
    keywords: 'поиск по VIN, VIN код, запчасти по VIN, определение запчастей, совместимость',
    ogTitle: 'Поиск запчастей по VIN коду - Protek',
    ogDescription: 'Быстрый и точный поиск автозапчастей по VIN коду автомобиля.'
  },

  // Контакты
  '/contacts': {
    title: 'Контакты - Protek',
    description: 'Контактная информация компании Protek. Адреса магазинов, телефоны, режим работы. Свяжитесь с нами для консультации.',
    keywords: 'контакты protek, адрес, телефон, режим работы, магазины запчастей',
    ogTitle: 'Контакты - Protek',
    ogDescription: 'Контактная информация компании Protek. Адреса магазинов, телефоны, режим работы.'
  },

  // О компании
  '/about': {
    title: 'О компании Protek - Автозапчасти и аксессуары',
    description: 'Компания Protek - надежный поставщик автозапчастей с многолетним опытом. Узнайте больше о нашей истории и преимуществах.',
    keywords: 'о компании protek, история компании, преимущества, автозапчасти',
    ogTitle: 'О компании Protek',
    ogDescription: 'Компания Protek - надежный поставщик автозапчастей с многолетним опытом.'
  },



  // Оптовые продажи
  '/wholesale': {
    title: 'Оптовые продажи автозапчастей - Protek',
    description: 'Оптовые продажи автозапчастей для автосервисов и дилеров. Специальные цены, гибкие условия сотрудничества.',
    keywords: 'оптовые продажи, запчасти оптом, для автосервисов, дилерам, оптовые цены',
    ogTitle: 'Оптовые продажи автозапчастей - Protek',
    ogDescription: 'Оптовые продажи автозапчастей для автосервисов и дилеров. Специальные цены.'
  },



  // Корзина
  '/cart': {
    title: 'Корзина - Protek',
    description: 'Корзина покупок. Оформите заказ на выбранные автозапчасти с быстрой доставкой.',
    keywords: 'корзина покупок, оформление заказа, заказать запчасти',
    ogTitle: 'Корзина - Protek',
    ogDescription: 'Корзина покупок. Оформите заказ на выбранные автозапчасти.'
  },

  // Новости
  '/news': {
    title: 'Новости - Protek',
    description: 'Актуальные новости компании Protek, события автомобильной индустрии и мира автозапчастей.',
    keywords: 'новости protek, автомобильные новости, события автоиндустрии',
    ogTitle: 'Новости - Protek',
    ogDescription: 'Актуальные новости компании Protek и автомобильной индустрии.'
  },

  // Карточка товара
  '/card': {
    title: 'Карточка товара - Protek',
    description: 'Подробная информация о товаре: характеристики, цены, наличие, отзывы.',
    keywords: 'карточка товара, характеристики запчасти, цена, наличие',
    ogTitle: 'Карточка товара - Protek',
    ogDescription: 'Подробная информация о товаре: характеристики, цены, наличие.'
  },

  // Поиск автомобилей по артикулу
  '/vehicles-by-part': {
    title: 'Автомобили по артикулу - Protek',
    description: 'Поиск автомобилей, в которых используется деталь с указанным артикулом.',
    keywords: 'автомобили по артикулу, применимость детали, где используется',
    ogTitle: 'Автомобили по артикулу - Protek',
    ogDescription: 'Поиск автомобилей, в которых используется деталь с указанным артикулом.'
  },

  // Страницы оплаты
  '/payment/success': {
    title: 'Оплата прошла успешно - Protek',
    description: 'Ваш платеж успешно обработан. Спасибо за покупку! Мы приступим к обработке заказа.',
    keywords: 'оплата успешна, платеж прошел, заказ оплачен',
    ogTitle: 'Оплата прошла успешно - Protek',
    ogDescription: 'Ваш платеж успешно обработан. Спасибо за покупку!'
  },

  '/payment/cancelled': {
    title: 'Оплата отменена - Protek',
    description: 'Платеж был отменен. Вы можете попробовать оплатить заказ повторно.',
    keywords: 'оплата отменена, платеж отклонен, повторная оплата',
    ogTitle: 'Оплата отменена - Protek',
    ogDescription: 'Платеж был отменен. Вы можете попробовать оплатить заказ повторно.'
  },

  '/payment/failed': {
    title: 'Ошибка оплаты - Protek',
    description: 'Произошла ошибка при обработке платежа. Попробуйте еще раз или выберите другой способ оплаты.',
    keywords: 'ошибка оплаты, платеж не прошел, проблема с оплатой',
    ogTitle: 'Ошибка оплаты - Protek',
    ogDescription: 'Произошла ошибка при обработке платежа. Попробуйте еще раз.'
  },

  '/payment/invoice': {
    title: 'Счёт на оплату - Protek',
    description: 'Счёт на оплату заказа. Вы можете оплатить удобным для вас способом.',
    keywords: 'счет на оплату, инвойс, оплата заказа',
    ogTitle: 'Счёт на оплату - Protek',
    ogDescription: 'Счёт на оплату заказа. Вы можете оплатить удобным для вас способом.'
  },

  // Дополнительные страницы профиля
  '/profile-req': {
    title: 'Реквизиты - Личный кабинет Protek',
    description: 'Управление реквизитами организации в личном кабинете.',
    keywords: 'реквизиты организации, личный кабинет, данные компании',
    ogTitle: 'Реквизиты - Protek',
    ogDescription: 'Управление реквизитами организации в личном кабинете.'
  },

  '/profile-acts': {
    title: 'Акты сверки - Личный кабинет Protek',
    description: 'Акты сверки взаиморасчетов в личном кабинете.',
    keywords: 'акты сверки, взаиморасчеты, личный кабинет',
    ogTitle: 'Акты сверки - Protek',
    ogDescription: 'Акты сверки взаиморасчетов в личном кабинете.'
  },

  '/profile-balance': {
    title: 'Баланс - Личный кабинет Protek',
    description: 'Информация о балансе и финансовых операциях в личном кабинете.',
    keywords: 'баланс счета, финансы, личный кабинет',
    ogTitle: 'Баланс - Protek',
    ogDescription: 'Информация о балансе и финансовых операциях.'
  },

  // Процесс заказа
  '/order-confirmation': {
    title: 'Подтверждение заказа - Protek',
    description: 'Подтверждение оформленного заказа. Проверьте данные перед финальным подтверждением.',
    keywords: 'подтверждение заказа, проверка заказа, финальный шаг',
    ogTitle: 'Подтверждение заказа - Protek',
    ogDescription: 'Подтверждение оформленного заказа. Проверьте данные.'
  },

  '/cart-step-2': {
    title: 'Оформление заказа - Шаг 2 - Protek',
    description: 'Второй шаг оформления заказа. Выберите способ доставки и оплаты.',
    keywords: 'оформление заказа шаг 2, доставка, способ оплаты',
    ogTitle: 'Оформление заказа - Шаг 2',
    ogDescription: 'Второй шаг оформления заказа. Выберите способ доставки и оплаты.'
  },

  '/payments-method': {
    title: 'Способы оплаты - Protek',
    description: 'Выберите удобный способ оплаты: наличными, картой, банковским переводом.',
    keywords: 'способы оплаты, оплата картой, наличные, банковский перевод',
    ogTitle: 'Способы оплаты - Protek',
    ogDescription: 'Выберите удобный способ оплаты: наличными, картой, банковским переводом.'
  },

  '/checkout': {
    title: 'Оформление заказа - Protek',
    description: 'Оформление заказа автозапчастей. Быстро и безопасно.',
    keywords: 'оформление заказа, checkout, заказать запчасти',
    ogTitle: 'Оформление заказа - Protek',
    ogDescription: 'Оформление заказа автозапчастей. Быстро и безопасно.'
  },

  // Детальные страницы
  '/detail_category': {
    title: 'Категория товаров - Protek',
    description: 'Просмотр товаров в выбранной категории автозапчастей.',
    keywords: 'категория товаров, группа запчастей, каталог',
    ogTitle: 'Категория товаров - Protek',
    ogDescription: 'Просмотр товаров в выбранной категории автозапчастей.'
  },

  '/detail_product': {
    title: 'Детальная информация о товаре - Protek',
    description: 'Подробная информация о товаре: технические характеристики, совместимость, цены.',
    keywords: 'детальная информация, технические характеристики, совместимость',
    ogTitle: 'Детальная информация о товаре - Protek',
    ogDescription: 'Подробная информация о товаре: технические характеристики, совместимость.'
  },

  '/detail_sku': {
    title: 'Информация о SKU - Protek',
    description: 'Детальная информация о конкретном артикуле товара.',
    keywords: 'информация SKU, артикул товара, детали товара',
    ogTitle: 'Информация о SKU - Protek',
    ogDescription: 'Детальная информация о конкретном артикуле товара.'
  },

  // Избранное
  '/favorite': {
    title: 'Избранные товары - Protek',
    description: 'Ваши избранные автозапчасти. Сохраните интересующие товары для быстрого доступа.',
    keywords: 'избранные товары, сохраненные запчасти, избранное',
    ogTitle: 'Избранные товары - Protek',
    ogDescription: 'Ваши избранные автозапчасти. Сохраните интересующие товары.'
  },

  // Страница благодарности
  '/thankyoupage': {
    title: 'Спасибо за заказ - Protek',
    description: 'Ваш заказ успешно оформлен. Мы свяжемся с вами в ближайшее время для подтверждения.',
    keywords: 'заказ оформлен, спасибо за заказ, подтверждение заказа',
    ogTitle: 'Спасибо за заказ - Protek',
    ogDescription: 'Ваш заказ успешно оформлен. Мы свяжемся с вами в ближайшее время.'
  },

  // Новости - открытая статья
  '/news-open': {
    title: 'Новости - Protek',
    description: 'Читайте актуальные новости и статьи от компании Protek о мире автозапчастей.',
    keywords: 'новости protek, статьи, автозапчасти новости',
    ogTitle: 'Новости - Protek',
    ogDescription: 'Читайте актуальные новости и статьи от компании Protek.'
  },



  // Поиск
  '/search': {
    title: 'Поиск запчастей - Protek',
    description: 'Универсальный поиск автозапчастей по артикулу, VIN коду или модели автомобиля.',
    keywords: 'поиск запчастей, поиск по артикулу, поиск по VIN, универсальный поиск',
    ogTitle: 'Поиск запчастей - Protek',
    ogDescription: 'Универсальный поиск автозапчастей по артикулу, VIN коду или модели автомобиля.'
  },

  // Поиск по артикулу
  '/article-search': {
    title: 'Поиск деталей по артикулу - Protek',
    description: 'Найдите автозапчасти по артикулу или номеру детали. Быстрый и точный поиск в каталоге.',
    keywords: 'поиск по артикулу, номер детали, поиск запчастей по номеру',
    ogTitle: 'Поиск деталей по артикулу - Protek',
    ogDescription: 'Найдите автозапчасти по артикулу или номеру детали.'
  },

  // Профиль - заказы
  '/profile-orders': {
    title: 'Мои заказы - Личный кабинет Protek',
    description: 'Управляйте своими заказами в личном кабинете. Отслеживайте статус и историю заказов.',
    keywords: 'мои заказы, личный кабинет, история заказов, статус заказа',
    ogTitle: 'Мои заказы - Protek',
    ogDescription: 'Управляйте своими заказами в личном кабинете.'
  },

  // Профиль - настройки
  '/profile-set': {
    title: 'Настройки профиля - Личный кабинет Protek',
    description: 'Настройки личного кабинета. Управляйте персональными данными и настройками аккаунта.',
    keywords: 'настройки профиля, личные данные, настройки аккаунта',
    ogTitle: 'Настройки профиля - Protek',
    ogDescription: 'Настройки личного кабинета и персональных данных.'
  },

  // Профиль - адреса
  '/profile-addresses': {
    title: 'Мои адреса - Личный кабинет Protek',
    description: 'Управляйте адресами доставки в личном кабинете. Добавляйте и редактируйте адреса.',
    keywords: 'адреса доставки, мои адреса, личный кабинет',
    ogTitle: 'Мои адреса - Protek',
    ogDescription: 'Управляйте адресами доставки в личном кабинете.'
  },

  // Профиль - гараж
  '/profile-gar': {
    title: 'Мой гараж - Личный кабинет Protek',
    description: 'Мой гараж - сохраняйте информацию о ваших автомобилях для быстрого подбора запчастей.',
    keywords: 'мой гараж, мои автомобили, сохраненные авто',
    ogTitle: 'Мой гараж - Protek',
    ogDescription: 'Сохраняйте информацию о ваших автомобилях для быстрого подбора запчастей.'
  },

  // Профиль - история
  '/profile-history': {
    title: 'История просмотров - Личный кабинет Protek',
    description: 'История просмотренных товаров и запчастей. Быстро найдите ранее просмотренные товары.',
    keywords: 'история просмотров, просмотренные товары, личный кабинет',
    ogTitle: 'История просмотров - Protek',
    ogDescription: 'История просмотренных товаров и запчастей.'
  },

  // VIN поиск (шаг 2)
  '/vin-step-2': {
    title: 'Поиск запчастей по VIN - Шаг 2 - Protek',
    description: 'Второй шаг поиска запчастей по VIN коду. Выберите нужные детали для вашего автомобиля.',
    keywords: 'VIN поиск шаг 2, выбор деталей, поиск по VIN',
    ogTitle: 'Поиск запчастей по VIN - Шаг 2',
    ogDescription: 'Второй шаг поиска запчастей по VIN коду.'
  },


};

// Функция для получения meta-тегов по пути
export const getMetaByPath = (path: string): MetaConfig => {
  // Нормализуем путь (убираем query параметры)
  const normalizedPath = path.split('?')[0];
  
  // Проверяем точное совпадение
  if (metaConfig[normalizedPath]) {
    return metaConfig[normalizedPath];
  }
  
  // Проверяем динамические пути
  if (normalizedPath.startsWith('/vehicle-search/')) {
    return {
      title: 'Поиск запчастей по автомобилю - Protek',
      description: 'Найдите подходящие запчасти для вашего автомобиля. Точный подбор по марке, модели и году выпуска.',
      keywords: 'поиск запчастей, подбор по автомобилю, запчасти для авто'
    };
  }
  
  if (normalizedPath.startsWith('/search-result')) {
    return {
      title: 'Результаты поиска - Protek',
      description: 'Результаты поиска автозапчастей. Найдите нужные запчасти среди широкого ассортимента.',
      keywords: 'результаты поиска, поиск запчастей, найти запчасти'
    };
  }
  
  if (normalizedPath.startsWith('/payment/')) {
    return {
      title: 'Оплата заказа - Protek',
      description: 'Оплата заказа автозапчастей. Безопасные способы оплаты онлайн.',
      keywords: 'оплата заказа, онлайн оплата, безопасная оплата'
    };
  }
  
  // Возвращаем дефолтные meta-теги
  return metaConfig['/'];
};

// Функция для создания динамических meta-тегов для товаров
export const createProductMeta = (product: {
  name: string;
  brand: string;
  articleNumber: string;
  price?: number;
}): MetaConfig => {
  return {
    title: `${product.brand} ${product.articleNumber} - ${product.name} - Protek`,
    description: `Купить ${product.name} ${product.brand} артикул ${product.articleNumber}${product.price ? ` по цене ${product.price} руб.` : ''}. Гарантия качества, быстрая доставка.`,
    keywords: `${product.name}, ${product.brand}, ${product.articleNumber}, запчасти, автозапчасти`,
    ogTitle: `${product.brand} ${product.articleNumber} - ${product.name}`,
    ogDescription: `Купить ${product.name} ${product.brand} артикул ${product.articleNumber}. Гарантия качества, быстрая доставка.`
  };
};

// Функция для создания meta-тегов для категорий
export const createCategoryMeta = (categoryName: string, count?: number): MetaConfig => {
  return {
    title: `${categoryName} - Каталог запчастей Protek`,
    description: `Купить ${categoryName.toLowerCase()} для автомобилей${count ? `. В наличии ${count} товаров` : ''}. Широкий выбор, низкие цены, быстрая доставка.`,
    keywords: `${categoryName.toLowerCase()}, запчасти, автозапчасти, каталог`,
    ogTitle: `${categoryName} - Protek`,
    ogDescription: `Купить ${categoryName.toLowerCase()} для автомобилей. Широкий выбор, низкие цены.`
  };
}; 