""" LKM37 REBORN: UI Core Styles Централизованное управление стилями, префиксами и визуальным кодом дома. """ # ============================================================================= # БРЕНДИНГ LKM37 # ============================================================================= LKM37_PREFIX = { 'system': '[LKM37:SYSTEM] >_ ', 'resident': '[LKM37:RESIDENT] >_ ', 'ig': '[LKM37:TEAM] >_ ', 'admin': '[LKM37:ADMIN] >_ ', 'root': '[LKM37:ROOT] >_ ', 'alert': '[LKM37:ALERT] ⚠️ ', 'digest': '[LKM37:DIGEST] 📊 ', } # ============================================================================= # УРОВНИ ДОСТУПА И ВИЗУАЛ # ============================================================================= LEVEL_EMOJI = { 'unverified': '⚪', # GUEST 'verified': '🟢', # RESIDENT 'ig': '🔵', # TEAM (IG) 'admin': '🟠', # ADMIN 'superadmin': '🔴', # ROOT (OWNER) } LEVEL_NAMES = { 'unverified': 'GUEST', 'verified': 'RESIDENT', 'ig': 'TEAM', 'admin': 'ADMIN', 'superadmin': 'ROOT', } # ============================================================================= # ГРИД-СТАНДАРТЫ ДЛЯ КНОПОК # ============================================================================= # Стандартная ширина меню - 2 колонки. # Кнопки "Назад" и "Помощь" всегда внизу. # ============================================================================= # ФУНКЦИИ ФОРМАТИРОВАНИЯ # ============================================================================= def fmt_msg(text: str, category: str = 'system') -> str: """ Форматирование сообщения с префиксом LKM37 """ prefix = LKM37_PREFIX.get(category, LKM37_PREFIX['system']) return f"{prefix}{text}" def get_level_badge(level: str) -> str: """ Получить стильный бейдж уровня """ emoji = LEVEL_EMOJI.get(level, '⚪') name = LEVEL_NAMES.get(level, 'UNKNOWN') return f"[{emoji} LKM37:{name}]" def get_user_level_key(user_id: int, is_admin: bool = False, is_verified: bool = False, is_ig: bool = False) -> str: """ Определить строковый ключ уровня пользователя """ from config import ADMIN_USER_ID if user_id == ADMIN_USER_ID: return 'superadmin' if is_admin: return 'admin' if is_ig: return 'ig' if is_verified: return 'verified' return 'unverified'