# TODO: Было бы логично разместить данный модуль в каталоге gui.

dark_style = """
/* 
  ------------------------------------------------------
  Общие стили и базовые настройки
  ------------------------------------------------------
*/
QWidget {
    background-color: #0D1117;   /* Основной фон приложения */
    font-family: "Segoe UI", sans-serif;
    font-size: 14px;
    color: #E0E0E0;             /* Светло-серый текст для контраста на тёмном фоне */
}

QMainWindow {
    background-color: #0D1117;
    /* Дополнительное визуальное разделение центральной части */
    border: 1px solid #424242;  
}

/* 
------------------------------------------------------
Для небольшого визуального разделения между зонами 
   можно настроить QFrame, если используете фреймы: 
QFrame {
    border: 1px solid #424242;  
    border-radius: 4px;
}
------------------------------------------------------
*/

/* 
  ------------------------------------------------------
  Стиль для окон сообщений
  ------------------------------------------------------
*/
QMessageBox {
    background-color: #0D1117;
    font-family: "Segoe UI", sans-serif;
    font-size: 14px;
    color: #E0E0E0;
}

/* 
  ------------------------------------------------------
  Кнопки (QPushButton)
  ------------------------------------------------------
*/
QPushButton {
    background-color: #FFCC00;  /* Жёлтый цвет – акцент */
    color: #121212;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
}

/* Эффект при наведении */
QPushButton:hover:!disabled {
    background-color: #FFD700;  /* Более светлый жёлтый */
}

/* Эффект при нажатии */
QPushButton:pressed {
    background-color: #E6B800;  /* Более тёмный жёлтый */
}

/* Стиль для отключённых кнопок */
QPushButton:disabled {
    background-color: #424242;
    color: #BDBDBD;
}

/* 
  ------------------------------------------------------
  Чекбоксы и радиокнопки
  ------------------------------------------------------
*/
QCheckBox, QRadioButton {
    color: #E0E0E0;
    font-size: 14px;
    font-weight: 500;
}

/* 
  ------------------------------------------------------
  Поля ввода (QLineEdit), спинбоксы, комбобоксы и т.п.
  ------------------------------------------------------
*/
QLineEdit, QComboBox {
    background-color: #1E1E1E;
    color: #E0E0E0;
    padding: 8px;
    border: 1px solid #424242;
    border-radius: 4px;
    font-size: 16px;
}

QSpinBox, QDoubleSpinBox {
    background-color: #1E1E1E;
    color: #E0E0E0;
    padding: 5px;
    border: 1px solid #424242;
    border-radius: 4px;
    font-size: 16px;
}

/* 
  ------------------------------------------------------
  Метки и группбоксы
  ------------------------------------------------------
*/
QLabel {
    color: #E0E0E0;
    font-size: 16px;
    font-weight: 500;
}

QGroupBox {
    color: #E0E0E0;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 600;
    border: 1px solid #424242;
    border-radius: 6px;
    margin-top: 10px;
    padding: 10px;
}

/* 
  ------------------------------------------------------
  Меню и панель меню
  ------------------------------------------------------
*/
QMenuBar {
    background-color: #1E1E1E;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 600;
}

QMenuBar::item {
    background: transparent;
    padding: 18px 26px;
    color: #E0E0E0;
}

QMenuBar::item:selected {
    background-color: #333333;
    color: #FFD700;  /* Жёлтый при наведении */
}

QMenuBar::item:pressed {
    background-color: #555555;
    color: #FFD700;  /* Жёлтый при нажатии */
}

QMenu {
    background-color: #1E1E1E;
    color: #E0E0E0;
    border: 3px solid #424242;
}

QMenu::item {
    padding: 10px 24px;
    color: #E0E0E0;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 600;
}

QMenu::item:selected {
    background-color: #333333;
    color: #FFD700;
}

QMenu::item:pressed {
    background-color: #555555;
    color: #FFD700;
}

/* 
  ------------------------------------------------------
  Полосы прокрутки (QScrollBar)
  ------------------------------------------------------
*/
QScrollBar:vertical {
    background: #2C2C2C;
    width: 12px;
    margin: 0;
}

QScrollBar::handle:vertical {
    background: #555555;
    min-height: 20px;
    border-radius: 6px;
}

QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
    background: #2C2C2C;
    height: 0px;
    subcontrol-origin: margin;
}

QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
    background: none;
}

QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
    background: none;
}

/* 
  ------------------------------------------------------
  Табы (QTabWidget, QTabBar)
  ------------------------------------------------------
*/
QTabWidget::pane {
    border: 1px solid #424242;
    background-color: #0D1117;
}

QTabBar::tab {
    background: #1E1E1E;
    color: #E0E0E0;
    padding: 8px 16px;
    margin: 2px;
    border-radius: 4px;
}

QTabBar::tab:selected {
    background: #333333;
    font-weight: 600;
    color: #FFD700; /* Выделим текст жёлтым при активной вкладке */
}

/* 
  ------------------------------------------------------
  Dock Widgets (QDockWidget)
  ------------------------------------------------------
*/
QDockWidget {
    background: #1E1E1E;
    border: 1px solid #424242;
}

/* Заголовок дока */
QDockWidget::title {
    background-color: #2C2C2C;
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 10px;
    border-bottom: 1px solid #424242;
    color: #E0E0E0;
}

/* Кнопки закрытия и открепления (float)  */ 
QDockWidget::close-button, QDockWidget::float-button, QDockWidget::close-button:disabled {
    border: none;
    background-color: #FFCC00;
    icon-size: 18px;
}

QDockWidget::close-button:hover, QDockWidget::float-button:hover {
    border: none;
    background-color: #FFD700 ;
    icon-size: 18px;
}

/* 
  ------------------------------------------------------
  Таблицы (QTableWidget / QTableView)
  ------------------------------------------------------
*/
QTableCornerButton::section {
    background-color: #1E1E1E;
}
QTableView {
    background-color: #1E1E1E;
    gridline-color: #424242;   /* Линии сетки */
    color: #E0E0E0;            /* Текст ячеек */
    border: 1px solid #424242;
    selection-background-color: #FFCC00;  /* Жёлтый при выделении */
    selection-color: #121212;            /* Тёмный цвет текста при выделении */
    font-size: 14px;
}
QTableView QLineEdit {
    font-size: 14px;
}

/* Горизонтальный заголовок в таблицах */
QHeaderView::section {
    background-color: #2C2C2C;
    color: #E0E0E0;
    padding: 6px;
    border: 1px solid #424242;
    font-weight: 600;
    font-size: 14px;
}

/* Вертикальный заголовок в таблицах */
QHeaderView::section:vertical {
    background-color: #2C2C2C;
    color: #E0E0E0;
    padding: 4px;
    border: 1px solid #424242;
    font-weight: 600;
    font-size: 14px;
}

/* Полоса прокрутки в QTableView (если своя нужна) */
QTableView QScrollBar:vertical {
    background: #2C2C2C;
    width: 12px;
    margin: 0;
}

QTableView QScrollBar::handle:vertical {
    background: #555555;
    min-height: 20px;
    border-radius: 6px;
}

/*
  При желании можно добавить эффекты при наведении/клике на строки QTableView:
  QTableView::item:hover {
      background-color: #333333;
      color: #FFD700;
  }
*/

QProgressBar {
        border: 2px solid grey;
        border-radius: 5px;
        text-align: center;
    }

/* 
  ------------------------------------------------------
  Завершение стиля
  ------------------------------------------------------
*/
"""



