"""
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'