import tkinter as tk
from tkinter import ttk
import csv
from src.utils import clear_frame
import logging
from datetime import datetime
BACKGROUND_COLOR = "#403d49"
TEXT_COLOR = "#b2acc0"
HEADER_COLOR = "#2f2b38"
BUTTON_COLOR = "#444444"

logging.basicConfig(
    filename="logs/logfile.log",
    level=logging.INFO,
    format="%(asctime)s - %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S"
)


def log_action(action, user):
    logging.info(f"{action} - Пользователь: {user}")


def show_logs(frame):
    """Отображение логов действий пользователей в тёмной теме."""
    clear_frame(frame)
    tk.Label(frame, text="Логи действий", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)

    # Настройка таблицы с логами
    table = ttk.Treeview(frame, columns=("Время", "Действие", "Пользователь"), show="headings", style="Dark.Treeview")
    table.heading("Время", text="Время")
    table.heading("Действие", text="Действие")
    table.heading("Пользователь", text="Пользователь")
    table.pack(fill="both", expand=True)

    # Добавление логов для примера
    table.insert("", "end", values=("2024-11-19 12:30", "Добавление вопроса", "admin"))
    table.insert("", "end", values=("2024-11-19 13:00", "Удаление пользователя", "moderator"))

    # Применение стиля к таблице
    style = ttk.Style()
    style.configure("Dark.Treeview", background=BACKGROUND_COLOR, foreground=TEXT_COLOR, fieldbackground=BACKGROUND_COLOR)
    style.configure("Dark.Treeview.Heading", background=HEADER_COLOR, foreground=TEXT_COLOR)

def export_logs():
    data = [
        ("2024-11-19 12:30", "Добавление вопроса", "admin"),
        ("2024-11-19 13:00", "Удаление пользователя", "moderator"),
    ]
    with open("logs.csv", "w", newline="", encoding="utf-8") as file:
        writer = csv.writer(file)
        writer.writerow(["Время", "Действие", "Пользователь"])
        writer.writerows(data)
    print("Логи успешно экспортированы в logs.csv")
