diff --git a/app/src/main/java/com/cherret/zaprett/MainActivity.kt b/app/src/main/java/com/cherret/zaprett/MainActivity.kt index 97ffa8d..8bb83ad 100644 --- a/app/src/main/java/com/cherret/zaprett/MainActivity.kt +++ b/app/src/main/java/com/cherret/zaprett/MainActivity.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett import android.Manifest @@ -24,6 +25,7 @@ import androidx.compose.material.icons.filled.MultipleStop import androidx.compose.material.icons.filled.Settings import androidx.compose.material.icons.filled.SettingsInputComposite import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt index 88a81a3..6f0fa02 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.app.Activity @@ -16,6 +17,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/HomeScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/HomeScreen.kt index 47c8ed7..68f6616 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/HomeScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/HomeScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -39,6 +40,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.CardDefaults import androidx.compose.material3.ElevatedCard import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/HostsScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/HostsScreen.kt index f369d02..332c486 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/HostsScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/HostsScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -27,6 +28,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.Scaffold diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/IpsetsScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/IpsetsScreen.kt index 097020a..681c5f1 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/IpsetsScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/IpsetsScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -27,6 +28,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.Scaffold diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/RepoScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/RepoScreen.kt index 4cdfadd..1ce8fd3 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/RepoScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/RepoScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -15,6 +16,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.AlertDialog import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/SettingsScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/SettingsScreen.kt index 5f2f888..a595d19 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/SettingsScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/SettingsScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.Context @@ -32,6 +33,7 @@ import androidx.compose.material3.Checkbox import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.ModalBottomSheet diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/StrategyScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/StrategyScreen.kt index d460b7c..2fd4c3c 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/StrategyScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/StrategyScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -24,6 +25,7 @@ import androidx.compose.material3.AlertDialog import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi import androidx.compose.material3.FloatingActionButton import androidx.compose.material3.Icon import androidx.compose.material3.Scaffold diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/StrategySelectionScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/StrategySelectionScreen.kt index 8c7892b..bd457ec 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/screen/StrategySelectionScreen.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/screen/StrategySelectionScreen.kt @@ -1,3 +1,4 @@ +@file:OptIn(ExperimentalMaterial3ExpressiveApi::class) package com.cherret.zaprett.ui.screen import android.content.ClipData @@ -17,31 +18,16 @@ import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material.icons.filled.Info -import androidx.compose.material3.AlertDialog import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.FilledTonalButton -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton import androidx.compose.material3.Scaffold import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.FontFamily @@ -49,6 +35,22 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import androidx.compose.foundation.lazy.items +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack +import androidx.compose.material.icons.filled.Info +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi +import androidx.compose.material3.FilledTonalButton +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.TextButton +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController @@ -234,4 +236,4 @@ private fun NoHostsCard(noHostsCard: MutableState) { } ) } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/cherret/zaprett/ui/theme/Theme.kt b/app/src/main/java/com/cherret/zaprett/ui/theme/Theme.kt index ae671fa..881aa04 100644 --- a/app/src/main/java/com/cherret/zaprett/ui/theme/Theme.kt +++ b/app/src/main/java/com/cherret/zaprett/ui/theme/Theme.kt @@ -2,7 +2,10 @@ package com.cherret.zaprett.ui.theme import android.os.Build import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi +import androidx.compose.material3.MaterialExpressiveTheme import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.MotionScheme import androidx.compose.material3.darkColorScheme import androidx.compose.material3.dynamicDarkColorScheme import androidx.compose.material3.dynamicLightColorScheme @@ -32,6 +35,7 @@ private val LightColorScheme = lightColorScheme( */ ) +@OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable fun ZaprettTheme( darkTheme: Boolean = isSystemInDarkTheme(), @@ -49,9 +53,10 @@ fun ZaprettTheme( else -> LightColorScheme } - MaterialTheme( + MaterialExpressiveTheme( colorScheme = colorScheme, typography = Typography, + motionScheme = MotionScheme.expressive(), content = content ) } \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0a5ab30..3e503ed 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,21 +1,21 @@ [versions] agp = "8.13.2" -kotlin = "2.2.10" +kotlin = "2.2.21" coreKtx = "1.17.0" junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" -lifecycleRuntimeKtx = "2.9.2" -activityCompose = "1.10.1" -composeBom = "2025.08.00" -compose-material3 = "1.3.2" -compose-material3-adaptive = "1.4.0-beta02" -navigation = "2.9.3" +lifecycleRuntimeKtx = "2.10.0" +activityCompose = "1.12.1" +composeBom = "2025.12.00" +compose-material3 = "1.5.0-alpha10" +compose-material3-adaptive = "1.5.0-alpha10" +navigation = "2.9.6" compose-icons = "1.7.8" libsu = "6.0.0" -okhttp = "5.1.0" +okhttp = "5.3.2" serialization = "1.9.0" -firebase-bom = "34.1.0" +firebase-bom = "34.6.0" fragment-compose = "1.8.9" coil3 = "3.3.0" compose-markdown = "0.5.7"