from telegram import InlineKeyboardButton, InlineKeyboardMarkup

def get_main_menu():
    keyboard = [
        [
            InlineKeyboardButton("🇰🇬 Кыргызстан", callback_data="country:Кыргызстан"),
            InlineKeyboardButton("Бишкек", url="https://t.me/dieselworldwide_bishkek"),
        ],
        [
            InlineKeyboardButton("🇷🇺 Россия", callback_data="country:Россия"),
            InlineKeyboardButton("Москва", url="https://t.me/dieselworldwides_mos"),
        ],
        [
            InlineKeyboardButton("🇧🇾 Беларусь", callback_data="country:Беларусь"),
            InlineKeyboardButton("Минск", url="https://t.me/dieselworldwide_minsk"),
        ],
        [
            InlineKeyboardButton("🇰🇿 Казахстан", callback_data="country:Казахстан"),
            InlineKeyboardButton("Астана", url="https://t.me/dieselworldwide_ast"),
        ],
        [
            InlineKeyboardButton("🇺🇿 Узбекистан", callback_data="country:Узбекистан"),
            InlineKeyboardButton("Ташкент", url="https://t.me/dieselworldwide_tash"),
        ],
        [
            InlineKeyboardButton("🇺🇦 Украина", callback_data="country:Украина"),
            InlineKeyboardButton("Киев", url="https://t.me/dieselworldwide_kiev"),
        ],
        [InlineKeyboardButton("ℹ️ Информация", url="https://t.me/+Y4H_69Kdz7czNDMy")],
    ]
    return InlineKeyboardMarkup(keyboard)

def get_back_to_main_button():
    keyboard = [
        [InlineKeyboardButton("🏠 На Главную", callback_data="main_menu")],
    ]
    return InlineKeyboardMarkup(keyboard)

def get_info_menu():
    return get_back_to_main_button()

def get_country_menu(country):
    if country == "Россия":
        keyboard = [
            [InlineKeyboardButton("Центральный", callback_data="district:Центральный")],
            [InlineKeyboardButton("Северо-Западный", callback_data="district:Северо-Западный")],
            [InlineKeyboardButton("Южный", callback_data="district:Южный")],
            [InlineKeyboardButton("Северо-Кавказский", callback_data="district:Северо-Кавказский")],
            [InlineKeyboardButton("Приволжский", callback_data="district:Приволжский")],
            [InlineKeyboardButton("Уральский", callback_data="district:Уральский")],
            [
                InlineKeyboardButton("Сибирский", callback_data="district:Сибирский"),
                InlineKeyboardButton("Дальневосточный", callback_data="district:Дальневосточный"),
            ],
            [InlineKeyboardButton("⬅️ Назад", callback_data="main_menu")],
        ]
    elif country == "Кыргызстан":
        keyboard = [
            [InlineKeyboardButton("Бишкек", url="https://t.me/dieselworldwide_bishkek")],
            [InlineKeyboardButton("Иссык-Куль", url="https://t.me/+xvTtLQJwJHE5ODhi")],
            [InlineKeyboardButton("Джалал-Абад", url="https://t.me/+pCysCiv4BAtiYTUy")],
            [InlineKeyboardButton("Ош", url="https://t.me/+55RUMllkLGFlOWNi")],
            [InlineKeyboardButton("⬅️ Назад", callback_data="main_menu")],
        ]
    elif country == "Казахстан":
        keyboard = [
            [InlineKeyboardButton("Астана", url="https://t.me/dieselworldwide_ast")],
            [InlineKeyboardButton("Алматы", url="https://t.me/dieselworldwide_alm")],
            [InlineKeyboardButton("⬅️ Назад", callback_data="main_menu")],
        ]
    else:
        keyboard = [[InlineKeyboardButton("⬅️ Назад", callback_data="main_menu")]]
    return InlineKeyboardMarkup(keyboard)

