diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AllTransactionsRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AllTransactionsRoborazziTest.kt index 199342e5..f7440ad7 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AllTransactionsRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AllTransactionsRoborazziTest.kt @@ -2,6 +2,7 @@ package com.prof18.moneyflow import androidx.compose.material3.Scaffold import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.features.alltransactions.AllTransactionsUiState import com.prof18.moneyflow.presentation.alltransactions.AllTransactionsScreen import com.prof18.moneyflow.ui.style.MoneyFlowTheme @@ -11,8 +12,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AuthRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AuthRoborazziTest.kt index e8591150..86baf0ff 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AuthRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/AuthRoborazziTest.kt @@ -1,6 +1,7 @@ package com.prof18.moneyflow import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.presentation.auth.AuthScreen import com.prof18.moneyflow.presentation.auth.AuthState import com.prof18.moneyflow.ui.style.MoneyFlowTheme @@ -9,8 +10,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/BudgetAndRecapRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/BudgetAndRecapRoborazziTest.kt index e8dd7773..31e01e8a 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/BudgetAndRecapRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/BudgetAndRecapRoborazziTest.kt @@ -1,6 +1,7 @@ package com.prof18.moneyflow import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.presentation.budget.BudgetScreen import com.prof18.moneyflow.presentation.recap.RecapScreen import com.prof18.moneyflow.ui.style.MoneyFlowTheme @@ -9,8 +10,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/CategoriesRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/CategoriesRoborazziTest.kt index 28dd4253..7f24071d 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/CategoriesRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/CategoriesRoborazziTest.kt @@ -2,6 +2,7 @@ package com.prof18.moneyflow import androidx.compose.material3.Scaffold import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.domain.entities.Category import com.prof18.moneyflow.presentation.categories.CategoriesScreen import com.prof18.moneyflow.presentation.categories.CategoryModel @@ -12,8 +13,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/ComponentsRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/ComponentsRoborazziTest.kt index fae6345e..b175ff90 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/ComponentsRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/ComponentsRoborazziTest.kt @@ -1,6 +1,7 @@ package com.prof18.moneyflow import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.presentation.model.UIErrorMessage import com.prof18.moneyflow.ui.components.MFTopBar import com.prof18.moneyflow.ui.components.TransactionCard @@ -15,8 +16,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/HomeRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/HomeRoborazziTest.kt index f76347d9..0ce58821 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/HomeRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/HomeRoborazziTest.kt @@ -2,6 +2,7 @@ package com.prof18.moneyflow import androidx.compose.material3.Scaffold import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.domain.entities.BalanceRecap import com.prof18.moneyflow.presentation.home.HomeModel import com.prof18.moneyflow.presentation.home.HomeScreen @@ -11,8 +12,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/MoneyFlowNavHostRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/MoneyFlowNavHostRoborazziTest.kt index f1dc37be..ddd3b86d 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/MoneyFlowNavHostRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/MoneyFlowNavHostRoborazziTest.kt @@ -1,9 +1,7 @@ package com.prof18.moneyflow -import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.test.ext.junit.runners.AndroidJUnit4 import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers -import com.github.takahirom.roborazzi.RoborazziRule import com.prof18.moneyflow.data.MoneyRepository import com.prof18.moneyflow.data.SettingsRepository import com.prof18.moneyflow.data.settings.SettingsSource @@ -23,7 +21,6 @@ import com.russhwolf.settings.MapSettings import com.russhwolf.settings.Settings import org.junit.After import org.junit.Before -import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.koin.core.context.startKoin @@ -63,8 +60,8 @@ class MoneyFlowNavHostRoborazziTest : RoborazziTestBase() { viewModel { AddTransactionViewModel(get(), get()) } viewModel { CategoriesViewModel(get(), get()) } viewModel { AllTransactionsViewModel(get(), get()) } - viewModel { SettingsViewModel(get()) } - } + viewModel { SettingsViewModel(get()) }, + }, ) } } diff --git a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/SettingsRoborazziTest.kt b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/SettingsRoborazziTest.kt index 10ff49b1..6d76f8b8 100644 --- a/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/SettingsRoborazziTest.kt +++ b/shared/src/androidUnitTest/kotlin/com/prof18/moneyflow/SettingsRoborazziTest.kt @@ -2,6 +2,7 @@ package com.prof18.moneyflow import androidx.compose.material3.Scaffold import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers import com.prof18.moneyflow.features.settings.BiometricAvailabilityChecker import com.prof18.moneyflow.presentation.settings.SettingsScreen import com.prof18.moneyflow.ui.style.MoneyFlowTheme @@ -10,8 +11,6 @@ import org.junit.runner.RunWith import org.robolectric.annotation.Config import org.robolectric.annotation.GraphicsMode -import com.github.takahirom.roborazzi.RobolectricDeviceQualifiers - @RunWith(AndroidJUnit4::class) @GraphicsMode(GraphicsMode.Mode.NATIVE) @Config( diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/database/DatabaseHelper.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/database/DatabaseHelper.kt index 4e9329d1..2fb4d2f3 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/database/DatabaseHelper.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/database/DatabaseHelper.kt @@ -23,11 +23,11 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOn import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext -import kotlin.time.Clock -import kotlin.time.Instant import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime import kotlin.coroutines.CoroutineContext +import kotlin.time.Clock +import kotlin.time.Instant class DatabaseHelper( private val sqlDriver: SqlDriver, diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/features/addtransaction/AddTransactionViewModel.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/features/addtransaction/AddTransactionViewModel.kt index 87956745..257bd967 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/features/addtransaction/AddTransactionViewModel.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/features/addtransaction/AddTransactionViewModel.kt @@ -16,7 +16,6 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch -import kotlin.time.Clock import kotlinx.datetime.LocalDate import kotlinx.datetime.TimeZone import kotlinx.datetime.atStartOfDayIn @@ -24,6 +23,7 @@ import kotlinx.datetime.toLocalDateTime import money_flow.shared.generated.resources.Res import money_flow.shared.generated.resources.amount_not_empty_error import money_flow.shared.generated.resources.error_nerd_message +import kotlin.time.Clock class AddTransactionViewModel( private val moneyRepository: MoneyRepository, diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/navigation/MoneyFlowNavHost.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/navigation/MoneyFlowNavHost.kt index aace7611..56e89ff6 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/navigation/MoneyFlowNavHost.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/navigation/MoneyFlowNavHost.kt @@ -35,7 +35,6 @@ import com.prof18.moneyflow.features.addtransaction.AddTransactionViewModel import com.prof18.moneyflow.features.alltransactions.AllTransactionsViewModel import com.prof18.moneyflow.features.categories.CategoriesViewModel import com.prof18.moneyflow.features.home.HomeViewModel -import com.prof18.moneyflow.features.settings.BiometricAvailabilityChecker import com.prof18.moneyflow.features.settings.SettingsViewModel import com.prof18.moneyflow.presentation.addtransaction.AddTransactionScreen import com.prof18.moneyflow.presentation.alltransactions.AllTransactionsScreen @@ -43,7 +42,6 @@ import com.prof18.moneyflow.presentation.categories.CategoriesScreen import com.prof18.moneyflow.presentation.categories.data.CategoryUIData import com.prof18.moneyflow.presentation.home.HomeScreen import com.prof18.moneyflow.presentation.settings.SettingsScreen -import com.prof18.moneyflow.ui.style.LightAppColors import com.prof18.moneyflow.utils.LocalAppDensity import com.prof18.moneyflow.utils.LocalAppLocale import com.prof18.moneyflow.utils.LocalAppTheme diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/addtransaction/components/DatePicker.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/addtransaction/components/DatePicker.kt index 1d27ec09..230f5197 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/addtransaction/components/DatePicker.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/addtransaction/components/DatePicker.kt @@ -9,6 +9,8 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.KeyboardArrowDown import androidx.compose.material3.AlertDialog import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -17,8 +19,6 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.KeyboardArrowDown import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/HomeScreen.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/HomeScreen.kt index 9625183b..d34c37fb 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/HomeScreen.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/HomeScreen.kt @@ -11,18 +11,18 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material3.HorizontalDivider +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Add +import androidx.compose.material.icons.rounded.Visibility +import androidx.compose.material.icons.rounded.VisibilityOff import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem +import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.Add -import androidx.compose.material.icons.rounded.Visibility -import androidx.compose.material.icons.rounded.VisibilityOff import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/components/HeaderNavigator.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/components/HeaderNavigator.kt index 64890bd1..2136fa1e 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/components/HeaderNavigator.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/presentation/home/components/HeaderNavigator.kt @@ -5,13 +5,13 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.KeyboardArrowRight import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.outlined.KeyboardArrowRight import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/ui/components/MFTopBar.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/ui/components/MFTopBar.kt index bb8d6fc1..76d2608e 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/ui/components/MFTopBar.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/ui/components/MFTopBar.kt @@ -2,23 +2,22 @@ package com.prof18.moneyflow.ui.components import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.width +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.Close +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.Close +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults - @OptIn(ExperimentalMaterial3Api::class) @Composable internal fun MFTopBar( @@ -63,7 +62,7 @@ internal fun MFTopBar( titleContentColor = MaterialTheme.colorScheme.onBackground, actionIconContentColor = MaterialTheme.colorScheme.onBackground, navigationIconContentColor = MaterialTheme.colorScheme.onBackground, - ) + ), ) } diff --git a/shared/src/commonMain/kotlin/com/prof18/moneyflow/utils/Utils.kt b/shared/src/commonMain/kotlin/com/prof18/moneyflow/utils/Utils.kt index 97918e18..350f4f4d 100644 --- a/shared/src/commonMain/kotlin/com/prof18/moneyflow/utils/Utils.kt +++ b/shared/src/commonMain/kotlin/com/prof18/moneyflow/utils/Utils.kt @@ -2,10 +2,10 @@ package com.prof18.moneyflow.utils import co.touchlab.kermit.Logger import com.prof18.moneyflow.domain.entities.MoneyFlowError -import kotlin.time.Instant import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toLocalDateTime +import kotlin.time.Instant internal fun MillisSinceEpoch.generateCurrentMonthId(): CurrentMonthID { val instant = Instant.fromEpochMilliseconds(this)