# utils/stats_logger.py
import os
import csv
from datetime import datetime

def log_menu_stats(user_id: str, main_menu: str, sub_menu: str = ""):
    """Записывает действие пользователя в лог статистики динамически в зависимости от среды"""
    try:
        # Динамически определяем корень проекта (на один уровень выше папки utils)
        base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        log_dir = os.path.join(base_dir, "logs")
        os.makedirs(log_dir, exist_ok=True)
        log_file = os.path.join(log_dir, "menu_stats.csv")
        
        file_exists = os.path.isfile(log_file)
        timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        
        with open(log_file, "a", newline="", encoding="utf-8-sig") as f:
            writer = csv.writer(f, delimiter=";")
            if not file_exists:
                writer.writerow(["Timestamp", "User_ID", "Main_Menu", "Sub_Menu"])
            writer.writerow([timestamp, user_id, main_menu, sub_menu])
    except Exception as e:
        print(f"Ошибка записи статистики меню: {e}")