diff --git a/gradle.properties b/gradle.properties index 26e792b..25de667 100644 --- a/gradle.properties +++ b/gradle.properties @@ -29,3 +29,5 @@ kotlin.incremental.native=true kotlin.js.runViaBuildToolsApi=true kotlin.wasm.runViaBuildToolsApi=true kotlin.metadata.runViaBuildToolsApi=true +# Detekt gradle plugin is not compatible with configuration cache +#org.gradle.configuration-cache=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 91bf5d3..c350f49 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ androidMinSdk = "28" #noinspection UnusedVersionCatalogEntry androidTargetSdk = "36" androidx-compose = "1.12.1" -androidx-compose-material3 = "1.5.0-alpha28" +androidx-compose-material3 = "1.5.0-alpha29" appdirs = "1.5.0" circuit = "0.39.0" coil = "3.6.3" @@ -38,7 +38,7 @@ kotlinx-coroutines = "1.11.0" kotlinx-serialization = "1.11.0" ksp = "2.3.12" ktor = "3.6.0" -metro = "1.4.4" +metro = "1.4.5" room = "3.0.3" sqlite = "2.7.1" store = "5.1.0-beta01" @@ -125,7 +125,7 @@ dataresultStore5 = { module = "io.github.solcott:dataresult-store5", version.ref uistate = { module = "io.github.solcott:uistate", version.ref = "dataresult" } uistateCircuit = { module = "io.github.solcott:uistate-circuit", version.ref = "dataresult" } #noinspection UnusedVersionCatalogEntry -detekt-compose-rules = { module = "io.nlopez.compose.rules:detekt", version = "0.6.6" } +detekt-compose-rules = { module = "io.nlopez.compose.rules:detekt", version = "0.6.7" } junit = { group = "junit", name = "junit", version.ref = "junit" } kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } kermit-core = { module = "co.touchlab:kermit-core", version.ref = "kermit" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 760c459..1eca32e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=acd53f1edaf02f1a8ff99879f8a34b302661a057d9b063ae9e35b552f804d20a -distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip +distributionSha256Sum=bafd5ce9cfaea0fbccfdc8439a1ac42fbd4cd9c89dc9a988228d8a2639a58e6c +distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.0-bin.zip networkTimeout=10000 retries=0 retryBackOffMs=500 diff --git a/ui/src/commonMain/kotlin/com/scottolcott/recipe/AppBarScreenTitle.kt b/ui/src/commonMain/kotlin/com/scottolcott/recipe/AppBarScreenTitle.kt index c5413d9..8e94363 100644 --- a/ui/src/commonMain/kotlin/com/scottolcott/recipe/AppBarScreenTitle.kt +++ b/ui/src/commonMain/kotlin/com/scottolcott/recipe/AppBarScreenTitle.kt @@ -1,6 +1,7 @@ package com.scottolcott.recipe import androidx.compose.runtime.Composable +import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.compositionLocalOf import com.scottolcott.recipe.domain.isCupertino import com.scottolcott.recipe.domain.presenter.RecipeScaffoldState @@ -29,6 +30,7 @@ val LocalAppBarShowsScreenTitle = compositionLocalOf { false } * [LocalAppBarShowsScreenTitle] to decide whether to head themselves. */ @Composable +@ReadOnlyComposable internal fun RecipeScaffoldState.appBarShowsScreenTitle(): Boolean = isCupertino && !searchVisible /** diff --git a/ui/src/commonMain/kotlin/com/scottolcott/recipe/ui/ScreenUtils.kt b/ui/src/commonMain/kotlin/com/scottolcott/recipe/ui/ScreenUtils.kt index cc39423..3c79e3f 100644 --- a/ui/src/commonMain/kotlin/com/scottolcott/recipe/ui/ScreenUtils.kt +++ b/ui/src/commonMain/kotlin/com/scottolcott/recipe/ui/ScreenUtils.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.runtime.Composable +import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.runtime.compositionLocalOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -26,6 +27,7 @@ import com.scottolcott.recipe.domain.isPointer * the horizontal recipe card and the wider grid cell that card needs. */ @Composable +@ReadOnlyComposable fun isShortWindow(): Boolean = !LocalWindowSizeClass.current.isHeightAtLeastBreakpoint(HEIGHT_DP_MEDIUM_LOWER_BOUND)