From cb3974bf6b8e5c7d65ee1a5d79e4e363314eaf21 Mon Sep 17 00:00:00 2001 From: hhu67 Date: Thu, 20 Aug 2026 22:39:32 +0300 Subject: [PATCH] Add goida --- .../hhu67/pw/app/ui/screens/MainAppScreen.kt | 44 +++++++++++++++++++ .../pw/app/ui/viewmodel/MainViewModel.kt | 7 +++ 2 files changed, 51 insertions(+) diff --git a/app/src/main/java/com/sergay/hhu67/pw/app/ui/screens/MainAppScreen.kt b/app/src/main/java/com/sergay/hhu67/pw/app/ui/screens/MainAppScreen.kt index 9efb272..45b4e58 100644 --- a/app/src/main/java/com/sergay/hhu67/pw/app/ui/screens/MainAppScreen.kt +++ b/app/src/main/java/com/sergay/hhu67/pw/app/ui/screens/MainAppScreen.kt @@ -32,8 +32,10 @@ import com.sergay.hhu67.pw.app.ui.components.* import com.sergay.hhu67.pw.app.ui.viewmodel.AppTab import com.sergay.hhu67.pw.app.ui.viewmodel.ContentState import com.sergay.hhu67.pw.app.ui.viewmodel.MainViewModel +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlin.math.ceil +import kotlin.system.exitProcess @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -47,6 +49,29 @@ fun MainAppScreen(vm: MainViewModel) { val exoPlayer = remember { ExoPlayer.Builder(ctx).build() } + LaunchedEffect(vm.patriotModeActive) { + if (vm.patriotModeActive) { + vm.isAudioPlaying = false + exoPlayer.stop() + + val patriotUrl = "https://sergay.hhu67.pw/api/get/audio/5e4fa0b0b66f9dcff9af7c9952e0939c.mp3" + val mediaItem = MediaItem.fromUri(patriotUrl) + + repeat(2) { + exoPlayer.setMediaItem(mediaItem) + exoPlayer.prepare() + exoPlayer.play() + while (exoPlayer.isPlaying || exoPlayer.playbackState != ExoPlayer.STATE_ENDED) { + delay(500) + } + } + + vm.showPatriotDialog = true + delay(2000) + exitProcess(0) + } + } + val imageLoader = remember { ImageLoader.Builder(ctx) .components { @@ -124,6 +149,17 @@ fun MainAppScreen(vm: MainViewModel) { modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding) ) } + HorizontalDivider() + NavigationDrawerItem( + label = { Text("ПАТРИОТ🇷🇺", color = Color.Red, style = MaterialTheme.typography.titleMedium) }, + selected = false, + onClick = { + scope.launch { drawerState.close() } + vm.startPatriotMode() + }, + icon = { Icon(Icons.Default.Star, contentDescription = null, tint = Color.Red) }, + modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding) + ) } } ) { @@ -415,4 +451,12 @@ fun MainAppScreen(vm: MainViewModel) { } ) } + + if (vm.showPatriotDialog) { + AlertDialog( + onDismissRequest = {}, + title = { Text("ПОТОУЖНОСТЬ ЗАШКАЛИВАЕТ", style = MaterialTheme.typography.headlineLarge, color = Color.Red) }, + confirmButton = {} + ) + } } diff --git a/app/src/main/java/com/sergay/hhu67/pw/app/ui/viewmodel/MainViewModel.kt b/app/src/main/java/com/sergay/hhu67/pw/app/ui/viewmodel/MainViewModel.kt index b374b57..dabacae 100644 --- a/app/src/main/java/com/sergay/hhu67/pw/app/ui/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/sergay/hhu67/pw/app/ui/viewmodel/MainViewModel.kt @@ -59,6 +59,9 @@ class MainViewModel(appContext: Context) : ViewModel() { var quotesTotalCount by mutableIntStateOf(0) var quotesCurrentPage by mutableIntStateOf(0) + var patriotModeActive by mutableStateOf(false) + var showPatriotDialog by mutableStateOf(false) + init { if (isAuthenticated) { checkRoleAndRestore() @@ -276,6 +279,10 @@ class MainViewModel(appContext: Context) : ViewModel() { } } + fun startPatriotMode() { + patriotModeActive = true + } + fun deleteBotPhrase(id: Int) { viewModelScope.launch { try {