Convert to my app, so I can continue a fork!

This commit is contained in:
2025-07-31 18:33:10 -06:00
parent dc4ba51896
commit 1b4323c2bb
288 changed files with 1139 additions and 1163 deletions

View File

@@ -8,7 +8,7 @@ plugins {
}
android {
namespace = "gq.kirmanak.mealient.shopping_list"
namespace = "com.atridad.mealient.shopping_lists"
}
ksp {

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.shopping_lists
package com.atridad.mealient.shopping_lists
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.shopping_lists.network.ShoppingListsDataSource
import gq.kirmanak.mealient.shopping_lists.network.ShoppingListsDataSourceImpl
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsRepo
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsRepoImpl
import com.atridad.mealient.shopping_lists.network.ShoppingListsDataSource
import com.atridad.mealient.shopping_lists.network.ShoppingListsDataSourceImpl
import com.atridad.mealient.shopping_lists.repo.ShoppingListsRepo
import com.atridad.mealient.shopping_lists.repo.ShoppingListsRepoImpl
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,12 +1,12 @@
package gq.kirmanak.mealient.shopping_lists.network
package com.atridad.mealient.shopping_lists.network
import gq.kirmanak.mealient.datasource.models.CreateShoppingListItemRequest
import gq.kirmanak.mealient.datasource.models.CreateShoppingListRequest
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListsSummaryResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.datasource.models.CreateShoppingListItemRequest
import com.atridad.mealient.datasource.models.CreateShoppingListRequest
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetShoppingListsSummaryResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
interface ShoppingListsDataSource {

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.shopping_lists.network
package com.atridad.mealient.shopping_lists.network
import gq.kirmanak.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.CreateShoppingListItemRequest
import gq.kirmanak.mealient.datasource.models.CreateShoppingListRequest
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListsSummaryResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.datasource.MealieDataSource
import com.atridad.mealient.datasource.models.CreateShoppingListItemRequest
import com.atridad.mealient.datasource.models.CreateShoppingListRequest
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetShoppingListsSummaryResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
import javax.inject.Inject
class ShoppingListsDataSourceImpl @Inject constructor(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.repo
package com.atridad.mealient.shopping_lists.repo
import kotlinx.coroutines.flow.Flow

View File

@@ -1,12 +1,12 @@
package gq.kirmanak.mealient.shopping_lists.repo
package com.atridad.mealient.shopping_lists.repo
import gq.kirmanak.mealient.datasource.models.CreateShoppingListItemRequest
import gq.kirmanak.mealient.datasource.models.CreateShoppingListRequest
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListsSummaryResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.datasource.models.CreateShoppingListItemRequest
import com.atridad.mealient.datasource.models.CreateShoppingListRequest
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetShoppingListsSummaryResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
interface ShoppingListsRepo {

View File

@@ -1,14 +1,14 @@
package gq.kirmanak.mealient.shopping_lists.repo
package com.atridad.mealient.shopping_lists.repo
import gq.kirmanak.mealient.datasource.models.CreateShoppingListItemRequest
import gq.kirmanak.mealient.datasource.models.CreateShoppingListRequest
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListsSummaryResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.shopping_lists.network.ShoppingListsDataSource
import com.atridad.mealient.datasource.models.CreateShoppingListItemRequest
import com.atridad.mealient.datasource.models.CreateShoppingListRequest
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetShoppingListsSummaryResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.shopping_lists.network.ShoppingListsDataSource
import javax.inject.Inject
class ShoppingListsRepoImpl @Inject constructor(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.composables
package com.atridad.mealient.shopping_lists.ui.composables
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.background
@@ -23,7 +23,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.vector.ImageVector
import gq.kirmanak.mealient.ui.Dimens
import com.atridad.mealient.ui.Dimens
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View File

@@ -1,9 +1,9 @@
package gq.kirmanak.mealient.shopping_lists.ui.composables
package com.atridad.mealient.shopping_lists.ui.composables
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.datasource.NetworkError
import gq.kirmanak.mealient.shopping_list.R
import com.atridad.mealient.datasource.NetworkError
import com.atridad.mealient.shopping_list.R
@Composable
fun getErrorMessage(error: Throwable): String = when (error) {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.composables
package com.atridad.mealient.shopping_lists.ui.composables
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions

View File

@@ -0,0 +1,11 @@
package com.atridad.mealient.shopping_lists.ui.details
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
data class ShoppingListData(
val foods: List<GetFoodResponse>,
val units: List<GetUnitResponse>,
val shoppingList: GetShoppingListResponse,
)

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
package com.atridad.mealient.shopping_lists.ui.details
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
data class ShoppingListEditingState(
val deletedItemIds: Set<String> = emptySet(),

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
package com.atridad.mealient.shopping_lists.ui.details
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background
@@ -50,23 +50,23 @@ import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.withStyle
import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemRecipeReferenceResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import gq.kirmanak.mealient.shopping_list.R
import gq.kirmanak.mealient.shopping_lists.ui.composables.EditableItemBox
import gq.kirmanak.mealient.shopping_lists.ui.composables.getErrorMessage
import gq.kirmanak.mealient.shopping_lists.util.ItemLabelGroup
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.components.LazyColumnWithLoadingState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import gq.kirmanak.mealient.ui.util.LoadingState
import gq.kirmanak.mealient.ui.util.data
import gq.kirmanak.mealient.ui.util.error
import gq.kirmanak.mealient.ui.util.map
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemRecipeReferenceResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.shopping_list.R
import com.atridad.mealient.shopping_lists.ui.composables.EditableItemBox
import com.atridad.mealient.shopping_lists.ui.composables.getErrorMessage
import com.atridad.mealient.shopping_lists.util.ItemLabelGroup
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreen
import com.atridad.mealient.ui.components.LazyColumnWithLoadingState
import com.atridad.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.ui.util.LoadingState
import com.atridad.mealient.ui.util.data
import com.atridad.mealient.ui.util.error
import com.atridad.mealient.ui.util.map
import java.text.DecimalFormat
data class ShoppingListNavArgs(

View File

@@ -1,9 +1,9 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
package com.atridad.mealient.shopping_lists.ui.details
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import gq.kirmanak.mealient.shopping_lists.util.ItemLabelGroup
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.shopping_lists.util.ItemLabelGroup
import java.util.UUID
internal data class ShoppingListScreenState(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
package com.atridad.mealient.shopping_lists.ui.details
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -7,20 +7,20 @@ import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.architecture.valueUpdatesOnly
import gq.kirmanak.mealient.datasource.models.CreateShoppingListItemRequest
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsRepo
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import gq.kirmanak.mealient.shopping_lists.util.groupItemsByLabel
import gq.kirmanak.mealient.ui.util.LoadingHelperFactory
import gq.kirmanak.mealient.ui.util.LoadingState
import gq.kirmanak.mealient.ui.util.LoadingStateNoData
import gq.kirmanak.mealient.ui.util.data
import gq.kirmanak.mealient.ui.util.map
import com.atridad.mealient.architecture.valueUpdatesOnly
import com.atridad.mealient.datasource.models.CreateShoppingListItemRequest
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import com.atridad.mealient.shopping_lists.repo.ShoppingListsRepo
import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import com.atridad.mealient.shopping_lists.util.groupItemsByLabel
import com.atridad.mealient.ui.util.LoadingHelperFactory
import com.atridad.mealient.ui.util.LoadingState
import com.atridad.mealient.ui.util.LoadingStateNoData
import com.atridad.mealient.ui.util.data
import com.atridad.mealient.ui.util.map
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.flow.MutableStateFlow

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.list
package com.atridad.mealient.shopping_lists.ui.list
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Cancel
@@ -10,8 +10,8 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import gq.kirmanak.mealient.shopping_list.R
import gq.kirmanak.mealient.ui.AppTheme
import com.atridad.mealient.shopping_list.R
import com.atridad.mealient.ui.AppTheme
@Composable
internal fun DeleteListConfirmDialog(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.list
package com.atridad.mealient.shopping_lists.ui.list
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -33,11 +33,11 @@ import androidx.compose.ui.platform.LocalWindowInfo
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.KeyboardCapitalization
import gq.kirmanak.mealient.shopping_list.R
import gq.kirmanak.mealient.shopping_lists.ui.composables.MealientTextField
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.shopping_list.R
import com.atridad.mealient.shopping_lists.ui.composables.MealientTextField
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.preview.ColorSchemePreview
@OptIn(ExperimentalMaterial3Api::class)
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.shopping_lists.ui.list
package com.atridad.mealient.shopping_lists.ui.list
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -24,17 +24,17 @@ import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination
import com.ramcosta.composedestinations.navigation.navigate
import gq.kirmanak.mealient.shopping_list.R
import gq.kirmanak.mealient.shopping_lists.ui.composables.EditableItemBox
import gq.kirmanak.mealient.shopping_lists.ui.composables.getErrorMessage
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreenState
import gq.kirmanak.mealient.ui.components.BaseScreenWithNavigation
import gq.kirmanak.mealient.ui.components.LazyColumnWithLoadingState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import gq.kirmanak.mealient.ui.util.error
import com.atridad.mealient.shopping_list.R
import com.atridad.mealient.shopping_lists.ui.composables.EditableItemBox
import com.atridad.mealient.shopping_lists.ui.composables.getErrorMessage
import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreenState
import com.atridad.mealient.ui.components.BaseScreenWithNavigation
import com.atridad.mealient.ui.components.LazyColumnWithLoadingState
import com.atridad.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.ui.util.error
@Destination
@Composable

View File

@@ -1,20 +1,20 @@
package gq.kirmanak.mealient.shopping_lists.ui.list
package com.atridad.mealient.shopping_lists.ui.list
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.architecture.valueUpdatesOnly
import gq.kirmanak.mealient.datasource.models.CreateShoppingListRequest
import gq.kirmanak.mealient.datasource.models.GetShoppingListsSummaryResponse
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsRepo
import gq.kirmanak.mealient.ui.util.LoadingHelper
import gq.kirmanak.mealient.ui.util.LoadingHelperFactory
import gq.kirmanak.mealient.ui.util.LoadingState
import gq.kirmanak.mealient.ui.util.LoadingStateNoData
import gq.kirmanak.mealient.ui.util.map
import com.atridad.mealient.architecture.valueUpdatesOnly
import com.atridad.mealient.datasource.models.CreateShoppingListRequest
import com.atridad.mealient.datasource.models.GetShoppingListsSummaryResponse
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import com.atridad.mealient.shopping_lists.repo.ShoppingListsRepo
import com.atridad.mealient.ui.util.LoadingHelper
import com.atridad.mealient.ui.util.LoadingHelperFactory
import com.atridad.mealient.ui.util.LoadingState
import com.atridad.mealient.ui.util.LoadingStateNoData
import com.atridad.mealient.ui.util.map
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.shopping_lists.util
package com.atridad.mealient.shopping_lists.util
import gq.kirmanak.mealient.datasource.models.GetItemLabelResponse
import gq.kirmanak.mealient.shopping_lists.ui.details.ShoppingListItemState
import gq.kirmanak.mealient.shopping_lists.ui.details.checked
import com.atridad.mealient.datasource.models.GetItemLabelResponse
import com.atridad.mealient.shopping_lists.ui.details.ShoppingListItemState
import com.atridad.mealient.shopping_lists.ui.details.checked
sealed class ItemLabelGroup {
data object DefaultLabel : ItemLabelGroup()

View File

@@ -1,11 +0,0 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
data class ShoppingListData(
val foods: List<GetFoodResponse>,
val units: List<GetUnitResponse>,
val shoppingList: GetShoppingListResponse,
)

View File

@@ -1,21 +1,21 @@
package gq.kirmanak.mealient.shopping_lists.ui.details
package com.atridad.mealient.shopping_lists.ui.details
import androidx.lifecycle.SavedStateHandle
import gq.kirmanak.mealient.datasource.models.GetItemLabelResponse
import gq.kirmanak.mealient.datasource.models.GetFoodResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemRecipeReferenceResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListItemResponse
import gq.kirmanak.mealient.datasource.models.GetShoppingListResponse
import gq.kirmanak.mealient.datasource.models.GetUnitResponse
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsRepo
import gq.kirmanak.mealient.shopping_lists.util.ItemLabelGroup
import gq.kirmanak.mealient.test.BaseUnitTest
import gq.kirmanak.mealient.ui.util.LoadingHelper
import gq.kirmanak.mealient.ui.util.LoadingHelperFactory
import gq.kirmanak.mealient.ui.util.LoadingState
import gq.kirmanak.mealient.ui.util.LoadingStateNoData
import gq.kirmanak.mealient.ui.util.LoadingStateWithData
import com.atridad.mealient.datasource.models.GetItemLabelResponse
import com.atridad.mealient.datasource.models.GetFoodResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemRecipeReferenceResponse
import com.atridad.mealient.datasource.models.GetShoppingListItemResponse
import com.atridad.mealient.datasource.models.GetShoppingListResponse
import com.atridad.mealient.datasource.models.GetUnitResponse
import com.atridad.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import com.atridad.mealient.shopping_lists.repo.ShoppingListsRepo
import com.atridad.mealient.shopping_lists.util.ItemLabelGroup
import com.atridad.mealient.test.BaseUnitTest
import com.atridad.mealient.ui.util.LoadingHelper
import com.atridad.mealient.ui.util.LoadingHelperFactory
import com.atridad.mealient.ui.util.LoadingState
import com.atridad.mealient.ui.util.LoadingStateNoData
import com.atridad.mealient.ui.util.LoadingStateWithData
import io.mockk.CapturingSlot
import io.mockk.coEvery
import io.mockk.coVerify