"""Модуль settings_form_locators содержит локаторы компонента формы ввода и отображения полей настроек.

Класс SettingsFormLocators предоставляет XPath локаторы для взаимодействия
с элементами модальных окон в тестах.
"""

class SettingsFormLocators:
    """Локаторы для компонента формы ввода и отображения полей настроек.

    Содержит XPath/CSS локаторы для:
    SETTTINGS_FORM_SCROLL_CONTAINER (str): контейнера с прокруткой модального окна
    SETTTINGS_FORM_TITLE (str): заголовка тулбара
    DROPDOWN_LIST (str): выпадающего списка
    SELECTED_VALUES (str): строки с выбранными из списка значениями
    CLEAR_SELECTION_BUTTON (str): кнопки удаления строки с выбранными из списка значениями
    """

    SETTTINGS_FORM_SCROLL_CONTAINER = "//div[contains(@class, 'scrollarea__body')]"
    SETTTINGS_FORM_TITLE = f"{SETTTINGS_FORM_SCROLL_CONTAINER}//div[contains(@class, 'v-toolbar__title')]"

    SETTINGS_FORM_INPUT_FORM_CONTAINER = "//nav[contains(@class, 'active v-toolbar')]/../following-sibling::div"

    SETTINGS_FORM_INPUT_FIELD = "div.v-text-field__slot > input"
    SETTINGS_FORM_INPUT_VALUE_SUFFIX = ".v-text-field__suffix"

    DROPDOWN_LIST = "//div[contains(@class, 'menuable__content__active')]"
    SELECTED_VALUES = "//div[@class='v-select__selections']"
    CLEAR_SELECTION_BUTTON = "div.v-input__icon--clear"

    PUSH_NOTIFICATIONS_BUTTON_SUBMIT = "//button[@data-testid='PUSH_NOTIFICATIONS__btn__submit']"