dis_robots = """
QPushButton {
    background-color: #555555;
    color: #cccccc;
    padding: 12px 25px;
    border: none;
    border-radius: 8px;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
}
QWidget#robot {
    border: none;
    padding: 5px;
    background-color: rgba(33, 33, 33, 100);
}
"""

selected_robot = """
QWidget#robot {
    border: 2px solid #E6B800;
    border-radius: 10px;
    padding: 5px;
}
"""



en_button = """
QPushButton {
    background-color: #FFCC00;
    color: #0D1117;
    padding: 12px 25px;
    border: 2px solid #E6B800;
    border-radius: 8px;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: bold;
}
QPushButton:hover:!disabled {
    background-color: #FFD700;
}
"""


dis_button = """
QPushButton {
    background-color: #555555;
    color: #cccccc;
    padding: 12px 25px;
    border: none;
    border-radius: 8px;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
}
"""


saved_button = """
QPushButton {
    background-color: #28a745;
    color: #ffffff;
    padding: 12px 25px;
    border: none;
    border-radius: 8px;
    font-family: "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: bold;
}
"""



start_button = """
QPushButton {
    background-color: #FFCC00;
    color: #0D1117;
    padding: 20px 40px;
    border: 2px solid #E6B800;
    border-radius: 10px;
    font-family: "Segoe UI", sans-serif;
    font-size: 24px;
    font-weight: bold;
    background-image: linear-gradient(to bottom, #FFD700, #FFCC00);
}
QPushButton:hover:!disabled {
    background-color: #FFD700;
}
QPushButton:pressed {
    background-color: #E6B800;
    padding-top: 22px;
    padding-bottom: 18px;
}
QPushButton:disabled {
    background-color: #555555;
    color: #cccccc;
    border: none;
}

"""
BigSuccessLabel = """
QLabel {
    color: #ffffff;
    font-size: 26px;
    font-weight: bold;
    font-family: "Segoe UI", sans-serif;
}"""

colors = [
    '#FF6F61',  # яркий коралловый
    '#6B5B95',  # приглушенный фиолетовый
    '#88B04B',  # яркий зеленый
    '#F7CAC9',  # светлый розовый
    '#92A8D1',  # светло-голубой
    '#955251',  # теплый терракотовый
    '#B565A7',  # лавандовый
    '#009B77',  # глубокий бирюзовый
    '#DD4124',  # ярко-красный
    '#45B8AC',   # мягкий мятный
    '#FF6F61',  # яркий коралловый
    '#6B5B95',  # приглушенный фиолетовый
    '#88B04B',  # яркий зеленый
    '#F7CAC9',  # светлый розовый
    '#92A8D1',  # светло-голубой
    '#955251',  # теплый терракотовый
    '#B565A7',  # лавандовый
    '#009B77',  # глубокий бирюзовый
    '#DD4124',  # ярко-красный
    '#45B8AC'   # мягкий мятный
]

RGBA = [(255, 255, 0),
        (32, 178, 70),
        (255, 69, 0),
        (123, 104, 238),
        (99, 42, 15)
]