diff --git a/androidApp/build.gradle.kts b/androidApp/build.gradle.kts index f7f8f1a5d..792d3a8b7 100644 --- a/androidApp/build.gradle.kts +++ b/androidApp/build.gradle.kts @@ -4,6 +4,8 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.compose) + alias(libs.plugins.crashlytics) + alias(libs.plugins.gms) } android { diff --git a/androidApp/src/main/java/com/github/diegoberaldin/raccoonforlemmy/android/MainApplication.kt b/androidApp/src/main/java/com/github/diegoberaldin/raccoonforlemmy/android/MainApplication.kt index a3740df61..5a84a9a91 100644 --- a/androidApp/src/main/java/com/github/diegoberaldin/raccoonforlemmy/android/MainApplication.kt +++ b/androidApp/src/main/java/com/github/diegoberaldin/raccoonforlemmy/android/MainApplication.kt @@ -1,9 +1,9 @@ package com.github.diegoberaldin.raccoonforlemmy.android import android.app.Application -import com.github.diegoberaldin.raccoonforlemmy.core.utils.AppInfo -import com.github.diegoberaldin.raccoonforlemmy.core.utils.CrashReportConfiguration -import com.github.diegoberaldin.raccoonforlemmy.core.utils.CrashReportWriter +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.AppInfo +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.CrashReportConfiguration +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.CrashReportWriter import com.github.diegoberaldin.raccoonforlemmy.di.sharedHelperModule import org.koin.android.ext.android.inject import org.koin.android.ext.koin.androidContext diff --git a/build.gradle.kts b/build.gradle.kts index df19851dc..5b6e25b0c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,6 +10,8 @@ plugins { alias(libs.plugins.ktorfit).apply(false) alias(libs.plugins.kotlinx.serialization).apply(false) alias(libs.plugins.sqldelight).apply(false) + alias(libs.plugins.crashlytics).apply(false) + alias(libs.plugins.gms).apply(false) } tasks.register("clean", Delete::class) { diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/DefaultServiceProvider.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/DefaultServiceProvider.kt index 25f717180..49346719a 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/DefaultServiceProvider.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/DefaultServiceProvider.kt @@ -8,7 +8,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.api.service.PrivateMessageS import com.github.diegoberaldin.raccoonforlemmy.core.api.service.SearchService import com.github.diegoberaldin.raccoonforlemmy.core.api.service.SiteService import com.github.diegoberaldin.raccoonforlemmy.core.api.service.UserService -import com.github.diegoberaldin.raccoonforlemmy.core.utils.provideHttpClientEngineFactory +import com.github.diegoberaldin.raccoonforlemmy.core.utils.network.provideHttpClientEngineFactory import de.jensklingenberg.ktorfit.Ktorfit import io.ktor.client.HttpClient import io.ktor.client.plugins.HttpTimeout diff --git a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/Logger.kt b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/Logger.kt index 325d2959f..2ce99f6f0 100644 --- a/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/Logger.kt +++ b/core-api/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/api/provider/Logger.kt @@ -1,6 +1,6 @@ package com.github.diegoberaldin.raccoonforlemmy.core.api.provider -import com.github.diegoberaldin.raccoonforlemmy.core.utils.Log +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.Log import io.ktor.client.plugins.logging.Logger internal val defaultLogger = object : Logger { diff --git a/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/FloatingActionButtonMenu.kt b/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/FloatingActionButtonMenu.kt index 48f0c90b4..2aeb77d25 100644 --- a/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/FloatingActionButtonMenu.kt +++ b/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/FloatingActionButtonMenu.kt @@ -37,8 +37,8 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback data class FloatingActionButtonMenuItem( val icon: ImageVector, diff --git a/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/SwipeableCard.kt b/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/SwipeableCard.kt index 7842ca17b..57b3b1439 100644 --- a/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/SwipeableCard.kt +++ b/core-commonui/components/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/SwipeableCard.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/InboxChatScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/InboxChatScreen.kt index 5289e4b22..2c2693a47 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/InboxChatScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/InboxChatScreen.kt @@ -54,8 +54,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomI import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getInboxChatViewModel import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/MessageCard.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/MessageCard.kt index f14a0518b..7f5c58a3c 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/MessageCard.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/chat/MessageCard.kt @@ -24,7 +24,7 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate @Composable internal fun MessageCard( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communityInfo/CommunityInfoScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communityInfo/CommunityInfoScreen.kt index 94ccef950..3f8c79971 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communityInfo/CommunityInfoScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communityInfo/CommunityInfoScreen.kt @@ -43,8 +43,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PostCardBody import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getCommunityInfoViewModel +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.core.utils.getPrettyNumber -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailScreen.kt index be720ef9f..411df1f2d 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailScreen.kt @@ -100,9 +100,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalDp import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailViewModel.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailViewModel.kt index d5c45c165..efa407148 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailViewModel.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/communitydetail/CommunityDetailViewModel.kt @@ -5,9 +5,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.DefaultMviMode import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.commonui.image.ImagePreloadManager import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ZombieModeHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode.ZombieModeHelper import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCard.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCard.kt index e768b7815..325a1fe1e 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCard.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCard.kt @@ -20,8 +20,8 @@ import androidx.compose.ui.unit.toSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalDp import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCardPlaceholder.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCardPlaceholder.kt index a52e05749..3d57a3d21 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCardPlaceholder.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommentCardPlaceholder.kt @@ -20,7 +20,7 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shimmerEffect +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.shimmerEffect @Composable fun CommentCardPlaceholder( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityAndCreatorInfo.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityAndCreatorInfo.kt index 2f83f7e5d..eecf87c2d 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityAndCreatorInfo.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityAndCreatorInfo.kt @@ -22,8 +22,8 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.Dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.UserModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityHeader.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityHeader.kt index d92595fac..f6ed89365 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityHeader.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/CommunityHeader.kt @@ -29,9 +29,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.getPrettyNumber -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCard.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCard.kt index 5df4c1621..bb3a2dff8 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCard.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCard.kt @@ -14,8 +14,8 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PersonMentionModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCardPlaceholder.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCardPlaceholder.kt index d460dcd53..0721ac3db 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCardPlaceholder.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxCardPlaceholder.kt @@ -18,7 +18,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shimmerEffect +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.shimmerEffect @Composable fun InboxCardPlaceholder( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxReplySubtitle.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxReplySubtitle.kt index 637a49719..5d91d7aaa 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxReplySubtitle.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/InboxReplySubtitle.kt @@ -33,9 +33,9 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.UserModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCard.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCard.kt index f04699053..ec6a922b0 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCard.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCard.kt @@ -32,9 +32,9 @@ import androidx.compose.ui.unit.toSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.looksLikeAnImage -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalPixel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardFooter.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardFooter.kt index c07475f76..a7c7281f2 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardFooter.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardFooter.kt @@ -37,9 +37,9 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalDp @Composable diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardImage.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardImage.kt index 521252b34..00c8e6918 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardImage.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardImage.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardPlaceholder.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardPlaceholder.kt index 26b9c353b..8a7856b19 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardPlaceholder.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostCardPlaceholder.kt @@ -23,7 +23,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shimmerEffect +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.shimmerEffect @Composable fun PostCardPlaceholder( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostLinkBanner.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostLinkBanner.kt index b035e69e6..dc286dab3 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostLinkBanner.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/PostLinkBanner.kt @@ -21,8 +21,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.web.WebViewScreen import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback @Composable fun PostLinkBanner( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/TextFormattingBar.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/TextFormattingBar.kt index aed1afd8b..33212d147 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/TextFormattingBar.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/TextFormattingBar.kt @@ -18,8 +18,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback @Composable fun TextFormattingBar( diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/UserHeader.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/UserHeader.kt index 562643300..68641d64c 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/UserHeader.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/components/UserHeader.kt @@ -32,10 +32,10 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.core.utils.getPrettyNumber -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.UserModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createcomment/CreateCommentScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createcomment/CreateCommentScreen.kt index f2bada2d6..a8a96f96e 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createcomment/CreateCommentScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createcomment/CreateCommentScreen.kt @@ -64,7 +64,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCo import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.RawContentDialog import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getGalleryHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.getGalleryHelper import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createpost/CreatePostScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createpost/CreatePostScreen.kt index dfa88adcd..1919f19be 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createpost/CreatePostScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/createpost/CreatePostScreen.kt @@ -67,10 +67,10 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCo import com.github.diegoberaldin.raccoonforlemmy.core.commonui.selectcommunity.SelectCommunityDialog import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getGalleryHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.getGalleryHelper import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.shareUrl diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/drawer/ModalDrawerContent.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/drawer/ModalDrawerContent.kt index 3cc0bfcd0..4fb1a151e 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/drawer/ModalDrawerContent.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/drawer/ModalDrawerContent.kt @@ -65,8 +65,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.MultiCo import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getModalDrawerViewModel -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.UserModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import com.github.diegoberaldin.raccoonforlemmy.resources.di.getLanguageRepository diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageScreen.kt index bbef482eb..8e534fa2a 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageScreen.kt @@ -35,8 +35,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Zoomabl import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getZoomableImageViewModel -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource import kotlinx.coroutines.flow.launchIn diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageViewModel.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageViewModel.kt index 01be748b1..7a124aa7d 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageViewModel.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/image/ZoomableImageViewModel.kt @@ -3,10 +3,10 @@ package com.github.diegoberaldin.raccoonforlemmy.core.commonui.image import com.github.diegoberaldin.raccoonforlemmy.core.architecture.DefaultMviModel import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.DateTime -import com.github.diegoberaldin.raccoonforlemmy.core.utils.GalleryHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.download +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.DateTime +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.GalleryHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.download +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO import kotlinx.coroutines.flow.launchIn diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/instanceinfo/InstanceInfoScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/instanceinfo/InstanceInfoScreen.kt index e61922c60..89a61aea2 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/instanceinfo/InstanceInfoScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/instanceinfo/InstanceInfoScreen.kt @@ -50,8 +50,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.selectcommunity.Co import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.getAdditionalLabel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toIcon diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ColorBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ColorBottomSheet.kt index 51c0b854c..a4a6dd96a 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ColorBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ColorBottomSheet.kt @@ -34,8 +34,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCo import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/DurationBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/DurationBottomSheet.kt index c297e5d36..67ec43d01 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/DurationBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/DurationBottomSheet.kt @@ -19,9 +19,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getPrettyDuration -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.getPrettyDuration import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource import kotlin.time.Duration diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontFamilyBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontFamilyBottomSheet.kt index fb8d3b477..812b41158 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontFamilyBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontFamilyBottomSheet.kt @@ -21,8 +21,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.fontFamilyResource import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontScaleBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontScaleBottomSheet.kt index 2e30bdce9..439b19339 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontScaleBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/FontScaleBottomSheet.kt @@ -21,8 +21,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomSheetHandle import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/InboxTypeSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/InboxTypeSheet.kt index f5292f125..80f3d05e4 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/InboxTypeSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/InboxTypeSheet.kt @@ -19,8 +19,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/LanguageBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/LanguageBottomSheet.kt index 8be40c56f..4ccc9f2a4 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/LanguageBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/LanguageBottomSheet.kt @@ -19,8 +19,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLanguageName import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ListingTypeBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ListingTypeBottomSheet.kt index 0b2fe59c6..3e44fbb25 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ListingTypeBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ListingTypeBottomSheet.kt @@ -22,8 +22,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toIcon import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toReadableName diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/PostLayoutBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/PostLayoutBottomSheet.kt index a3f5579c3..551e061a9 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/PostLayoutBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/PostLayoutBottomSheet.kt @@ -21,8 +21,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/RawContentDialog.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/RawContentDialog.kt index 4af0f02f0..b6107fa71 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/RawContentDialog.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/RawContentDialog.kt @@ -26,8 +26,8 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getCustomTextToolbar -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getShareHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.getShareHelper import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/SortBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/SortBottomSheet.kt index fefbd83ab..d42ac37c6 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/SortBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/SortBottomSheet.kt @@ -30,8 +30,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toIcon import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toReadableName diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ThemeBottomSheet.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ThemeBottomSheet.kt index 538f68034..5ce334379 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ThemeBottomSheet.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/modals/ThemeBottomSheet.kt @@ -25,8 +25,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailScreen.kt index 6beec8511..6e0527d4b 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailScreen.kt @@ -99,9 +99,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailViewModel.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailViewModel.kt index ae8b536f8..e827249ae 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailViewModel.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/postdetail/PostDetailViewModel.kt @@ -6,8 +6,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsScreen.kt index aed9dcfff..25d6803b7 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsScreen.kt @@ -73,8 +73,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsViewModel.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsViewModel.kt index ceb8ac55a..4c8f64773 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsViewModel.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/saveditems/SavedItemsViewModel.kt @@ -6,8 +6,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/CommunityItemPlaceholder.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/CommunityItemPlaceholder.kt index 971c78590..e5ee3e0b1 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/CommunityItemPlaceholder.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/CommunityItemPlaceholder.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shimmerEffect +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.shimmerEffect @Composable fun CommunityItemPlaceholder() { diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/SelectCommunityDialog.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/SelectCommunityDialog.kt index 2a76163c8..3fefb4de3 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/SelectCommunityDialog.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/selectcommunity/SelectCommunityDialog.kt @@ -41,8 +41,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Communi import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getSelectCommunityViewModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailScreen.kt index 1f8c8518b..7e34a48fa 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailScreen.kt @@ -97,9 +97,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.report.CreateRepor import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalDp import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailViewModel.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailViewModel.kt index 357002df8..1221a1230 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailViewModel.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/userdetail/UserDetailViewModel.kt @@ -7,8 +7,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.image.ImagePreload import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/web/WebViewScreen.kt b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/web/WebViewScreen.kt index ab21560ba..e6da42d97 100644 --- a/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/web/WebViewScreen.kt +++ b/core-commonui/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/commonui/web/WebViewScreen.kt @@ -23,9 +23,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomW import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.rememberWebViewNavigator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getShareHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.getShareHelper class WebViewScreen( private val url: String, diff --git a/core-utils/build.gradle.kts b/core-utils/build.gradle.kts index fa313af0e..fdc0381e8 100644 --- a/core-utils/build.gradle.kts +++ b/core-utils/build.gradle.kts @@ -31,6 +31,7 @@ kotlin { implementation(libs.androidx.activity.compose) implementation(libs.androidx.activity) implementation(libs.ktor.android) + implementation(libs.firebase.crashlytics) } } val commonMain by getting { @@ -43,6 +44,8 @@ kotlin { implementation(libs.koin.core) implementation(libs.ktor.cio) + implementation(libs.crashkios) + implementation(projects.resources) } } diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt deleted file mode 100644 index 03cd46f75..000000000 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt +++ /dev/null @@ -1,67 +0,0 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils - -import android.content.Context -import android.os.Environment -import com.github.diegoberaldin.raccoonforlemmy.core.utils.CrashReportConfiguration.Companion.PREFERENCES_NAME -import org.koin.dsl.module -import java.io.File -import java.io.FileWriter - -class DefaultCrashReportConfiguration( - private val context: Context, -) : CrashReportConfiguration { - - companion object { - const val KEY = "crashReportEnabled" - } - - override fun isEnabled(): Boolean = - context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE) - .getBoolean(KEY, false) - - override fun setEnabled(value: Boolean) { - context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE).apply { - edit().putBoolean(KEY, value).apply() - } - } -} - -class DefaultCrashReportWriter( - private val context: Context, -) : CrashReportWriter { - - companion object { - const val FILE_NAME = "crash_report.txt" - } - - override fun write(reportText: String) { - val dir = context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) - val state = Environment.getExternalStorageState() - val logFile = if (Environment.MEDIA_MOUNTED == state) { - File(dir, FILE_NAME) - } else { - File(context.cacheDir, FILE_NAME) - } - try { - val writer = FileWriter(logFile, false) - writer.append(reportText) - writer.flush() - writer.close() - } catch (e: Exception) { - e.printStackTrace() - } - } -} - -actual val crashReportModule = module { - single { - DefaultCrashReportConfiguration( - context = get(), - ) - } - single { - DefaultCrashReportWriter( - context = get(), - ) - } -} \ No newline at end of file diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt similarity index 97% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt index e8910b5a2..df96bc381 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime import java.time.Period import java.time.ZonedDateTime @@ -77,4 +77,4 @@ actual object DateTime { private fun getDateFromIso8601Timestamp(string: String): ZonedDateTime { return ZonedDateTime.parse(string) } -} +} \ No newline at end of file diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt new file mode 100644 index 000000000..5e40aa071 --- /dev/null +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt @@ -0,0 +1,33 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import org.koin.dsl.module +import org.koin.java.KoinJavaComponent.inject + +actual val crashReportModule = module { + single { + DefaultCrashReportConfiguration( + context = get(), + ) + } + single { + DefaultCrashReportWriter( + context = get(), + ) + } + single { + DefaultCrashReportSender( + context = get(), + ) + } +} + +actual fun getCrashReportSender(): CrashReportSender { + val res: CrashReportSender by inject(CrashReportSender::class.java) + return res +} + +actual fun getCrashReportConfiguration(): CrashReportConfiguration { + val res: CrashReportConfiguration by inject(CrashReportConfiguration::class.java) + return res +} + diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt new file mode 100644 index 000000000..7377ce5a2 --- /dev/null +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt @@ -0,0 +1,23 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import android.content.Context +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.CrashReportConfiguration.Companion.PREFERENCES_NAME + +class DefaultCrashReportConfiguration( + private val context: Context, +) : CrashReportConfiguration { + + companion object { + const val KEY = "crashReportEnabled" + } + + override fun isEnabled(): Boolean = + context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE) + .getBoolean(KEY, false) + + override fun setEnabled(value: Boolean) { + context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE).apply { + edit().putBoolean(KEY, value).apply() + } + } +} diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt new file mode 100644 index 000000000..1c179c170 --- /dev/null +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt @@ -0,0 +1,40 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import android.content.Context +import co.touchlab.crashkios.crashlytics.CrashlyticsKotlin +import co.touchlab.crashkios.crashlytics.enableCrashlytics +import com.google.firebase.FirebaseApp + +class DefaultCrashReportSender( + private val context: Context, +) : CrashReportSender { + + private var enabled = false + + override fun initialize() { + FirebaseApp.initializeApp(context) + enableCrashlytics() + } + + override fun setEnabled(value: Boolean) { + enabled = value + } + + override fun sendFatalException(error: Throwable) { + if (enabled) { + CrashlyticsKotlin.sendFatalException(error) + } + } + + override fun sendNonFatalException(error: Throwable) { + if (enabled) { + CrashlyticsKotlin.sendHandledException(error) + } + } + + override fun log(message: String) { + if (enabled) { + CrashlyticsKotlin.logMessage(message) + } + } +} \ No newline at end of file diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt new file mode 100644 index 000000000..1e138310a --- /dev/null +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt @@ -0,0 +1,33 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import android.content.Context +import android.os.Environment +import java.io.File +import java.io.FileWriter + +class DefaultCrashReportWriter( + private val context: Context, +) : CrashReportWriter { + + companion object { + const val FILE_NAME = "crash_report.txt" + } + + override fun write(reportText: String) { + val dir = context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) + val state = Environment.getExternalStorageState() + val logFile = if (Environment.MEDIA_MOUNTED == state) { + File(dir, FILE_NAME) + } else { + File(context.cacheDir, FILE_NAME) + } + try { + val writer = FileWriter(logFile, false) + writer.append(reportText) + writer.flush() + writer.close() + } catch (e: Exception) { + e.printStackTrace() + } + } +} diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt similarity index 72% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt index b3300c791..b9364cd36 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug actual object Log { diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt similarity index 97% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt index e59abeb6c..811d9b9e1 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery import android.content.ContentValues import android.content.Context diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt similarity index 73% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt index fbaf7f281..f85acc786 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.network import io.ktor.client.engine.HttpClientEngineFactory import io.ktor.client.engine.android.Android diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt similarity index 92% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt index 77db92df4..5e3d4a79b 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.share import android.content.Context import android.content.Intent diff --git a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt similarity index 92% rename from core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt rename to core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt index 448cc071c..b5837e65a 100644 --- a/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt +++ b/core-utils/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate import android.annotation.SuppressLint import android.content.Context diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/AppInfo.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/AppInfo.kt deleted file mode 100644 index 8a19227a2..000000000 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/AppInfo.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils - -object AppInfo { - var versionCode = "" -} \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt deleted file mode 100644 index 7bcebe743..000000000 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils - -import org.koin.core.module.Module - -interface CrashReportConfiguration { - - companion object { - const val PREFERENCES_NAME = "CrashReportPreferences" - } - - fun isEnabled(): Boolean - - fun setEnabled(value: Boolean) -} - -interface CrashReportWriter { - fun write(reportText: String) -} - -expect val crashReportModule: Module \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Extensions.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Extensions.kt index 075e75970..1e0a6f971 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Extensions.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Extensions.kt @@ -5,18 +5,7 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.unit.Dp import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource -import io.ktor.client.HttpClient -import io.ktor.client.call.body -import io.ktor.client.request.prepareGet -import io.ktor.http.contentLength -import io.ktor.utils.io.ByteReadChannel -import io.ktor.utils.io.core.isEmpty -import io.ktor.utils.io.core.readBytes -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.IO -import kotlinx.coroutines.withContext import kotlin.math.round -import kotlin.time.Duration @Composable fun String.toLanguageName() = when (this) { @@ -73,71 +62,3 @@ fun Int.getPrettyNumber( } } } - -fun Duration.getPrettyDuration( - secondsLabel: String, - minutesLabel: String, - hoursLabel: String, -): String = when { - inWholeHours > 0 -> buildString { - append(inWholeHours) - append(hoursLabel) - val remainderMinutes = inWholeMinutes % 60 - val remainderSeconds = inWholeSeconds % 60 - if (remainderMinutes > 0 || remainderSeconds > 0) { - append(" ") - append(remainderMinutes) - append(minutesLabel) - } - if (remainderSeconds > 0) { - append(" ") - append(remainderSeconds) - append(secondsLabel) - } - } - - inWholeMinutes > 0 -> buildString { - append(inWholeMinutes) - append(minutesLabel) - val remainderSeconds = inWholeSeconds % 60 - if (remainderSeconds > 0) { - append(" ") - append(remainderSeconds) - append(secondsLabel) - } - } - - else -> buildString { - val rounded = round((inWholeMilliseconds / 1000.0) * 10.0) / 10.0 - if (rounded % 1 <= 0) { - append(rounded.toInt()) - } else { - append(rounded) - } - append(secondsLabel) - } -} - -suspend fun GalleryHelper.download(url: String): ByteArray = withContext(Dispatchers.IO) { - val factory = provideHttpClientEngineFactory() - val client = HttpClient(factory) - client.prepareGet(url).execute { httpResponse -> - val channel: ByteReadChannel = httpResponse.body() - var result = byteArrayOf() - while (!channel.isClosedForRead) { - val packet = channel.readRemaining(4096) - while (!packet.isEmpty) { - val bytes = packet.readBytes() - result += bytes - println("Received ${result.size} bytes / ${httpResponse.contentLength()}") - } - } - result - } -} - -val String.looksLikeAnImage: Boolean - get() { - val imageExtensions = listOf(".jpeg", ".jpg", ".png", ".webp") - return imageExtensions.any { this.endsWith(it) } - } diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt deleted file mode 100644 index c1a79ab78..000000000 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils - -expect object Log { - fun d(message: String) -} diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/StringUtils.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/StringUtils.kt index d63aac65e..2238c43eb 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/StringUtils.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/StringUtils.kt @@ -3,4 +3,10 @@ package com.github.diegoberaldin.raccoonforlemmy.core.utils expect object StringUtils { fun String.isValidUrl(): Boolean fun Int.toHexDigit(): String -} \ No newline at end of file +} + +val String.looksLikeAnImage: Boolean + get() { + val imageExtensions = listOf(".jpeg", ".jpg", ".png", ".webp") + return imageExtensions.any { this.endsWith(it) } + } \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/OnClick.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/OnClick.kt similarity index 86% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/OnClick.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/OnClick.kt index 57eb40a20..30097aa76 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/OnClick.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/OnClick.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.compose import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/RememberCallback.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/RememberCallback.kt similarity index 90% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/RememberCallback.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/RememberCallback.kt index 200688c7b..7d4b400d3 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/RememberCallback.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/RememberCallback.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.compose import androidx.compose.runtime.Composable import androidx.compose.runtime.remember diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShimmerEffect.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/ShimmerEffect.kt similarity index 96% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShimmerEffect.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/ShimmerEffect.kt index 59f0f8b16..c56cc0066 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShimmerEffect.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/compose/ShimmerEffect.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.compose import androidx.compose.animation.core.animateFloat import androidx.compose.animation.core.infiniteRepeatable diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt similarity index 85% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt index f6c81f358..02bac3f84 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime expect object DateTime { fun epochMillis(): Long diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateUtils.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateUtils.kt similarity index 57% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateUtils.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateUtils.kt index d61408371..5abe2a569 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateUtils.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateUtils.kt @@ -1,8 +1,10 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime import androidx.compose.runtime.Composable import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.stringResource +import kotlin.math.round +import kotlin.time.Duration @Composable fun String.prettifyDate(): String = let { @@ -52,4 +54,48 @@ fun String.prettifyDate(): String = let { ) } } +} + +fun Duration.getPrettyDuration( + secondsLabel: String, + minutesLabel: String, + hoursLabel: String, +): String = when { + inWholeHours > 0 -> buildString { + append(inWholeHours) + append(hoursLabel) + val remainderMinutes = inWholeMinutes % 60 + val remainderSeconds = inWholeSeconds % 60 + if (remainderMinutes > 0 || remainderSeconds > 0) { + append(" ") + append(remainderMinutes) + append(minutesLabel) + } + if (remainderSeconds > 0) { + append(" ") + append(remainderSeconds) + append(secondsLabel) + } + } + + inWholeMinutes > 0 -> buildString { + append(inWholeMinutes) + append(minutesLabel) + val remainderSeconds = inWholeSeconds % 60 + if (remainderSeconds > 0) { + append(" ") + append(remainderSeconds) + append(secondsLabel) + } + } + + else -> buildString { + val rounded = round((inWholeMilliseconds / 1000.0) * 10.0) / 10.0 + if (rounded % 1 <= 0) { + append(rounded.toInt()) + } else { + append(rounded) + } + append(secondsLabel) + } } \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/AppInfo.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/AppInfo.kt new file mode 100644 index 000000000..1b3878304 --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/AppInfo.kt @@ -0,0 +1,5 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +object AppInfo { + var versionCode = "" +} \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportConfiguration.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportConfiguration.kt new file mode 100644 index 000000000..4cfb9679e --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportConfiguration.kt @@ -0,0 +1,12 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +interface CrashReportConfiguration { + + companion object { + const val PREFERENCES_NAME = "CrashReportPreferences" + } + + fun isEnabled(): Boolean + + fun setEnabled(value: Boolean) +} diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt new file mode 100644 index 000000000..a100219cd --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt @@ -0,0 +1,8 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import org.koin.core.module.Module + +expect val crashReportModule: Module + +expect fun getCrashReportSender(): CrashReportSender +expect fun getCrashReportConfiguration(): CrashReportConfiguration \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportSender.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportSender.kt new file mode 100644 index 000000000..d568a1e3a --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportSender.kt @@ -0,0 +1,9 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +interface CrashReportSender { + fun initialize() + fun setEnabled(value: Boolean) + fun sendFatalException(error: Throwable) + fun sendNonFatalException(error: Throwable) + fun log(message: String) +} \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportWriter.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportWriter.kt new file mode 100644 index 000000000..3b2e79a3c --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportWriter.kt @@ -0,0 +1,5 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +interface CrashReportWriter { + fun write(reportText: String) +} \ No newline at end of file diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt new file mode 100644 index 000000000..7fd97448e --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt @@ -0,0 +1,5 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +expect object Log { + fun d(message: String) +} diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/di/UtilsModule.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/di/UtilsModule.kt index cd96f3971..8f3f48335 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/di/UtilsModule.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/di/UtilsModule.kt @@ -1,7 +1,7 @@ package com.github.diegoberaldin.raccoonforlemmy.core.utils.di -import com.github.diegoberaldin.raccoonforlemmy.core.utils.DefaultZombieModeHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ZombieModeHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode.DefaultZombieModeHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode.ZombieModeHelper import org.koin.dsl.module val utilsModule = module { diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/Download.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/Download.kt new file mode 100644 index 000000000..0b54e7563 --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/Download.kt @@ -0,0 +1,31 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery + +import com.github.diegoberaldin.raccoonforlemmy.core.utils.network.provideHttpClientEngineFactory +import io.ktor.client.HttpClient +import io.ktor.client.call.body +import io.ktor.client.request.prepareGet +import io.ktor.http.contentLength +import io.ktor.utils.io.ByteReadChannel +import io.ktor.utils.io.core.isEmpty +import io.ktor.utils.io.core.readBytes +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.IO +import kotlinx.coroutines.withContext + +suspend fun GalleryHelper.download(url: String): ByteArray = withContext(Dispatchers.IO) { + val factory = provideHttpClientEngineFactory() + val client = HttpClient(factory) + client.prepareGet(url).execute { httpResponse -> + val channel: ByteReadChannel = httpResponse.body() + var result = byteArrayOf() + while (!channel.isClosedForRead) { + val packet = channel.readRemaining(4096) + while (!packet.isEmpty) { + val bytes = packet.readBytes() + result += bytes + println("Received ${result.size} bytes / ${httpResponse.contentLength()}") + } + } + result + } +} diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt similarity index 74% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt index 6ecabf5eb..865212216 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery import androidx.compose.runtime.Composable import androidx.compose.runtime.Stable diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt similarity index 61% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt index 8bac343d9..4167a8230 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.network import io.ktor.client.engine.HttpClientEngineFactory diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt similarity index 64% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt index 1b6be8290..b589b780e 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.share import androidx.compose.runtime.Stable import org.koin.core.module.Module diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt similarity index 64% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt index 266977cc6..11c23ffb5 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate import org.koin.core.module.Module diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ZombieModeHelper.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/DefaultZombieModeHelper.kt similarity index 79% rename from core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ZombieModeHelper.kt rename to core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/DefaultZombieModeHelper.kt index 8cf90bf53..18ca1417c 100644 --- a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ZombieModeHelper.kt +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/DefaultZombieModeHelper.kt @@ -1,10 +1,9 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.isActive @@ -12,18 +11,6 @@ import kotlinx.coroutines.launch import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds -interface ZombieModeHelper { - - val index: Flow - - fun start( - initialValue: Int = 0, - interval: Duration = 2.5.seconds, - ) - - fun pause() -} - internal class DefaultZombieModeHelper : ZombieModeHelper { private val scope = CoroutineScope(SupervisorJob()) override val index = MutableStateFlow(-1) @@ -45,4 +32,4 @@ internal class DefaultZombieModeHelper : ZombieModeHelper { job?.cancel() index.value = -1 } -} \ No newline at end of file +} diff --git a/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/ZombieModeHelper.kt b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/ZombieModeHelper.kt new file mode 100644 index 000000000..878bef193 --- /dev/null +++ b/core-utils/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/zombiemode/ZombieModeHelper.kt @@ -0,0 +1,17 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode + +import kotlinx.coroutines.flow.Flow +import kotlin.time.Duration +import kotlin.time.Duration.Companion.seconds + +interface ZombieModeHelper { + + val index: Flow + + fun start( + initialValue: Int = 0, + interval: Duration = 2.5.seconds, + ) + + fun pause() +} diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt similarity index 97% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt index 923f3a142..483877b07 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/DateTime.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/datetime/DateTime.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime import platform.Foundation.NSCalendar import platform.Foundation.NSCalendarIdentifierGregorian @@ -94,4 +94,4 @@ actual object DateTime { private fun getDateFromIso8601Timestamp(string: String): NSDate? { return NSISO8601DateFormatter().dateFromString(string) } -} +} \ No newline at end of file diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt new file mode 100644 index 000000000..838460bfa --- /dev/null +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/CrashReportModule.kt @@ -0,0 +1,26 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject +import org.koin.dsl.module + +actual val crashReportModule = module { + single { + DefaultCrashReportConfiguration() + } + single { + DefaultCrashReportWriter() + } + single { + DefaultCrashReportSender() + } +} + +actual fun getCrashReportSender(): CrashReportSender = CrashReportDiHelper.crashReportSender +actual fun getCrashReportConfiguration(): CrashReportConfiguration = + CrashReportDiHelper.crashReportConfiguration + +internal object CrashReportDiHelper : KoinComponent { + val crashReportSender: CrashReportSender by inject() + val crashReportConfiguration: CrashReportConfiguration by inject() +} \ No newline at end of file diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt new file mode 100644 index 000000000..b8389eb22 --- /dev/null +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportConfiguration.kt @@ -0,0 +1,18 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import platform.Foundation.NSUserDefaults + +class DefaultCrashReportConfiguration( +) : CrashReportConfiguration { + + companion object { + const val KEY = "crashReportEnabled" + } + + override fun isEnabled(): Boolean = + NSUserDefaults.standardUserDefaults.boolForKey(KEY) + + override fun setEnabled(value: Boolean) { + NSUserDefaults.standardUserDefaults.setBool(value, KEY) + } +} diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt new file mode 100644 index 000000000..20c762a77 --- /dev/null +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportSender.kt @@ -0,0 +1,37 @@ +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug + +import co.touchlab.crashkios.crashlytics.CrashlyticsKotlin +import co.touchlab.crashkios.crashlytics.enableCrashlytics +import co.touchlab.crashkios.crashlytics.setCrashlyticsUnhandledExceptionHook + +class DefaultCrashReportSender : CrashReportSender { + + private var enabled = false + + override fun initialize() { + enableCrashlytics() + setCrashlyticsUnhandledExceptionHook() + } + + override fun setEnabled(value: Boolean) { + enabled = value + } + + override fun sendFatalException(error: Throwable) { + if (enabled) { + CrashlyticsKotlin.sendFatalException(error) + } + } + + override fun sendNonFatalException(error: Throwable) { + if (enabled) { + CrashlyticsKotlin.sendHandledException(error) + } + } + + override fun log(message: String) { + if (enabled) { + CrashlyticsKotlin.logMessage(message) + } + } +} \ No newline at end of file diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt similarity index 57% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt index 60af50c86..2d6c86774 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/CrashReportConfiguration.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/DefaultCrashReportWriter.kt @@ -1,32 +1,15 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug -import org.koin.dsl.module import platform.Foundation.NSCachesDirectory import platform.Foundation.NSFileManager import platform.Foundation.NSSearchPathForDirectoriesInDomains import platform.Foundation.NSString import platform.Foundation.NSUTF8StringEncoding -import platform.Foundation.NSUserDefaults import platform.Foundation.NSUserDomainMask import platform.Foundation.create import platform.Foundation.dataUsingEncoding import platform.Foundation.stringByAppendingPathComponent -class DefaultCrashReportConfiguration( -) : CrashReportConfiguration { - - companion object { - const val KEY = "crashReportEnabled" - } - - override fun isEnabled(): Boolean = - NSUserDefaults.standardUserDefaults.boolForKey(KEY) - - override fun setEnabled(value: Boolean) { - NSUserDefaults.standardUserDefaults.setBool(value, KEY) - } -} - class DefaultCrashReportWriter : CrashReportWriter { companion object { @@ -40,12 +23,3 @@ class DefaultCrashReportWriter : CrashReportWriter { NSFileManager.defaultManager.createFileAtPath(file, data, null) } } - -actual val crashReportModule = module { - single { - DefaultCrashReportConfiguration() - } - single { - DefaultCrashReportWriter() - } -} \ No newline at end of file diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt similarity index 64% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt index 08dad5877..9b1594c74 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/Logging.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/debug/Logging.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.debug import platform.Foundation.NSLog diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt similarity index 97% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt index 564fe0b19..802d59581 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/GalleryHelper.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/gallery/GalleryHelper.kt @@ -1,6 +1,6 @@ @file:OptIn(ExperimentalForeignApi::class) -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt similarity index 72% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt index 36e2b8a3b..21a1ac355 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HttpClientFactory.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/network/HttpClientFactory.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.network import io.ktor.client.engine.HttpClientEngineFactory import io.ktor.client.engine.cio.CIO diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt similarity index 92% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt index 7e76225e0..470b47a44 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/ShareHelper.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/share/ShareHelper.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.share import org.koin.core.component.KoinComponent import org.koin.core.component.inject diff --git a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt similarity index 84% rename from core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt rename to core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt index 002e21ae0..b5ec07f72 100644 --- a/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/HapticFeedback.kt +++ b/core-utils/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/core/utils/vibrate/HapticFeedback.kt @@ -1,4 +1,4 @@ -package com.github.diegoberaldin.raccoonforlemmy.core.utils +package com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate import org.koin.dsl.module import platform.UIKit.UIImpactFeedbackGenerator diff --git a/domain-identity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/identity/usecase/DefaultLoginUseCase.kt b/domain-identity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/identity/usecase/DefaultLoginUseCase.kt index f28a369f5..443c2f13a 100644 --- a/domain-identity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/identity/usecase/DefaultLoginUseCase.kt +++ b/domain-identity/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/domain/identity/usecase/DefaultLoginUseCase.kt @@ -3,7 +3,7 @@ package com.github.diegoberaldin.raccoonforlemmy.domain.identity.usecase import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.AccountModel import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.AccountRepository import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.Log +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.Log import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.ApiConfigurationRepository import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.AuthRepository import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository diff --git a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListScreen.kt b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListScreen.kt index 9a9e2450c..b9bf0d369 100644 --- a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListScreen.kt +++ b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListScreen.kt @@ -80,8 +80,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListViewModel.kt b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListViewModel.kt index d249271ca..56e5373f3 100644 --- a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListViewModel.kt +++ b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostListViewModel.kt @@ -7,9 +7,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.image.ImagePreload import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ZombieModeHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.zombiemode.ZombieModeHelper import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.ApiConfigurationRepository import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType diff --git a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostsTopBar.kt b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostsTopBar.kt index 41ad00a9a..f7edc047e 100644 --- a/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostsTopBar.kt +++ b/feature-home/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/home/postlist/PostsTopBar.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.getAdditionalLabel diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/main/InboxScreen.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/main/InboxScreen.kt index 1fe488945..ffcec59df 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/main/InboxScreen.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/main/InboxScreen.kt @@ -39,8 +39,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.InboxTypeSh import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.getInboxViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.mentions.InboxMentionsScreen import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.messages.InboxMessagesScreen diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsScreen.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsScreen.kt index 54265a2af..f787d1d1f 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsScreen.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsScreen.kt @@ -50,8 +50,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Swipeab import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.postdetail.PostDetailScreen import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDetailScreen -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.getInboxMentionsViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.ui.InboxTab import com.github.diegoberaldin.raccoonforlemmy.resources.MR diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsViewModel.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsViewModel.kt index 5faf16f4e..c397c858f 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsViewModel.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/mentions/InboxMentionsViewModel.kt @@ -6,7 +6,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PersonMentionModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCard.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCard.kt index b665d2f6d..ec6999ac2 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCard.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCard.kt @@ -24,9 +24,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.ScaledContent -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.prettifyDate -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.prettifyDate import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.UserModel @Composable diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCardPlaceholder.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCardPlaceholder.kt index 614ba78da..c88c734ca 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCardPlaceholder.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/ChatCardPlaceholder.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shimmerEffect +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.shimmerEffect @Composable internal fun ChatCardPlaceholder() { diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/InboxMessagesScreen.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/InboxMessagesScreen.kt index 3ca7a6328..ec6706515 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/InboxMessagesScreen.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/messages/InboxMessagesScreen.kt @@ -35,8 +35,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycl import com.github.diegoberaldin.raccoonforlemmy.core.commonui.chat.InboxChatScreen import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDetailScreen -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.getInboxMessagesViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.ui.InboxTab import com.github.diegoberaldin.raccoonforlemmy.resources.MR diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesScreen.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesScreen.kt index 09d3773fc..0aab8012a 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesScreen.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesScreen.kt @@ -50,8 +50,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.Swipeab import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.postdetail.PostDetailScreen import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDetailScreen -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.getInboxRepliesViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.ui.InboxTab import com.github.diegoberaldin.raccoonforlemmy.resources.MR diff --git a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesViewModel.kt b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesViewModel.kt index eca4300eb..9e032b755 100644 --- a/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesViewModel.kt +++ b/feature-inbox/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/inbox/replies/InboxRepliesViewModel.kt @@ -6,7 +6,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PersonMentionModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedScreen.kt b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedScreen.kt index 500ea5fcd..e6fc29d40 100644 --- a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedScreen.kt +++ b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedScreen.kt @@ -56,8 +56,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.RawContentD import com.github.diegoberaldin.raccoonforlemmy.core.commonui.postdetail.PostDetailScreen import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.feature.profile.di.getProfileLoggedViewModel diff --git a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedViewModel.kt b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedViewModel.kt index eea5a9bc9..2a1b06de5 100644 --- a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedViewModel.kt +++ b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/logged/ProfileLoggedViewModel.kt @@ -6,8 +6,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel diff --git a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/login/LoginBottomSheet.kt b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/login/LoginBottomSheet.kt index afaa8f552..df4a957a9 100644 --- a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/login/LoginBottomSheet.kt +++ b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/login/LoginBottomSheet.kt @@ -52,9 +52,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.handleUrl import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.feature.profile.di.getLoginBottomSheetViewModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.localized diff --git a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/main/ProfileMainScreen.kt b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/main/ProfileMainScreen.kt index 6812d47e7..43d867418 100644 --- a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/main/ProfileMainScreen.kt +++ b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/main/ProfileMainScreen.kt @@ -37,8 +37,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycl import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.feature.profile.di.getProfileScreenModel import com.github.diegoberaldin.raccoonforlemmy.feature.profile.logged.ProfileLoggedScreen import com.github.diegoberaldin.raccoonforlemmy.feature.profile.manageaccounts.ManageAccountsScreen diff --git a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/manageaccounts/ManageAccountsScreen.kt b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/manageaccounts/ManageAccountsScreen.kt index 03a26c9c3..4afaa1920 100644 --- a/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/manageaccounts/ManageAccountsScreen.kt +++ b/feature-profile/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/profile/manageaccounts/ManageAccountsScreen.kt @@ -42,8 +42,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycl import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomSheetHandle import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.feature.profile.di.getManageAccountsViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.profile.login.LoginBottomSheet import com.github.diegoberaldin.raccoonforlemmy.resources.MR diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt index 6ee33c65b..3683916b9 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreScreen.kt @@ -71,9 +71,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreTopBar.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreTopBar.kt index 05fdd47bd..b668b074c 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreTopBar.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreTopBar.kt @@ -19,8 +19,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.ColorFilter import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.getAdditionalLabel diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreViewModel.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreViewModel.kt index 26b8a83be..efe8aa922 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreViewModel.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/main/ExploreViewModel.kt @@ -6,7 +6,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.ApiConfigurationRepository import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommentModel diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsScreen.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsScreen.kt index 8bb19e8ca..55c3d5807 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsScreen.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsScreen.kt @@ -62,9 +62,9 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordi import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getFabNestedScrollConnection import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.selectcommunity.CommunityItemPlaceholder -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.feature.search.di.getManageSubscriptionsViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.search.multicommunity.detail.MultiCommunityScreen import com.github.diegoberaldin.raccoonforlemmy.feature.search.multicommunity.editor.MultiCommunityEditorScreen diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsViewModel.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsViewModel.kt index 59ae4f310..f53514d6e 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsViewModel.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/managesubscriptions/ManageSubscriptionsViewModel.kt @@ -8,7 +8,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.MultiCommu import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.AccountRepository import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.MultiCommunityRepository import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.CommunityModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.repository.CommunityRepository diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityScreen.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityScreen.kt index 0f55c0e23..bbe0764ea 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityScreen.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityScreen.kt @@ -79,8 +79,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationC import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.MultiCommunityModel import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.getAdditionalLabel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.toIcon diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityViewModel.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityViewModel.kt index 6c4e95271..7ed66fcf4 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityViewModel.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/detail/MultiCommunityViewModel.kt @@ -8,8 +8,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationC import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.MultiCommunityModel import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.HapticFeedback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.ShareHelper +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.HapticFeedback import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.PostModel import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType diff --git a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/editor/MultiCommunityEditorScreen.kt b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/editor/MultiCommunityEditorScreen.kt index b7ad50e8b..6ed0a05a8 100644 --- a/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/editor/MultiCommunityEditorScreen.kt +++ b/feature-search/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/search/multicommunity/editor/MultiCommunityEditorScreen.kt @@ -63,8 +63,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomI import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getDrawerCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCoordinator import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.MultiCommunityModel -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.feature.search.di.getMultiCommunityEditorViewModel import com.github.diegoberaldin.raccoonforlemmy.resources.MR import dev.icerock.moko.resources.compose.localized diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/di/SettingsModule.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/di/SettingsModule.kt index 327b2139b..ad1606ac6 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/di/SettingsModule.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/di/SettingsModule.kt @@ -19,6 +19,7 @@ val settingsTabModule = module { colorSchemeProvider = get(), notificationCenter = get(), crashReportConfiguration = get(), + crashReportSender = get(), ) } factory { diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialog.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialog.kt index 11168897c..7dee70ec8 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialog.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialog.kt @@ -42,8 +42,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.di.getNavigationCo import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback import com.github.diegoberaldin.raccoonforlemmy.feature.settings.di.getAboutDialogViewModel import com.github.diegoberaldin.raccoonforlemmy.feature.settings.dialog.AboutContants.CHANGELOG_URL import com.github.diegoberaldin.raccoonforlemmy.feature.settings.dialog.AboutContants.REPORT_EMAIL_ADDRESS diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialogViewModel.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialogViewModel.kt index ac202f40b..be528570e 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialogViewModel.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/dialog/AboutDialogViewModel.kt @@ -2,7 +2,7 @@ package com.github.diegoberaldin.raccoonforlemmy.feature.settings.dialog import com.github.diegoberaldin.raccoonforlemmy.core.architecture.DefaultMviModel import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel -import com.github.diegoberaldin.raccoonforlemmy.core.utils.AppInfo +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.AppInfo import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.repository.CommunityRepository import com.github.diegoberaldin.raccoonforlemmy.feature.settings.dialog.AboutContants.LEMMY_COMMUNITY_INSTANCE diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsScreen.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsScreen.kt index 75cc5ae9f..d5014be6f 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsScreen.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsScreen.kt @@ -65,10 +65,10 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.SortBottomS import com.github.diegoberaldin.raccoonforlemmy.core.commonui.modals.ThemeBottomSheet import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationCenterContractKeys import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.getNotificationCenter -import com.github.diegoberaldin.raccoonforlemmy.core.utils.getPrettyDuration -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallbackArgs +import com.github.diegoberaldin.raccoonforlemmy.core.utils.datetime.getPrettyDuration +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallbackArgs import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLanguageName import com.github.diegoberaldin.raccoonforlemmy.core.utils.toLocalDp import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsViewModel.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsViewModel.kt index f2df9d4e4..4355e39a5 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsViewModel.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/main/SettingsViewModel.kt @@ -16,7 +16,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.notifications.NotificationC import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.SettingsModel import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.AccountRepository import com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository.SettingsRepository -import com.github.diegoberaldin.raccoonforlemmy.core.utils.CrashReportConfiguration +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.CrashReportConfiguration +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.CrashReportSender import com.github.diegoberaldin.raccoonforlemmy.domain.identity.repository.IdentityRepository import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.ListingType import com.github.diegoberaldin.raccoonforlemmy.domain.lemmy.data.SortType @@ -40,6 +41,7 @@ class SettingsViewModel( private val accountRepository: AccountRepository, private val notificationCenter: NotificationCenter, private val crashReportConfiguration: CrashReportConfiguration, + private val crashReportSender: CrashReportSender, ) : SettingsMviModel, MviModel by mvi { @@ -399,6 +401,7 @@ class SettingsViewModel( private fun changeCrashReportEnabled(value: Boolean) { crashReportConfiguration.setEnabled(value) + crashReportSender.setEnabled(value) mvi.updateState { it.copy(crashReportEnabled = value) } } diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsColorRow.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsColorRow.kt index c3122f251..58379e09c 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsColorRow.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsColorRow.kt @@ -16,8 +16,8 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback @Composable internal fun SettingsColorRow( diff --git a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsRow.kt b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsRow.kt index 43146b63b..35707f6a9 100644 --- a/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsRow.kt +++ b/feature-settings/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/feature/settings/ui/components/SettingsRow.kt @@ -10,8 +10,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing -import com.github.diegoberaldin.raccoonforlemmy.core.utils.onClick -import com.github.diegoberaldin.raccoonforlemmy.core.utils.rememberCallback +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick +import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback @Composable internal fun SettingsRow( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a3575afbc..68587eea2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,6 +5,10 @@ android_gradle = "8.1.1" coil = "2.5.0" compose = "1.5.10" compose_compiler = "1.5.3" +crashkios = "0.8.5" +crashlytics = "18.4.1" +crashlytics_gradle = "2.9.9" +gms_gradle = "4.3.15" kamel = "0.8.2" koin = "3.5.0" kotlin = "1.9.20" @@ -36,6 +40,9 @@ kamel = { module = "media.kamel:kamel-image", version.ref = "kamel" } coil = { module = "io.coil-kt:coil", version.ref = "coil" } coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } +firebase_crashlytics = { module = "com.google.firebase:firebase-crashlytics", version.ref = "crashlytics" } +crashkios = { module = "co.touchlab.crashkios:crashlytics", version.ref = "crashkios" } + markdown = { module = "org.jetbrains:markdown", version.ref = "markdown" } markwon_core = { module = "io.noties.markwon:core", version.ref = "markwon" } markwon_strikethrough = { module = "io.noties.markwon:ext-strikethrough", version.ref = "markwon" } @@ -91,4 +98,6 @@ kotlinx_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", vers ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit.gradle" } moko_resources = { id = "dev.icerock.mobile.multiplatform-resources", version.ref = "moko.resources" } -sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" } \ No newline at end of file +sqldelight = { id = "app.cash.sqldelight", version.ref = "sqldelight" } +crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "crashlytics.gradle" } +gms = { id = "com.google.gms.google-services", version.ref = "gms.gradle" } diff --git a/shared/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt b/shared/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt index 0e9b8d081..ee7ad7bab 100644 --- a/shared/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt +++ b/shared/src/androidMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt @@ -6,10 +6,10 @@ import com.github.diegoberaldin.raccoonforlemmy.core.markdown.di.markwonModule import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.coreNotificationModule import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.corePersistenceModule import com.github.diegoberaldin.raccoonforlemmy.core.preferences.di.corePreferencesModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.crashReportModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.galleryHelperModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.hapticFeedbackModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shareHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.crashReportModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.galleryHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.shareHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.hapticFeedbackModule import com.github.diegoberaldin.raccoonforlemmy.domain.identity.di.coreIdentityModule import com.github.diegoberaldin.raccoonforlemmy.feature.home.di.homeTabModule import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.inboxTabModule diff --git a/shared/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/App.kt b/shared/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/App.kt index 635617c0c..05e04383d 100644 --- a/shared/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/App.kt +++ b/shared/src/commonMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/App.kt @@ -59,6 +59,8 @@ import com.github.diegoberaldin.raccoonforlemmy.core.commonui.saveditems.SavedIt import com.github.diegoberaldin.raccoonforlemmy.core.commonui.userdetail.UserDetailScreen import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getAccountRepository import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.getSettingsRepository +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.getCrashReportConfiguration +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.getCrashReportSender import com.github.diegoberaldin.raccoonforlemmy.domain.identity.di.getApiConfigurationRepository import com.github.diegoberaldin.raccoonforlemmy.feature.search.managesubscriptions.ManageSubscriptionsScreen import com.github.diegoberaldin.raccoonforlemmy.feature.search.multicommunity.detail.MultiCommunityScreen @@ -81,8 +83,10 @@ fun App() { val settings by settingsRepository.currentSettings.collectAsState() var hasBeenInitialized by remember { mutableStateOf(false) } val apiConfigurationRepository = remember { getApiConfigurationRepository() } + val crashReportSender = remember { getCrashReportSender() } + val crashReportConfiguration = remember { getCrashReportConfiguration() } - LaunchedEffect(accountRepository) { + LaunchedEffect(Unit) { val accountId = accountRepository.getActive()?.id val currentSettings = settingsRepository.getSettings(accountId) settingsRepository.changeCurrentSettings(currentSettings) @@ -91,6 +95,8 @@ fun App() { if (lastInstance != null) { apiConfigurationRepository.changeInstance(lastInstance) } + crashReportSender.initialize() + crashReportSender.setEnabled(crashReportConfiguration.isEnabled()) hasBeenInitialized = true } diff --git a/shared/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt b/shared/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt index b3a266072..fd9f7d027 100644 --- a/shared/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt +++ b/shared/src/iosMain/kotlin/com/github/diegoberaldin/raccoonforlemmy/di/DiHelper.kt @@ -5,11 +5,11 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.coreAppearanc import com.github.diegoberaldin.raccoonforlemmy.core.notifications.di.coreNotificationModule import com.github.diegoberaldin.raccoonforlemmy.core.persistence.di.corePersistenceModule import com.github.diegoberaldin.raccoonforlemmy.core.preferences.di.corePreferencesModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.AppInfo -import com.github.diegoberaldin.raccoonforlemmy.core.utils.crashReportModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.galleryHelperModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.hapticFeedbackModule -import com.github.diegoberaldin.raccoonforlemmy.core.utils.shareHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.AppInfo +import com.github.diegoberaldin.raccoonforlemmy.core.utils.debug.crashReportModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.gallery.galleryHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.share.shareHelperModule +import com.github.diegoberaldin.raccoonforlemmy.core.utils.vibrate.hapticFeedbackModule import com.github.diegoberaldin.raccoonforlemmy.domain.identity.di.coreIdentityModule import com.github.diegoberaldin.raccoonforlemmy.feature.home.di.homeTabModule import com.github.diegoberaldin.raccoonforlemmy.feature.inbox.di.inboxTabModule