feat: Integrate Firebase Cloud Messaging for push notifications; add service to handle token and message reception

This commit is contained in:
2026-01-16 23:06:41 +05:00
parent 7750f450e8
commit 431e3755c6
14 changed files with 1317 additions and 234 deletions

View File

@@ -6,33 +6,73 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
/**
* Telegram-inspired typography system
* Based on Telegram Android typography with system default font (Roboto)
*/
val Typography = Typography(
// Основной текст сообщений (как в Telegram: 16sp)
bodyLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 16.sp,
lineHeight = 24.sp,
letterSpacing = 0.5.sp
),
titleLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Bold,
fontSize = 28.sp,
lineHeight = 34.sp,
lineHeight = 22.4.sp, // 1.4x
letterSpacing = 0.sp
),
// Имя/заголовок в диалогах (17sp как в Telegram)
titleLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Medium,
fontSize = 17.sp,
lineHeight = 23.8.sp, // 1.4x
letterSpacing = 0.sp
),
// Заголовок большой (20sp)
headlineLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Bold,
fontSize = 20.sp,
lineHeight = 28.sp,
letterSpacing = 0.sp
),
// Основной текст UI (16sp)
bodyMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 14.sp,
lineHeight = 20.sp,
letterSpacing = 0.25.sp
fontSize = 16.sp,
lineHeight = 22.4.sp, // 1.4x
letterSpacing = 0.sp
),
// Мелкий текст: время, статусы (13sp)
bodySmall = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 13.sp,
lineHeight = 18.2.sp, // 1.4x
letterSpacing = 0.sp
),
// Лейбл для кнопок (14sp)
labelLarge = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.SemiBold,
fontSize = 16.sp,
lineHeight = 24.sp,
fontWeight = FontWeight.Medium,
fontSize = 14.sp,
lineHeight = 20.sp,
letterSpacing = 0.sp
),
// Средний лейбл (14sp)
labelMedium = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 14.sp,
lineHeight = 19.6.sp, // 1.4x
letterSpacing = 0.sp
),
// Мелкий лейбл (13sp)
labelSmall = TextStyle(
fontFamily = FontFamily.Default,
fontWeight = FontWeight.Normal,
fontSize = 13.sp,
lineHeight = 18.2.sp, // 1.4x
letterSpacing = 0.sp
)
)