# emailTab.py
import tkinter as tk
from tkinter import ttk
from app.emailClient import EmailClient

class EmailTab:
    def __init__(self, notebook):
        self.email_client = EmailClient()
        self.tab = ttk.Frame(notebook)
        notebook.add(self.tab, text="Correo")
        self.setup_ui()

    def setup_ui(self):
        # Campos de entrada para credenciales
        tk.Label(self.tab, text="Correo electrónico:").grid(row=0, column=0, sticky="e", padx=5, pady=5)
        self.entry_email = tk.Entry(self.tab)
        self.entry_email.grid(row=0, column=1, padx=5, pady=5)

        tk.Label(self.tab, text="Contraseña:").grid(row=1, column=0, sticky="e", padx=5, pady=5)
        self.entry_password = tk.Entry(self.tab, show="*")
        self.entry_password.grid(row=1, column=1, padx=5, pady=5)

        # Campos de entrada para enviar correo
        tk.Label(self.tab, text="Destinatario:").grid(row=2, column=0, sticky="e", padx=5, pady=5)
        self.entry_destinatario = tk.Entry(self.tab)
        self.entry_destinatario.grid(row=2, column=1, padx=5, pady=5)

        tk.Label(self.tab, text="Asunto:").grid(row=3, column=0, sticky="e", padx=5, pady=5)
        self.entry_asunto = tk.Entry(self.tab)
        self.entry_asunto.grid(row=3, column=1, padx=5, pady=5)

        tk.Label(self.tab, text="Mensaje:").grid(row=4, column=0, sticky="ne", padx=5, pady=5)
        self.text_mensaje = tk.Text(self.tab, height=5, width=40)
        self.text_mensaje.grid(row=4, column=1, padx=5, pady=5)

        # Botón para enviar correo
        tk.Button(
            self.tab,
            text="Enviar Correo",
            command=self.enviar_correo
        ).grid(row=5, column=1, pady=10)

        # Área de texto para mostrar correos recibidos
        self.text_correos = tk.Text(self.tab, height=10, width=60)
        self.text_correos.grid(row=6, column=0, columnspan=2, padx=5, pady=5)

        # Botón para recibir correos
        tk.Button(
            self.tab,
            text="Recibir Correos",
            command=self.recibir_correos
        ).grid(row=7, column=1, pady=10)

    def enviar_correo(self):
        self.email_client.enviar_correo(
            self.entry_email.get(),
            self.entry_password.get(),
            self.entry_destinatario.get(),
            self.entry_asunto.get(),
            self.text_mensaje.get("1.0", tk.END).strip()
        )

    def recibir_correos(self):
        self.email_client.recibir_correos(
            self.entry_email.get(),
            self.entry_password.get(),
            self.text_correos
        )