def get_district_menu(district):
    cities = {
        "Центральный": [
            "Москва", "Воронеж", "Белгород", "Курск", "Тула", "Калуга",
            "Владимир", "Рязань", "Липецк", "Тверь", "Ярославль", "Брянск", "Вологда"
        ],
        "Северо-Западный": [
            "Санкт-Петербург", "Вологда", "Калининград", "Архангельск",
            "Сыктывкар", "Мурманск", "Псков", "Великий Новгород"
        ],
        "Южный": [
            "Краснодар", "Ростов-на-Дону", "Волгоград", "Симферополь",
            "Севастополь", "Ялта", "Сочи", "Туапсе", "Геленджик", "Анапа", "Майкоп",
            "Элиста", "Донецк", "Луганск"
        ],
        "Северо-Кавказский": [
            "Владикавказ", "Ставрополь", "Грозный", "Нальчик",
            "Махачкала", "Назрань", "Черкесск"
        ],
        "Приволжский": [
            "Казань", "Уфа", "Нижний Новгород", "Самара", "Пермь",
            "Оренбург", "Ижевск", "Пенза", "Ульяновск", "Саратов",
            "Киров", "Йошкар-Ола", "Чебоксары"
        ],
        "Уральский": [
            "Екатеринбург", "Тюмень", "Челябинск", "Ханты-Мансийск", "Салехард"
        ],
        "Сибирский": ["Новосибирск", "Красноярск", "Омск"],
        "Дальневосточный": [
            "Владивосток", "Хабаровск", "Якутск", "Чита",
            "Южно-Сахалинск", "Улан-Удэ", "Магадан"
        ],
    }
    if district == "Северо-Западный":
        keyboard = [
            [InlineKeyboardButton("Санкт-Петербург", url="https://t.me/+pm8hfhkfBh4yZmQy")],
            [InlineKeyboardButton("Вологда", url="https://t.me/+PMmZmHRG825kZDZi")],
            [InlineKeyboardButton("Калининград", url="https://t.me/+ijif_mDPm3ZmMWVi")],
            [InlineKeyboardButton("Архангельск", url="https://t.me/+NEjGdJYNlcs1N2My")],
            [InlineKeyboardButton("Сыктывкар", url="https://t.me/+pENC6FbReU4xMGEy")],
            [
                InlineKeyboardButton("Мурманск", url="https://t.me/+e1HX_umkRBJmNmZi"),
                InlineKeyboardButton("Псков", url="https://t.me/+KY5uSYd_lmY3ZDky"),
            ],
            [InlineKeyboardButton("Великий Новгород", url="https://t.me/+lLZSOx7d5MYwNWIy")],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Южный":
        keyboard = [
            [InlineKeyboardButton("Краснодар", url="https://t.me/+qgmqA185cVU5MjYy")],
            [InlineKeyboardButton("Ростов-на-Дону", url="https://t.me/+OarY1oYYX1MyZmQy")],
            [InlineKeyboardButton("Волгоград", url="https://t.me/+SJ2mVaIoYt01ZDI6")],
            [
                InlineKeyboardButton("Симферополь", url="https://t.me/+b9YVTQtxKC05NDU6"),
                InlineKeyboardButton("Севастополь", url="https://t.me/+Szh5Vk0xVEpiNjBi"),
                InlineKeyboardButton("Ялта", url="https://t.me/+qhxtagyF4HNjYzU6"),
            ],
            [
                InlineKeyboardButton("Сочи", url="https://t.me/+LPbe15AccOs3MzU6"),
                InlineKeyboardButton("Туапсе", url="https://t.me/+hxYYhnbXC8VkMjAy"),
                InlineKeyboardButton("Геленджик", url="https://t.me/+IAylXlYJYZFmOWEy"),
                InlineKeyboardButton("Анапа", url="https://t.me/+RT5mZ-fvJ0FlMzMy"),
            ],
            [
                InlineKeyboardButton("Майкоп", url="https://t.me/+I_O8OQ-2b9M0ZjRi"),
                InlineKeyboardButton("Элиста", url="https://t.me/+EpKXCurX__FlOTNi"),
            ],
            [
                InlineKeyboardButton("Донецк", url="https://t.me/+eMPpbxVCkuw5YWU6"),
                InlineKeyboardButton("Луганск", url="https://t.me/+nx0g5ywQNu41ZWIy"),
            ],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Северо-Кавказский":
        keyboard = [
            [InlineKeyboardButton("Владикавказ", url="https://t.me/+G0Z0LGBfXnBmNmFi")],
            [InlineKeyboardButton("Ставрополь", url="https://t.me/+BHalbGmgSFU1MTZi")],
            [InlineKeyboardButton("Махачкала", url="https://t.me/+s5GsweS20w1iNjZi")],
            [InlineKeyboardButton("Грозный", url="https://t.me/+HquU_oGr4AllZmIy")],
            [InlineKeyboardButton("Нальчик", url="https://t.me/+ZVjpMuZ4EIc1NGFi")],
            [
                InlineKeyboardButton("Магас", url="https://t.me/+wkCVzuKG7oI3OGUy"),
                InlineKeyboardButton("Черкесск", url="https://t.me/+jUQZ_PZfhXUwNzQy"),
            ],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Приволжский":
        keyboard = [
            [InlineKeyboardButton("Казань", url="https://t.me/+aFSGZ7LNiCY3NTky")],
            [InlineKeyboardButton("Уфа", url="https://t.me/+t1kslZ877tIzYzgy")],
            [
                InlineKeyboardButton("Самара", url="https://t.me/+8Rd443ri9clmMmZi"),
                InlineKeyboardButton("Нижний Новгород", url="https://t.me/+SWFtEVMv3pxkNWMy"),
            ],
            [
                InlineKeyboardButton("Саратов", url="https://t.me/+K3EEVqaMhJthZGYy"),
                InlineKeyboardButton("Пермь", url="https://t.me/+6D6cAd8-_304Yjhi"),
            ],
            [
                InlineKeyboardButton("Оренбург", url="https://t.me/+7LDUR732WrM2ODRi"),
                InlineKeyboardButton("Ижевск", url="https://t.me/+pHyKCV1_rIgxMDFi"),
            ],
            [
                InlineKeyboardButton("Пенза", url="https://t.me/+oDsfIe2PZr44NTEy"),
                InlineKeyboardButton("Ульяновск", url="https://t.me/+s2QOGGHJ0G81NjQ6"),
                InlineKeyboardButton("Йошкар-Ола", url="https://t.me/+yIJUpo0V5345M2Ji"),
            ],
            [
                InlineKeyboardButton("Чебоксары", url="https://t.me/+KcBJ_lCrgMpkZDMy"),
                InlineKeyboardButton("Саранск", url="https://t.me/+O6Y5XCVb7ns4Mzcy"),
                InlineKeyboardButton("Киров", url="https://t.me/+ke00LJZGOwU0NWNi"),
            ],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Уральский":
        keyboard = [
            [InlineKeyboardButton("Екатеринбург", url="https://t.me/+n9rcEDvWL0FhNDQy")],
            [InlineKeyboardButton("Тюмень", url="https://t.me/+xDQOOp_iIWUwNWNi")],
            [InlineKeyboardButton("Челябинск", url="https://t.me/+uUh1tNNW7E42ZmMy")],
            [InlineKeyboardButton("Ханты-Мансийск", url="https://t.me/+URX90Edg8jM3NmEy")],
            [InlineKeyboardButton("Салехард", url="https://t.me/+6cAGITOKFqphMTFi")],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Сибирский":
        keyboard = [
            [InlineKeyboardButton("Новосибирск", url="https://t.me/+oXHI5XPmiqw5Y2My")],
            [InlineKeyboardButton("Красноярск", url="https://t.me/+WCoA2PI_VR41N2Fi")],
            [InlineKeyboardButton("Омск", url="https://t.me/+TB-rbICJQvo0ODEy")],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    elif district == "Дальневосточный":
        keyboard = [
            [InlineKeyboardButton("Владивосток", url="https://t.me/+v27_alQSi8tmYmVi")],
            [InlineKeyboardButton("Хабаровск", url="https://t.me/+R7QZPDpF9Xc1YTYy")],
            [InlineKeyboardButton("Якутск", url="https://t.me/+4El1f56uP0A2NDk6")],
            [InlineKeyboardButton("Чита", url="https://t.me/+zjIgugSaTBBhOTQy")],
            [InlineKeyboardButton("Южно-Сахалинск", url="https://t.me/+D-zAWvp8P_A3MGFi")],
            [
                InlineKeyboardButton("Улан-Удэ", url="https://t.me/+yYCORXzs5Q83MDVi"),
                InlineKeyboardButton("Магадан", url="https://t.me/+UThGmI4hL5xiNTNi"),
            ],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главная", callback_data="main_menu"),
            ],
        ]
    elif district == "Центральный":
        keyboard = [
            [InlineKeyboardButton("Москва", url="https://t.me/dieselworldwides_mos")],
            [InlineKeyboardButton("Воронеж", url="https://t.me/+eS6zPUCa7sY1N2Q6")],
            [
                InlineKeyboardButton("Белгород", url="https://t.me/+94lh4qiOd781Zjc6"),
                InlineKeyboardButton("Курск", url="https://t.me/+_yRHLq1gWaA4ODUy"),
            ],
            [
                InlineKeyboardButton("Тула", url="https://t.me/+v3SwOadOU2w0MDFi"),
                InlineKeyboardButton("Калуга", url="https://t.me/+cqVxa1zXF7kyZjBi"),
            ],
            [
                InlineKeyboardButton("Владимир", url="https://t.me/+vtX5X7tfNtJkZjIy"),
                InlineKeyboardButton("Рязань", url="https://t.me/+6OCKf8wYfFVlMzRi"),
            ],
            [
                InlineKeyboardButton("Тверь", url="https://t.me/+FBfejlUK87E4ZWQy"),
                InlineKeyboardButton("Липецк", url="https://t.me/+wjJTGLwVGItjNzE6"),
            ],
            [
                InlineKeyboardButton("Ярославль", url="https://t.me/+Na2-jHB5I-hmYmJi"),
                InlineKeyboardButton("Брянск", url="https://t.me/+8KdeE30ZEKllMjhi"),
                InlineKeyboardButton("Вологда", url="https://t.me/+ba3KGMQYiMo2NWUy"),
            ],
            [
                InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
                InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
            ],
        ]
    else:
        keyboard = []
        city_list = cities.get(district, [])
        for i in range(0, len(city_list), 2):
            row = [InlineKeyboardButton(city_list[i], callback_data=f"city:{city_list[i]}")]
            if i + 1 < len(city_list):
                row.append(InlineKeyboardButton(city_list[i + 1], callback_data=f"city:{city_list[i + 1]}"))
            keyboard.append(row)
        keyboard.append([
            InlineKeyboardButton("⬅️ Назад", callback_data="country:Россия"),
            InlineKeyboardButton("🏠 На Главную", callback_data="main_menu"),
        ])
    return InlineKeyboardMarkup(keyboard)