diff --git a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/analytics/FirebaseAnalyticsLogger.kt b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/analytics/FirebaseAnalyticsLogger.kt index 476949f03..175d61ca3 100644 --- a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/analytics/FirebaseAnalyticsLogger.kt +++ b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/analytics/FirebaseAnalyticsLogger.kt @@ -1,9 +1,9 @@ package dev.johnoreilly.confetti.analytics +import com.google.firebase.Firebase import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.analytics import com.google.firebase.analytics.logEvent -import com.google.firebase.Firebase object FirebaseAnalyticsLogger : AnalyticsLogger { val analytics by lazy { Firebase.analytics } diff --git a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/di/KoinAndroid.kt b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/di/KoinAndroid.kt index faadeb84b..a642fe544 100644 --- a/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/di/KoinAndroid.kt +++ b/shared/src/androidMain/kotlin/dev/johnoreilly/confetti/di/KoinAndroid.kt @@ -14,13 +14,13 @@ import androidx.work.WorkManager import coil.ImageLoader import coil.decode.SvgDecoder import com.apollographql.apollo.ApolloClient -import com.apollographql.cache.normalized.FetchPolicy -import com.apollographql.cache.normalized.memory.MemoryCacheFactory -import com.apollographql.cache.normalized.api.NormalizedCacheFactory -import com.apollographql.cache.normalized.sql.SqlNormalizedCacheFactory import com.apollographql.apollo.network.http.ApolloClientAwarenessInterceptor import com.apollographql.apollo.network.http.DefaultHttpEngine import com.apollographql.apollo.network.ws.DefaultWebSocketEngine +import com.apollographql.cache.normalized.FetchPolicy +import com.apollographql.cache.normalized.api.NormalizedCacheFactory +import com.apollographql.cache.normalized.memory.MemoryCacheFactory +import com.apollographql.cache.normalized.sql.SqlNormalizedCacheFactory import com.google.android.horologist.annotations.ExperimentalHorologistApi import com.google.android.horologist.data.WearDataLayerRegistry import com.russhwolf.settings.ExperimentalSettingsApi diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ApolloClientCache.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ApolloClientCache.kt index 7e5bef771..49d9ce5b4 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ApolloClientCache.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ApolloClientCache.kt @@ -6,16 +6,15 @@ import com.apollographql.apollo.api.ApolloRequest import com.apollographql.apollo.api.ApolloResponse import com.apollographql.apollo.api.ExecutionContext import com.apollographql.apollo.api.Operation -import com.apollographql.cache.normalized.apolloStore -import com.apollographql.cache.normalized.normalizedCache import com.apollographql.apollo.exception.ApolloException import com.apollographql.apollo.exception.ApolloHttpException import com.apollographql.apollo.interceptor.ApolloInterceptor import com.apollographql.apollo.interceptor.ApolloInterceptorChain -import com.apollographql.apollo.network.NetworkMonitor import com.apollographql.cache.normalized.api.CacheControlCacheResolver import com.apollographql.cache.normalized.api.SchemaCoordinatesMaxAgeProvider +import com.apollographql.cache.normalized.apolloStore import com.apollographql.cache.normalized.maxStale +import com.apollographql.cache.normalized.normalizedCache import com.apollographql.cache.normalized.storeReceivedDate import dev.johnoreilly.confetti.cache.Cache import dev.johnoreilly.confetti.di.getNormalizedCacheFactory diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ConfettiRepository.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ConfettiRepository.kt index 31fa57e60..b4c8a8edd 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ConfettiRepository.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ConfettiRepository.kt @@ -4,11 +4,11 @@ import com.apollographql.apollo.ApolloCall import com.apollographql.apollo.api.ApolloResponse import com.apollographql.apollo.api.Mutation import com.apollographql.apollo.api.Operation +import com.apollographql.apollo.exception.DefaultApolloException import com.apollographql.cache.normalized.FetchPolicy import com.apollographql.cache.normalized.apolloStore import com.apollographql.cache.normalized.optimisticUpdates import com.apollographql.cache.normalized.watch -import com.apollographql.apollo.exception.DefaultApolloException import com.benasher44.uuid.uuid4 import dev.johnoreilly.confetti.type.buildBookmarks import kotlinx.coroutines.flow.Flow diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/AppComponent.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/AppComponent.kt index 219726e0e..9b9b63561 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/AppComponent.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/AppComponent.kt @@ -13,8 +13,6 @@ import dev.johnoreilly.confetti.auth.Authentication import dev.johnoreilly.confetti.auth.User import dev.johnoreilly.confetti.decompose.AppComponent.Child import dev.johnoreilly.confetti.work.NotificationSender -import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.map import kotlinx.coroutines.launch import kotlinx.serialization.Serializable import org.koin.core.component.KoinComponent diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/ConferenceComponent.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/ConferenceComponent.kt index f5afbfdfe..6a2013d89 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/ConferenceComponent.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/ConferenceComponent.kt @@ -10,8 +10,8 @@ import com.arkivanov.decompose.router.stack.pop import com.arkivanov.decompose.router.stack.push import com.arkivanov.decompose.value.Value import com.arkivanov.essenty.backhandler.BackHandlerOwner -import dev.johnoreilly.confetti.decompose.ConferenceComponent.Child import dev.johnoreilly.confetti.auth.User +import dev.johnoreilly.confetti.decompose.ConferenceComponent.Child import kotlinx.serialization.Serializable import org.koin.core.component.KoinComponent diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/HomeComponent.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/HomeComponent.kt index 392a48ac2..0b6bc95d6 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/HomeComponent.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/HomeComponent.kt @@ -7,8 +7,8 @@ import com.arkivanov.decompose.router.stack.bringToFront import com.arkivanov.decompose.router.stack.childStack import com.arkivanov.decompose.value.Value import dev.johnoreilly.confetti.BuildKonfig -import dev.johnoreilly.confetti.decompose.HomeComponent.Child import dev.johnoreilly.confetti.auth.User +import dev.johnoreilly.confetti.decompose.HomeComponent.Child import kotlinx.serialization.Serializable interface HomeComponent { diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/JobConferenceRefresh.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/JobConferenceRefresh.kt index 922042e9f..fbdcf639a 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/JobConferenceRefresh.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/decompose/JobConferenceRefresh.kt @@ -2,7 +2,6 @@ package dev.johnoreilly.confetti.decompose import dev.johnoreilly.confetti.ApolloClientCache import dev.johnoreilly.confetti.ConfettiRepository -import dev.johnoreilly.confetti.work.AvatarType import dev.johnoreilly.confetti.work.updateCache import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/App.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/App.kt index 77e3ef5d0..21c87e4e5 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/App.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/App.kt @@ -46,16 +46,16 @@ import confetti.shared.generated.resources.bookmarks import confetti.shared.generated.resources.schedule import confetti.shared.generated.resources.speakers import confetti.shared.generated.resources.venue -import dev.johnoreilly.confetti.bookmarks.BookmarksUI import dev.johnoreilly.confetti.decompose.AppComponent import dev.johnoreilly.confetti.decompose.ConferenceComponent import dev.johnoreilly.confetti.decompose.DefaultAppComponent import dev.johnoreilly.confetti.decompose.HomeComponent -import dev.johnoreilly.confetti.search.SearchUI -import dev.johnoreilly.confetti.settings.SettingsUI +import dev.johnoreilly.confetti.ui.bookmarks.BookmarksUI import dev.johnoreilly.confetti.ui.component.LoadingView +import dev.johnoreilly.confetti.ui.search.SearchUI import dev.johnoreilly.confetti.ui.sessions.SessionDetailsUI import dev.johnoreilly.confetti.ui.sessions.SessionsUI +import dev.johnoreilly.confetti.ui.settings.SettingsUI import dev.johnoreilly.confetti.ui.speakers.SpeakerDetailsUI import dev.johnoreilly.confetti.ui.speakers.SpeakersUI import dev.johnoreilly.confetti.ui.venue.VenueUI diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksUI.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksUI.kt index 78f132bbf..3bbbeabdb 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksUI.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksUI.kt @@ -1,9 +1,8 @@ -package dev.johnoreilly.confetti.bookmarks +package dev.johnoreilly.confetti.ui.bookmarks import androidx.compose.foundation.layout.RowScope import androidx.compose.material3.windowsizeclass.WindowSizeClass import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.lifecycle.compose.collectAsStateWithLifecycle import confetti.shared.generated.resources.Res diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksView.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksView.kt index ff4d72380..ac529cc50 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksView.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/bookmarks/BookmarksView.kt @@ -1,6 +1,6 @@ @file:OptIn(ExperimentalFoundationApi::class, ExperimentalFoundationApi::class) -package dev.johnoreilly.confetti.bookmarks +package dev.johnoreilly.confetti.ui.bookmarks import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Column @@ -25,10 +25,10 @@ import confetti.shared.generated.resources.bookmarks_past import confetti.shared.generated.resources.bookmarks_upcoming import confetti.shared.generated.resources.no_bookmarks import dev.johnoreilly.confetti.decompose.DateSessionsMap -import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.component.ConfettiHeader import dev.johnoreilly.confetti.ui.component.ConfettiTab import dev.johnoreilly.confetti.ui.component.EmptyView +import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.sessions.SessionItemView import kotlinx.coroutines.launch import org.jetbrains.compose.resources.stringResource diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchUI.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchUI.kt index 7d35c9d6b..451be7d53 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchUI.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchUI.kt @@ -1,9 +1,8 @@ -package dev.johnoreilly.confetti.search +package dev.johnoreilly.confetti.ui.search import androidx.compose.foundation.layout.RowScope import androidx.compose.material3.windowsizeclass.WindowSizeClass import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.lifecycle.compose.collectAsStateWithLifecycle import confetti.shared.generated.resources.Res diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchView.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchView.kt index 7e988ef0a..41910a234 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchView.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/search/SearchView.kt @@ -3,7 +3,7 @@ ExperimentalFoundationApi::class, ExperimentalLayoutApi::class ) -package dev.johnoreilly.confetti.search +package dev.johnoreilly.confetti.ui.search import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Column @@ -54,8 +54,8 @@ import confetti.shared.generated.resources.sessions import confetti.shared.generated.resources.speakers import dev.johnoreilly.confetti.fragment.SessionDetails import dev.johnoreilly.confetti.fragment.SpeakerDetails -import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.component.ConfettiHeader +import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.sessions.SessionItemView import dev.johnoreilly.confetti.ui.speakers.SpeakerItemView import org.jetbrains.compose.resources.stringResource diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/sessions/SessionItemView.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/sessions/SessionItemView.kt index 8713f7105..e6145c193 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/sessions/SessionItemView.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/sessions/SessionItemView.kt @@ -28,8 +28,8 @@ import dev.johnoreilly.confetti.isBreak import dev.johnoreilly.confetti.isLightning import dev.johnoreilly.confetti.isService import dev.johnoreilly.confetti.sessionSpeakers -import dev.johnoreilly.confetti.ui.bookmarks.Bookmark import dev.johnoreilly.confetti.ui.SignInDialog +import dev.johnoreilly.confetti.ui.bookmarks.Bookmark @Composable fun SessionItemView( diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsUI.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsUI.kt index 10625ee7a..d045166ea 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsUI.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsUI.kt @@ -1,6 +1,6 @@ @file:OptIn(ExperimentalMaterial3Api::class) -package dev.johnoreilly.confetti.settings +package dev.johnoreilly.confetti.ui.settings import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsViewModel.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsViewModel.kt deleted file mode 100644 index 62e1c7dc5..000000000 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/settings/SettingsViewModel.kt +++ /dev/null @@ -1,99 +0,0 @@ -//package dev.johnoreilly.confetti.settings -// -//import com.arkivanov.decompose.ComponentContext -//import dev.johnoreilly.confetti.AppSettings -//import dev.johnoreilly.confetti.auth.Authentication -//import dev.johnoreilly.confetti.decompose.DarkThemeConfig -//import dev.johnoreilly.confetti.decompose.DeveloperSettings -//import dev.johnoreilly.confetti.decompose.SettingsComponent -//import dev.johnoreilly.confetti.decompose.ThemeBrand -//import dev.johnoreilly.confetti.decompose.UserEditableSettings -//import dev.johnoreilly.confetti.decompose.coroutineScope -//import kotlinx.coroutines.flow.SharingStarted -//import kotlinx.coroutines.flow.StateFlow -//import kotlinx.coroutines.flow.combine -//import kotlinx.coroutines.flow.flatMapLatest -//import kotlinx.coroutines.flow.flowOf -//import kotlinx.coroutines.flow.map -//import kotlinx.coroutines.flow.stateIn -//import kotlinx.coroutines.launch -// -//class DefaultSettingsComponent( -// componentContext: ComponentContext, -// private val appSettings: AppSettings, -// private val authentication: Authentication, -//) : SettingsComponent, ComponentContext by componentContext { -// -// private val coroutineScope = coroutineScope() -// private val settings = appSettings.settings -// -// override val developerSettings: StateFlow = appSettings.developerModeFlow().flatMapLatest { -// if (!it) { -// flowOf(null) -// } else { -// authentication.currentUser.map { user -> -// DeveloperSettings(token = user?.token(false)) -// } -// } -// }.stateIn( -// scope = coroutineScope, -// started = SharingStarted.Eagerly, -// initialValue = null, -// ) -// -// override val userEditableSettings: StateFlow = -// combine( -// settings.getStringFlow(brandKey, ThemeBrand.DEFAULT.toString()), -// settings.getStringFlow(darkThemeConfigKey, DarkThemeConfig.FOLLOW_SYSTEM.toString()), -// settings.getBooleanFlow(useDynamicColorKey, false), -// appSettings.experimentalFeaturesEnabledFlow, -// ) { themeBrand, darkThemeConfig, useDynamicColor, useExperimentalFeatures -> -// UserEditableSettings( -// brand = ThemeBrand.valueOf(themeBrand), -// useExperimentalFeatures = useExperimentalFeatures, -// useDynamicColor = useDynamicColor, -// darkThemeConfig = DarkThemeConfig.valueOf(darkThemeConfig), -// ) -// }.stateIn( -// scope = coroutineScope, -// started = SharingStarted.Eagerly, -// initialValue = null, -// ) -// -// override fun updateThemeBrand(themeBrand: ThemeBrand) { -// coroutineScope.launch { -// settings.putString(brandKey, themeBrand.toString()) -// } -// } -// -// override fun updateDarkThemeConfig(darkThemeConfig: DarkThemeConfig) { -// coroutineScope.launch { -// settings.putString(darkThemeConfigKey, darkThemeConfig.toString()) -// } -// } -// -// override fun updateDynamicColorPreference(useDynamicColor: Boolean) { -// coroutineScope.launch { -// settings.putBoolean(useDynamicColorKey, useDynamicColor) -// } -// } -// -// override fun updateUseExperimentalFeatures(value: Boolean) { -// coroutineScope.launch { -// appSettings.setExperimentalFeaturesEnabled(value) -// } -// } -// -// -// override fun enableDeveloperMode() { -// coroutineScope.launch { -// appSettings.setDeveloperMode(true) -// } -// } -// -// companion object { -// const val brandKey = "brandKey" -// const val useDynamicColorKey = "useDynamicColorKey" -// const val darkThemeConfigKey = "darkThemeConfigKey" -// } -//} diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersDetailsView.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersDetailsView.kt index 7873eab4d..9478e6394 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersDetailsView.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersDetailsView.kt @@ -38,8 +38,8 @@ import coil3.compose.AsyncImage import confetti.shared.generated.resources.Res import confetti.shared.generated.resources.sessions import dev.johnoreilly.confetti.fragment.SpeakerDetails -import dev.johnoreilly.confetti.ui.sessions.SocialIcon import dev.johnoreilly.confetti.ui.component.ConfettiHeader +import dev.johnoreilly.confetti.ui.sessions.SocialIcon import org.jetbrains.compose.resources.stringResource @OptIn(ExperimentalMaterial3Api::class) diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersUI.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersUI.kt index 554c07be8..7bc6b9d2f 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersUI.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/speakers/SpeakersUI.kt @@ -2,9 +2,9 @@ package dev.johnoreilly.confetti.ui.speakers import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding -import androidx.compose.material3.Scaffold import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -17,8 +17,8 @@ import dev.johnoreilly.confetti.decompose.SpeakerDetailsComponent import dev.johnoreilly.confetti.decompose.SpeakerDetailsUiState import dev.johnoreilly.confetti.decompose.SpeakersComponent import dev.johnoreilly.confetti.decompose.SpeakersUiState -import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.component.ErrorView +import dev.johnoreilly.confetti.ui.component.LoadingView import org.jetbrains.compose.resources.stringResource @OptIn(ExperimentalMaterial3Api::class) diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/venue/VenueUI.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/venue/VenueUI.kt index 51c587c9e..691216e91 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/venue/VenueUI.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/ui/venue/VenueUI.kt @@ -2,17 +2,17 @@ package dev.johnoreilly.confetti.ui.venue import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding -import androidx.compose.material3.Scaffold import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import com.arkivanov.decompose.extensions.compose.subscribeAsState import dev.johnoreilly.confetti.decompose.VenueComponent -import dev.johnoreilly.confetti.ui.component.LoadingView import dev.johnoreilly.confetti.ui.component.ErrorView +import dev.johnoreilly.confetti.ui.component.LoadingView @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/utils/ClientQuery.kt b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/utils/ClientQuery.kt index fdb1c2657..b81504329 100644 --- a/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/utils/ClientQuery.kt +++ b/shared/src/commonMain/kotlin/dev/johnoreilly/confetti/utils/ClientQuery.kt @@ -3,10 +3,10 @@ package dev.johnoreilly.confetti.utils import com.apollographql.apollo.ApolloCall import com.apollographql.apollo.api.Error import com.apollographql.apollo.api.Query -import com.apollographql.cache.normalized.CacheInfo -import com.apollographql.cache.normalized.cacheInfo import com.apollographql.apollo.exception.ApolloException import com.apollographql.apollo.exception.CacheMissException +import com.apollographql.cache.normalized.CacheInfo +import com.apollographql.cache.normalized.cacheInfo import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filterNot import kotlinx.coroutines.flow.runningFold diff --git a/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/di/KoiniOS.kt b/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/di/KoiniOS.kt index e24aad95f..07dd4380b 100644 --- a/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/di/KoiniOS.kt +++ b/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/di/KoiniOS.kt @@ -3,11 +3,11 @@ package dev.johnoreilly.confetti.di import com.apollographql.apollo.ApolloClient +import com.apollographql.apollo.network.http.ApolloClientAwarenessInterceptor import com.apollographql.cache.normalized.FetchPolicy -import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.api.NormalizedCacheFactory +import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.sql.SqlNormalizedCacheFactory -import com.apollographql.apollo.network.http.ApolloClientAwarenessInterceptor import com.russhwolf.settings.ExperimentalSettingsApi import com.russhwolf.settings.NSUserDefaultsSettings import com.russhwolf.settings.ObservableSettings diff --git a/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/utils/IosDateService.kt b/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/utils/IosDateService.kt index 620875616..871277c3b 100644 --- a/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/utils/IosDateService.kt +++ b/shared/src/iosMain/kotlin/dev/johnoreilly/confetti/utils/IosDateService.kt @@ -4,7 +4,9 @@ import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone import kotlinx.datetime.toKotlinInstant import kotlinx.datetime.toLocalDateTime -import platform.Foundation.* +import platform.Foundation.NSDate +import platform.Foundation.NSDateFormatter +import platform.Foundation.now class IosDateService: DateService { private val nsDateFormatter = NSDateFormatter() diff --git a/shared/src/jvmMain/kotlin/Main.kt b/shared/src/jvmMain/kotlin/Main.kt index b80e59d61..1711f2094 100644 --- a/shared/src/jvmMain/kotlin/Main.kt +++ b/shared/src/jvmMain/kotlin/Main.kt @@ -4,8 +4,8 @@ import com.apollographql.apollo.ApolloClient import com.apollographql.apollo.api.ApolloResponse import com.apollographql.apollo.api.DefaultFakeResolver import com.apollographql.apollo.api.FakeResolverContext -import com.apollographql.cache.normalized.FetchPolicy import com.apollographql.apollo.testing.MapTestNetworkTransport +import com.apollographql.cache.normalized.FetchPolicy import com.benasher44.uuid.uuid4 import dev.johnoreilly.confetti.di.initKoin import dev.johnoreilly.confetti.schema.__Schema diff --git a/shared/src/jvmMain/kotlin/dev/johnoreilly/confetti/di/KoinJVM.kt b/shared/src/jvmMain/kotlin/dev/johnoreilly/confetti/di/KoinJVM.kt index 1b970a991..5725f64ae 100644 --- a/shared/src/jvmMain/kotlin/dev/johnoreilly/confetti/di/KoinJVM.kt +++ b/shared/src/jvmMain/kotlin/dev/johnoreilly/confetti/di/KoinJVM.kt @@ -3,8 +3,8 @@ package dev.johnoreilly.confetti.di import com.apollographql.cache.normalized.FetchPolicy -import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.api.NormalizedCacheFactory +import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.sql.SqlNormalizedCacheFactory import com.russhwolf.settings.ExperimentalSettingsApi import com.russhwolf.settings.ObservableSettings diff --git a/shared/src/jvmTest/kotlin/dev/johnoreilly/confetti/MainTest.kt b/shared/src/jvmTest/kotlin/dev/johnoreilly/confetti/MainTest.kt index f51c02ceb..482942ae0 100644 --- a/shared/src/jvmTest/kotlin/dev/johnoreilly/confetti/MainTest.kt +++ b/shared/src/jvmTest/kotlin/dev/johnoreilly/confetti/MainTest.kt @@ -1,6 +1,5 @@ package dev.johnoreilly.confetti -import com.apollographql.apollo.ApolloClient import com.apollographql.cache.normalized.FetchPolicy import dev.johnoreilly.confetti.di.initKoin import kotlinx.coroutines.runBlocking diff --git a/shared/src/mobileMain/kotlin/dev/johnoreilly/confetti/auth/Authentication.kt b/shared/src/mobileMain/kotlin/dev/johnoreilly/confetti/auth/Authentication.kt index 372648e94..da3bf0659 100644 --- a/shared/src/mobileMain/kotlin/dev/johnoreilly/confetti/auth/Authentication.kt +++ b/shared/src/mobileMain/kotlin/dev/johnoreilly/confetti/auth/Authentication.kt @@ -6,7 +6,6 @@ import dev.gitlive.firebase.auth.FirebaseUser import dev.gitlive.firebase.auth.GoogleAuthProvider import dev.gitlive.firebase.auth.auth import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map @@ -14,8 +13,6 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.runBlocking - - class DefaultUser( override val name: String, override val email: String?, diff --git a/shared/src/wasmJsMain/kotlin/dev/johnoreilly/confetti/di/KoinWasmJs.kt b/shared/src/wasmJsMain/kotlin/dev/johnoreilly/confetti/di/KoinWasmJs.kt index 552220d98..dd02324d0 100644 --- a/shared/src/wasmJsMain/kotlin/dev/johnoreilly/confetti/di/KoinWasmJs.kt +++ b/shared/src/wasmJsMain/kotlin/dev/johnoreilly/confetti/di/KoinWasmJs.kt @@ -4,8 +4,8 @@ package dev.johnoreilly.confetti.di import com.apollographql.apollo.annotations.ApolloExperimental import com.apollographql.cache.normalized.FetchPolicy -import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.apollographql.cache.normalized.api.NormalizedCacheFactory +import com.apollographql.cache.normalized.memory.MemoryCacheFactory import com.russhwolf.settings.ExperimentalSettingsApi import com.russhwolf.settings.StorageSettings import com.russhwolf.settings.coroutines.FlowSettings