from PySide6.QtWidgets import (
    QWidget, QVBoxLayout, QLabel, QPushButton,
    QGroupBox, QTextEdit, QHBoxLayout
)
from PySide6.QtCore import Qt


class StatusWindow(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("네이버 부동산 자동발행 클라이언트")
        self.setFixedSize(520, 520)

        layout = QVBoxLayout()

        title = QLabel("네이버 부동산 자동발행 클라이언트")
        title.setAlignment(Qt.AlignmentFlag.AlignCenter)
        title.setStyleSheet("font-size: 18px; font-weight: bold; margin: 10px;")
        layout.addWidget(title)

        status_box = QGroupBox("현재 상태")
        status_layout = QVBoxLayout()

        self.server_status = QLabel("서버 연결: 확인 전")
        self.login_status = QLabel("네이버 로그인: 확인 전")
        self.today_status = QLabel("오늘 발행 여부: 미발행")
        self.last_publish = QLabel("최근 발행시간: 없음")
        self.last_error = QLabel("최근 오류: 없음")
        self.current_status = QLabel("현재 상태: 대기중")

        status_layout.addWidget(self.server_status)
        status_layout.addWidget(self.login_status)
        status_layout.addWidget(self.today_status)
        status_layout.addWidget(self.last_publish)
        status_layout.addWidget(self.last_error)
        status_layout.addWidget(self.current_status)

        status_box.setLayout(status_layout)
        layout.addWidget(status_box)

        log_box = QGroupBox("로그")
        log_layout = QVBoxLayout()

        self.log_view = QTextEdit()
        self.log_view.setReadOnly(True)
        self.log_view.setPlainText(
            "[INFO] 프로그램 시작\n"
            "[INFO] 트레이 아이콘 생성 완료\n"
            "[INFO] 현재는 C1-01 기본 UI 테스트 단계입니다."
        )

        log_layout.addWidget(self.log_view)
        log_box.setLayout(log_layout)
        layout.addWidget(log_box)

        button_layout = QHBoxLayout()

        self.refresh_button = QPushButton("새로고침")
        self.refresh_button.clicked.connect(self.refresh_status)

        self.close_button = QPushButton("닫기")
        self.close_button.clicked.connect(self.hide)

        button_layout.addWidget(self.refresh_button)
        button_layout.addWidget(self.close_button)

        layout.addLayout(button_layout)

        self.setLayout(layout)

    def refresh_status(self):
        self.current_status.setText("현재 상태: 대기중")
        self.log_view.append("[INFO] 상태 새로고침")