diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index d83e4e5e..e5e4f631 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -120,14 +120,14 @@ kotlin { } android { - namespace = "at.torch.android" + namespace = "press.mantra.android" compileSdk = libs.versions.android.compileSdk.get().toInt() buildFeatures { buildConfig = true } defaultConfig { - applicationId = "at.torch.android" + applicationId = "press.mantra.android" minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 @@ -188,11 +188,11 @@ sqldelight { compose.desktop { application { - mainClass = "at.torch.desktop.MainKt" + mainClass = "press.mantra.desktop.MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) - packageName = "at.torch.desktop" + packageName = "press.mantra.desktop" packageVersion = "1.0.0" } } diff --git a/composeApp/src/androidMain/AndroidManifest.xml b/composeApp/src/androidMain/AndroidManifest.xml index f9f8de1e..ed7fb888 100644 --- a/composeApp/src/androidMain/AndroidManifest.xml +++ b/composeApp/src/androidMain/AndroidManifest.xml @@ -7,7 +7,7 @@ + android:name="press.mantra.android.MainActivity"> diff --git a/composeApp/src/androidMain/ic_launcher-playstore.png b/composeApp/src/androidMain/ic_launcher-playstore.png index c498b37e..532908c1 100644 Binary files a/composeApp/src/androidMain/ic_launcher-playstore.png and b/composeApp/src/androidMain/ic_launcher-playstore.png differ diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/BusinessManager.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/BusinessManager.kt index 0f1b9890..21a004c2 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/BusinessManager.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/BusinessManager.kt @@ -18,9 +18,9 @@ package fr.acinq.phoenix.android import android.content.Context import android.text.format.DateUtils -import at.torch.android.TorchApplication -import at.torch.compose.AppVersion -import at.torch.compose.ui.composable.widgets.wallet.WalletAvatars +import press.mantra.android.MantraApplication +import press.mantra.compose.AppVersion +import press.mantra.compose.ui.composable.widgets.wallet.WalletAvatars import fr.acinq.lightning.LiquidityEvents import fr.acinq.lightning.PaymentEvents import fr.acinq.lightning.utils.Connection @@ -67,7 +67,7 @@ object BusinessManager { // No memory leaks because this can only contain the application context. private lateinit var appContext: Context - private val application by lazy { appContext as TorchApplication } + private val application by lazy { appContext as MantraApplication } /** A map of (walletId -> active businesses) */ private val _businessFlow = MutableStateFlow>(emptyMap()) diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ChannelsWatcher.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ChannelsWatcher.kt index 4cfc3dae..4d005ac8 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ChannelsWatcher.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ChannelsWatcher.kt @@ -25,7 +25,7 @@ import androidx.work.Operation import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import androidx.work.WorkerParameters -import at.torch.android.BuildConfig +import press.mantra.android.BuildConfig import fr.acinq.lightning.channel.states.Closing import fr.acinq.lightning.utils.currentTimestampMillis import fr.acinq.phoenix.PhoenixGlobal diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ContactsPhotoCleaner.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ContactsPhotoCleaner.kt index 4c460027..75cba8ac 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ContactsPhotoCleaner.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/ContactsPhotoCleaner.kt @@ -24,7 +24,7 @@ import androidx.work.OneTimeWorkRequest import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import androidx.work.WorkerParameters -import at.torch.android.BuildConfig +import press.mantra.android.BuildConfig import fr.acinq.phoenix.PhoenixGlobal import fr.acinq.phoenix.android.BusinessManager import fr.acinq.phoenix.data.StartBusinessResult diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/DailyConnect.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/DailyConnect.kt index 145def33..8f4c68a2 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/DailyConnect.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/DailyConnect.kt @@ -25,7 +25,7 @@ import androidx.work.Operation import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import androidx.work.WorkerParameters -import at.torch.android.BuildConfig +import press.mantra.android.BuildConfig import fr.acinq.lightning.utils.Connection import fr.acinq.phoenix.PhoenixGlobal import fr.acinq.phoenix.android.BusinessManager diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/InflightPaymentsWatcher.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/InflightPaymentsWatcher.kt index 11191dd7..4d699378 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/InflightPaymentsWatcher.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/InflightPaymentsWatcher.kt @@ -26,8 +26,8 @@ import androidx.work.Operation import androidx.work.PeriodicWorkRequest import androidx.work.WorkManager import androidx.work.WorkerParameters -import at.torch.android.BuildConfig -import at.torch.android.TorchApplication +import press.mantra.android.BuildConfig +import press.mantra.android.MantraApplication import fr.acinq.lightning.channel.states.Syncing import fr.acinq.lightning.utils.Connection import fr.acinq.phoenix.PhoenixGlobal @@ -95,7 +95,7 @@ class InflightPaymentsWatcher(context: Context, workerParams: WorkerParameters) } val watchResult = userWallets.map { (walletId, wallet) -> - val walletMetadata = (applicationContext as TorchApplication).globalPrefs.getAvailableWalletsMeta.first().getByWalletIdOrDefault(walletId) + val walletMetadata = (applicationContext as MantraApplication).globalPrefs.getAvailableWalletsMeta.first().getByWalletIdOrDefault(walletId) watchWallet(walletId, walletMetadata, wallet.words) } diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/PaymentsForegroundService.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/PaymentsForegroundService.kt index 311d2e0f..d7bb2096 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/PaymentsForegroundService.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/android/services/PaymentsForegroundService.kt @@ -5,8 +5,8 @@ import android.content.Intent import android.os.Handler import android.os.Looper import androidx.core.app.NotificationManagerCompat -import at.torch.android.BuildConfig -import at.torch.android.TorchApplication +import press.mantra.android.BuildConfig +import press.mantra.android.MantraApplication import fr.acinq.lightning.utils.Connection import fr.acinq.phoenix.PhoenixBusiness import fr.acinq.phoenix.PhoenixGlobal @@ -100,7 +100,7 @@ class PaymentsForegroundService : Service() { is DecryptSeedResult.Failure -> { log.info("unable to read seed, ignoring background message (reason=$reason)") serviceScope.launch { - val walletMetadataMap = (application as TorchApplication).globalPrefs.getAvailableWalletsMeta.first() + val walletMetadataMap = (application as MantraApplication).globalPrefs.getAvailableWalletsMeta.first() val metadata = walletMetadataMap.getByWalletIdOrDefault(walletId) when (reason) { "IncomingPayment" -> SystemNotificationHelper.notifyPaymentMissedAppUnavailable(applicationContext, metadata) diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/ContactsPhotoHelper.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/ContactsPhotoHelper.kt index 27842d52..734d7de0 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/ContactsPhotoHelper.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/ContactsPhotoHelper.kt @@ -9,7 +9,7 @@ import android.net.Uri import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.asImageBitmap import androidx.core.content.FileProvider -import at.torch.android.BuildConfig +import press.mantra.android.BuildConfig import fr.acinq.lightning.utils.currentTimestampMillis import org.slf4j.LoggerFactory import java.io.File diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/SystemNotificationHelper.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/SystemNotificationHelper.kt index 9a2881d6..d0dfcf10 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/SystemNotificationHelper.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/SystemNotificationHelper.kt @@ -30,9 +30,9 @@ import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.TaskStackBuilder import androidx.core.net.toUri -import at.torch.android.BuildConfig -import at.torch.android.MainActivity -import at.torch.android.R +import press.mantra.android.BuildConfig +import press.mantra.android.MainActivity +import press.mantra.android.R import fr.acinq.bitcoin.Satoshi import fr.acinq.lightning.LiquidityEvents import fr.acinq.lightning.MilliSatoshi diff --git a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/extensions/AndroidContextExtensions.kt b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/extensions/AndroidContextExtensions.kt index a85e76a9..d21867fe 100644 --- a/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/extensions/AndroidContextExtensions.kt +++ b/composeApp/src/androidMain/kotlin/fr/acinq/phoenix/utils/extensions/AndroidContextExtensions.kt @@ -18,7 +18,7 @@ package fr.acinq.phoenix.utils.extensions import android.content.Context import android.content.ContextWrapper -import at.torch.android.MainActivity +import press.mantra.android.MainActivity fun Context.findActivitySafe(): MainActivity? { var context = this diff --git a/composeApp/src/androidMain/kotlin/at/torch/android/MainActivity.kt b/composeApp/src/androidMain/kotlin/press/mantra/android/MainActivity.kt similarity index 87% rename from composeApp/src/androidMain/kotlin/at/torch/android/MainActivity.kt rename to composeApp/src/androidMain/kotlin/press/mantra/android/MainActivity.kt index d9811fb2..43f8a75f 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/android/MainActivity.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/android/MainActivity.kt @@ -1,4 +1,4 @@ -package at.torch.android +package press.mantra.android import android.content.Intent import android.nfc.NfcAdapter @@ -7,9 +7,9 @@ import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.navigation.compose.rememberNavController -import at.torch.compose.PlatformContext -import at.torch.compose.TorchApp -import at.torch.compose.TorchGlobal +import press.mantra.compose.PlatformContext +import press.mantra.compose.MantraApp +import press.mantra.compose.MantraGlobal import fr.acinq.phoenix.PhoenixGlobal import fr.acinq.phoenix.android.services.HceService @@ -24,9 +24,9 @@ class MainActivity : ComponentActivity() { setContent { val navController = rememberNavController() - TorchApp( + MantraApp( navController = navController, - torchGlobal = TorchGlobal( + mantraGlobal = MantraGlobal( platformContext = PlatformContext( applicationContext = applicationContext ) diff --git a/composeApp/src/androidMain/kotlin/at/torch/android/TorchApplication.kt b/composeApp/src/androidMain/kotlin/press/mantra/android/MantraApplication.kt similarity index 92% rename from composeApp/src/androidMain/kotlin/at/torch/android/TorchApplication.kt rename to composeApp/src/androidMain/kotlin/press/mantra/android/MantraApplication.kt index fcece408..53eec311 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/android/TorchApplication.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/android/MantraApplication.kt @@ -1,4 +1,4 @@ -package at.torch.android +package press.mantra.android import android.app.Application import android.content.Context @@ -13,7 +13,7 @@ import fr.acinq.phoenix.utils.preferences.GlobalPrefs /** This datastore persists preferences across node ids. */ val Context.globalPrefs: DataStore by preferencesDataStore(name = "globalprefs") -class TorchApplication: Application() { +class MantraApplication: Application() { lateinit var globalPrefs: GlobalPrefs lateinit var phoenixGlobal: PhoenixGlobal diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/AppVersion.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/AppVersion.android.kt similarity index 73% rename from composeApp/src/androidMain/kotlin/at/torch/compose/AppVersion.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/AppVersion.android.kt index 1496b4d2..fefe5316 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/AppVersion.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/AppVersion.android.kt @@ -1,6 +1,6 @@ -package at.torch.compose +package press.mantra.compose -import at.torch.android.BuildConfig +import press.mantra.android.BuildConfig actual object AppVersion { actual val versionName: String diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/Platform.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/Platform.android.kt similarity index 61% rename from composeApp/src/androidMain/kotlin/at/torch/compose/Platform.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/Platform.android.kt index 4fed6e9a..c46496bc 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/Platform.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/Platform.android.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose import android.os.Build diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/PlatformContext.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/PlatformContext.android.kt similarity index 76% rename from composeApp/src/androidMain/kotlin/at/torch/compose/PlatformContext.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/PlatformContext.android.kt index 9147bf90..efc238a6 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/PlatformContext.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/PlatformContext.android.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose import android.content.Context diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.android.kt similarity index 82% rename from composeApp/src/androidMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.android.kt index 3ae9a6d3..8839e8ff 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.android.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.builder +package press.mantra.compose.database.builder import androidx.room3.Room import androidx.room3.RoomDatabase -import at.torch.compose.PlatformContext -import at.torch.compose.database.TorchDatabase +import press.mantra.compose.PlatformContext +import press.mantra.compose.database.TorchDatabase actual object PlatformDatabaseBuilder { actual fun getDatabaseBuilder(platformContext: PlatformContext): RoomDatabase.Builder { diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/extensions/Phoenix.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/extensions/Phoenix.android.kt similarity index 89% rename from composeApp/src/androidMain/kotlin/at/torch/compose/extensions/Phoenix.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/extensions/Phoenix.android.kt index fdb48c25..06c074e2 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/extensions/Phoenix.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/extensions/Phoenix.android.kt @@ -1,6 +1,6 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions -import at.torch.android.TorchApplication +import press.mantra.android.MantraApplication import fr.acinq.phoenix.PhoenixGlobal import fr.acinq.phoenix.android.BusinessManager import fr.acinq.phoenix.android.services.ChannelsWatcher @@ -23,11 +23,11 @@ actual fun schedulePlatformLogic(phoenixGlobal: PhoenixGlobal) { ContactsPhotoCleaner.schedule(phoenixGlobal.ctx.applicationContext) } actual fun getShowIntroFlow(phoenixGlobal: PhoenixGlobal): Flow { - val machankuraApplication = phoenixGlobal.ctx.applicationContext as TorchApplication + val machankuraApplication = phoenixGlobal.ctx.applicationContext as MantraApplication return machankuraApplication.globalPrefs.getShowIntro } actual fun getGlobalPrefs(phoenixGlobal: PhoenixGlobal): GlobalPrefs { - val machankuraApplication = phoenixGlobal.ctx.applicationContext as TorchApplication + val machankuraApplication = phoenixGlobal.ctx.applicationContext as MantraApplication return machankuraApplication.globalPrefs } \ No newline at end of file diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/HceMonitor.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/HceMonitor.kt similarity index 97% rename from composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/HceMonitor.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/HceMonitor.kt index 2ae94d32..e177e366 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/HceMonitor.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/HceMonitor.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import at.torch.compose.ui.composable.widgets.dialogs.ModalBottomSheet +import press.mantra.compose.ui.composable.widgets.dialogs.ModalBottomSheet import fr.acinq.phoenix.utils.extensions.findActivitySafe diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt similarity index 97% rename from composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt index 56bcf70c..39b8779c 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/NfcReaderMonitor.kt @@ -30,7 +30,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import at.torch.compose.ui.composable.widgets.dialogs.ModalBottomSheet +import press.mantra.compose.ui.composable.widgets.dialogs.ModalBottomSheet import fr.acinq.phoenix.utils.extensions.findActivitySafe @Composable diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/NfcState.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/NfcState.kt similarity index 100% rename from composeApp/src/androidMain/kotlin/at/torch/compose/ui/composable/widgets/nfc/NfcState.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/ui/composable/widgets/nfc/NfcState.kt diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/theme/Theme.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/theme/Theme.android.kt similarity index 95% rename from composeApp/src/androidMain/kotlin/at/torch/compose/ui/theme/Theme.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/ui/theme/Theme.android.kt index c6e5c5f9..0d8559cc 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/theme/Theme.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/theme/Theme.android.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.theme +package press.mantra.compose.ui.theme import android.os.Build import androidx.compose.material3.ColorScheme diff --git a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.android.kt b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.android.kt similarity index 96% rename from composeApp/src/androidMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.android.kt rename to composeApp/src/androidMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.android.kt index 211b7396..13c67861 100644 --- a/composeApp/src/androidMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.android.kt +++ b/composeApp/src/androidMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.android.kt @@ -1,7 +1,7 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model -import at.torch.android.TorchApplication -import at.torch.compose.AppVersion +import press.mantra.android.MantraApplication +import press.mantra.compose.AppVersion import co.touchlab.kermit.Logger import fr.acinq.bitcoin.MnemonicCode import fr.acinq.lightning.crypto.LocalKeyManager @@ -35,12 +35,12 @@ actual fun loadAndDecryptSeed(phoenixGlobal: PhoenixGlobal): DecryptSeedResult { } actual fun getAvailableWalletsMeta(phoenixGlobal: PhoenixGlobal): Flow> { - val machankuraApplication = phoenixGlobal.ctx.applicationContext as TorchApplication + val machankuraApplication = phoenixGlobal.ctx.applicationContext as MantraApplication return machankuraApplication.globalPrefs.getAvailableWalletsMeta } actual suspend fun saveAvailableWalletMeta(phoenixGlobal: PhoenixGlobal, metadata: UserWalletMetadata) { - val machankuraApplication = phoenixGlobal.ctx.applicationContext as TorchApplication + val machankuraApplication = phoenixGlobal.ctx.applicationContext as MantraApplication machankuraApplication.globalPrefs.saveAvailableWalletMeta(metadata) } @@ -51,7 +51,7 @@ actual suspend fun saveAvailableWalletMeta( avatar: String, isHidden: Boolean ) { - val machankuraApplication = phoenixGlobal.ctx.applicationContext as TorchApplication + val machankuraApplication = phoenixGlobal.ctx.applicationContext as MantraApplication machankuraApplication.globalPrefs.saveAvailableWalletMeta( walletId = walletId, name = name, diff --git a/composeApp/src/androidMain/res/drawable/ic_launcher_foreground.xml b/composeApp/src/androidMain/res/drawable/ic_launcher_foreground.xml index 9de5e78b..d6382cd9 100644 --- a/composeApp/src/androidMain/res/drawable/ic_launcher_foreground.xml +++ b/composeApp/src/androidMain/res/drawable/ic_launcher_foreground.xml @@ -1,20 +1,20 @@ - + android:viewportWidth="294" + android:viewportHeight="296"> + + android:pathData="m78,61.6c-3.6,0.7 -9.7,2.3 -13.5,3.5 -3.8,1.1 -11,4.1 -16,6.5 -5,2.4 -11.7,6.4 -15,8.9 -3.3,2.5 -6.3,5.1 -6.7,5.8 -0.3,0.7 4,8.6 9.7,17.7 8.8,14.1 10.6,16.5 12.6,16.4 1.3,-0.1 8.7,-3.1 16.4,-6.6 7.7,-3.6 17.2,-7.6 21,-8.9 5.2,-1.8 9.2,-2.4 15.5,-2.4 7.4,0 9.1,0.4 13,2.6 2.6,1.5 5.9,4.7 7.8,7.5 1.8,2.7 3.5,6.2 3.8,7.9 0.4,1.8 0,4.2 -0.9,6 -0.8,1.7 -3.6,4.6 -6.3,6.7 -2.7,2 -8.5,4.9 -12.9,6.4 -7.4,2.6 -9.2,2.8 -24.4,2.8 -12.3,0.1 -16.5,0.4 -16.8,1.3 -0.2,0.7 2.5,8.8 6,17.9 5.3,14.2 6.8,17.2 10,20 2,1.9 5.2,3.6 7,3.9 1.7,0.3 8.1,0.9 14.2,1.4 7.8,0.6 12.2,1.4 15,2.9 2.2,1.1 5.9,4 8.3,6.4 2.4,2.3 5.2,6.1 6.2,8.3 1.2,2.4 2,6.2 2,9.5 0,3 -0.8,8.4 -1.9,12 -1.3,4.3 -3.3,8.1 -5.9,11 -2.1,2.5 -6.5,5.9 -9.8,7.7 -3.2,1.8 -9.2,3.9 -13.1,4.7 -4,0.9 -12.1,1.6 -18,1.6 -7,0 -14.3,-0.7 -20.8,-2 -7,-1.5 -12,-3.2 -16.5,-5.8 -3.6,-2 -9,-6.1 -12,-9.2 -3,-3 -8.1,-9.3 -11.2,-14 -3,-4.7 -7.2,-11.8 -9.2,-15.8 -2,-3.9 -4.9,-10.5 -6.4,-14.5 -1.6,-3.9 -3.6,-9.3 -4.5,-12 -1.2,-3.2 -2.3,-4.7 -3.4,-4.7 -1.7,0 -1.7,1 -1.1,13.7 0.4,7.6 1.4,17.9 2.3,22.8 0.9,4.9 2.7,12.8 4.1,17.5 1.4,4.7 4,11.6 5.8,15.5 1.8,3.9 5.2,9.9 7.6,13.5 2.4,3.6 7.3,9.4 10.9,13 3.6,3.6 10,8.6 14.1,11.2 4.1,2.6 11.1,6.1 15.5,7.8 4.4,1.7 11.6,4 16,5.1 4.4,1.1 12.7,2.2 18.5,2.5 7.6,0.4 12.5,0.2 18,-1 4.1,-0.9 10.9,-3.2 15,-5.3 5.3,-2.6 9.5,-5.7 14.5,-10.7 4.4,-4.5 8.4,-9.7 10.7,-14.1 2,-3.9 4.6,-10.1 5.7,-14 1.1,-3.9 2.5,-10.8 3,-15.5 0.6,-5.3 0.6,-11.7 0.1,-17 -0.5,-4.7 -1.4,-10.4 -2,-12.8 -0.5,-2.3 -2,-6.8 -3.1,-9.9 -1.2,-3.2 -2.5,-6.2 -3,-6.8 -0.5,-0.6 -0.9,-1.3 -0.9,-1.7 0,-0.5 5.5,-0.8 12.3,-0.8 9.4,0 13.7,-0.4 19,-2 5.2,-1.6 7.8,-3 11.6,-6.7 2.6,-2.7 6.4,-7.5 8.3,-10.8 1.9,-3.3 7.3,-11.2 12,-17.5 4.7,-6.3 10.5,-13.3 12.9,-15.4 2.4,-2.2 6.2,-4.8 8.4,-5.8 2.4,-1 6.4,-1.8 10,-1.8 3.7,0 7.5,0.7 10,1.9 2.2,1 5.1,2.9 6.4,4.2 1.4,1.3 3.6,4.9 5,7.9 1.3,3 3,8.2 3.7,11.5 0.8,3.3 1.3,9.6 1.3,14 0.1,4.4 -0.6,11.2 -1.4,15 -0.9,3.8 -3,9.9 -4.8,13.5q-3.2,6.5 -10.7,14c-4.8,4.9 -10,8.9 -14.5,11.2 -3.9,2.1 -10.4,4.5 -14.5,5.3 -4.9,1.1 -9.3,1.4 -12.5,1 -2.7,-0.4 -7.5,-1.6 -10.5,-2.8 -3.5,-1.3 -7.2,-3.8 -10.2,-6.9 -2.7,-2.6 -5.9,-7.2 -7.3,-10 -1.4,-2.9 -2.5,-6.1 -2.5,-7 0,-1 -0.8,-1.8 -1.8,-1.8 -1.3,0 -2,1.4 -3,5.7 -0.7,3.2 -1.2,9.5 -1.2,14.1 0,4.5 0.7,11.5 1.6,15.5 0.9,3.9 2.9,9.7 4.4,12.7 1.6,3 4.3,7.4 6.1,9.7 1.9,2.3 5.7,6 8.4,8.1 2.7,2.1 8.1,4.9 12,6.2 5.9,2.1 8.7,2.5 18.5,2.4 9.2,0 12.8,-0.5 18,-2.3 3.6,-1.2 9.6,-4.3 13.4,-6.9 3.8,-2.6 9.1,-7.4 11.9,-10.7 2.7,-3.3 6.4,-8.7 8.3,-12 1.8,-3.3 4.6,-10.1 6.3,-15 1.7,-4.9 3.8,-13.3 4.7,-18.5 1.3,-7.4 1.5,-13.2 1.1,-26 -0.4,-12.9 -1.1,-18.6 -3,-26 -1.3,-5.2 -3.7,-12.7 -5.2,-16.5 -1.6,-3.8 -4.4,-9.7 -6.4,-13 -1.9,-3.3 -6,-8.6 -9,-11.9 -3.1,-3.2 -8.2,-7.3 -11.4,-9.2 -3.1,-1.9 -8.7,-4.4 -12.5,-5.6 -5.2,-1.8 -9,-2.3 -16.7,-2.2 -7.5,0 -11.6,0.5 -16.5,2.2 -3.6,1.2 -9.2,3.9 -12.5,6 -3.3,2.1 -8.5,6.5 -11.5,9.8 -3.7,4.1 -7.9,10.5 -13,20.3 -4.1,7.8 -9.5,16.9 -12,20.2 -2.5,3.4 -7.1,7.8 -10.5,10.1l-6,4c-13.3,-0.8 -17.7,-1.7 -21,-3.2 -2.8,-1.2 -5.6,-2.6 -6.3,-3.1 -0.8,-0.7 0.7,-2.6 5.5,-6.7 3.8,-3.2 9,-8.7 11.7,-12.3 2.7,-3.5 6.2,-9.1 7.7,-12.4 1.6,-3.3 3.4,-8.9 4,-12.5 0.5,-3.6 0.7,-8.7 0.4,-11.5 -0.4,-2.7 -1.3,-7.5 -2.2,-10.5 -0.8,-3 -3,-8.5 -4.9,-12.2 -1.9,-3.8 -5.3,-8.9 -7.7,-11.4 -2.3,-2.6 -6.3,-5.7 -9,-7 -2.6,-1.3 -7.5,-3.1 -11,-3.9 -3.8,-0.9 -10.8,-1.4 -18.2,-1.4 -6.6,0 -14.9,0.7 -18.5,1.5z" + android:fillColor="#010101"/> + android:pathData="m127.2,34.3c0.3,4.5 1.6,11.1 2.8,14.7 1.2,3.6 3.7,9 5.5,12 1.8,3 5.5,7.8 8.2,10.5 2.7,2.8 7.6,6.8 10.8,8.9 3.3,2.2 8.5,5 11.5,6.2 3,1.2 9.3,3 14,3.9 6.5,1.4 11.4,1.6 20.5,1.2q12,-0.5 21.5,-3c5.2,-1.3 12.9,-4 17,-5.9 4.1,-1.9 10,-5 13,-7 3,-2 7.9,-5.9 10.7,-8.7 4.2,-4 5.1,-5.5 4.4,-6.8 -0.5,-1 -3.5,-5.2 -6.8,-9.4 -3.2,-4.2 -7.7,-9.7 -10.1,-12.3 -2.3,-2.5 -4.9,-4.6 -5.7,-4.6 -0.8,0 -1.7,0.3 -1.9,0.8 -0.2,0.4 -4.1,3.2 -8.7,6.4 -4.6,3.1 -12,7.4 -16.4,9.6 -4.4,2.2 -10.9,5 -14.5,6.2 -3.6,1.2 -10.5,2.4 -15.5,2.7 -6.7,0.4 -10.7,0.1 -15.5,-1.1 -3.6,-1 -9.4,-3.2 -12.8,-4.9 -3.5,-1.8 -9.6,-6.2 -13.5,-9.8 -4,-3.7 -9,-9.2 -11.2,-12.2 -2.4,-3.4 -4.7,-5.7 -5.9,-5.7 -1.8,0 -1.9,0.6 -1.4,8.3z" + android:fillColor="#010101"/> + android:pathData="m169.4,14.5c-7.1,7.5 -13,14.5 -13.2,15.6 -0.1,1.2 2.5,4.7 7.5,9.7 4.3,4.4 10.3,9.5 13.3,11.5 3,2.1 6.1,3.7 6.7,3.7 0.7,0 6.8,-5.3 13.4,-11.8 6.7,-6.4 12.8,-12.9 13.5,-14.4 1.4,-2.8 1.4,-2.8 -12.2,-15 -7.5,-6.8 -14.1,-12.4 -14.8,-12.6 -0.7,-0.2 -7.1,5.8 -14.2,13.3z" + android:fillColor="#010101"/> diff --git a/composeApp/src/androidMain/res/drawable/ic_launcher_monochrome.xml b/composeApp/src/androidMain/res/drawable/ic_launcher_monochrome.xml index 9de5e78b..d6382cd9 100644 --- a/composeApp/src/androidMain/res/drawable/ic_launcher_monochrome.xml +++ b/composeApp/src/androidMain/res/drawable/ic_launcher_monochrome.xml @@ -1,20 +1,20 @@ - + android:viewportWidth="294" + android:viewportHeight="296"> + + android:pathData="m78,61.6c-3.6,0.7 -9.7,2.3 -13.5,3.5 -3.8,1.1 -11,4.1 -16,6.5 -5,2.4 -11.7,6.4 -15,8.9 -3.3,2.5 -6.3,5.1 -6.7,5.8 -0.3,0.7 4,8.6 9.7,17.7 8.8,14.1 10.6,16.5 12.6,16.4 1.3,-0.1 8.7,-3.1 16.4,-6.6 7.7,-3.6 17.2,-7.6 21,-8.9 5.2,-1.8 9.2,-2.4 15.5,-2.4 7.4,0 9.1,0.4 13,2.6 2.6,1.5 5.9,4.7 7.8,7.5 1.8,2.7 3.5,6.2 3.8,7.9 0.4,1.8 0,4.2 -0.9,6 -0.8,1.7 -3.6,4.6 -6.3,6.7 -2.7,2 -8.5,4.9 -12.9,6.4 -7.4,2.6 -9.2,2.8 -24.4,2.8 -12.3,0.1 -16.5,0.4 -16.8,1.3 -0.2,0.7 2.5,8.8 6,17.9 5.3,14.2 6.8,17.2 10,20 2,1.9 5.2,3.6 7,3.9 1.7,0.3 8.1,0.9 14.2,1.4 7.8,0.6 12.2,1.4 15,2.9 2.2,1.1 5.9,4 8.3,6.4 2.4,2.3 5.2,6.1 6.2,8.3 1.2,2.4 2,6.2 2,9.5 0,3 -0.8,8.4 -1.9,12 -1.3,4.3 -3.3,8.1 -5.9,11 -2.1,2.5 -6.5,5.9 -9.8,7.7 -3.2,1.8 -9.2,3.9 -13.1,4.7 -4,0.9 -12.1,1.6 -18,1.6 -7,0 -14.3,-0.7 -20.8,-2 -7,-1.5 -12,-3.2 -16.5,-5.8 -3.6,-2 -9,-6.1 -12,-9.2 -3,-3 -8.1,-9.3 -11.2,-14 -3,-4.7 -7.2,-11.8 -9.2,-15.8 -2,-3.9 -4.9,-10.5 -6.4,-14.5 -1.6,-3.9 -3.6,-9.3 -4.5,-12 -1.2,-3.2 -2.3,-4.7 -3.4,-4.7 -1.7,0 -1.7,1 -1.1,13.7 0.4,7.6 1.4,17.9 2.3,22.8 0.9,4.9 2.7,12.8 4.1,17.5 1.4,4.7 4,11.6 5.8,15.5 1.8,3.9 5.2,9.9 7.6,13.5 2.4,3.6 7.3,9.4 10.9,13 3.6,3.6 10,8.6 14.1,11.2 4.1,2.6 11.1,6.1 15.5,7.8 4.4,1.7 11.6,4 16,5.1 4.4,1.1 12.7,2.2 18.5,2.5 7.6,0.4 12.5,0.2 18,-1 4.1,-0.9 10.9,-3.2 15,-5.3 5.3,-2.6 9.5,-5.7 14.5,-10.7 4.4,-4.5 8.4,-9.7 10.7,-14.1 2,-3.9 4.6,-10.1 5.7,-14 1.1,-3.9 2.5,-10.8 3,-15.5 0.6,-5.3 0.6,-11.7 0.1,-17 -0.5,-4.7 -1.4,-10.4 -2,-12.8 -0.5,-2.3 -2,-6.8 -3.1,-9.9 -1.2,-3.2 -2.5,-6.2 -3,-6.8 -0.5,-0.6 -0.9,-1.3 -0.9,-1.7 0,-0.5 5.5,-0.8 12.3,-0.8 9.4,0 13.7,-0.4 19,-2 5.2,-1.6 7.8,-3 11.6,-6.7 2.6,-2.7 6.4,-7.5 8.3,-10.8 1.9,-3.3 7.3,-11.2 12,-17.5 4.7,-6.3 10.5,-13.3 12.9,-15.4 2.4,-2.2 6.2,-4.8 8.4,-5.8 2.4,-1 6.4,-1.8 10,-1.8 3.7,0 7.5,0.7 10,1.9 2.2,1 5.1,2.9 6.4,4.2 1.4,1.3 3.6,4.9 5,7.9 1.3,3 3,8.2 3.7,11.5 0.8,3.3 1.3,9.6 1.3,14 0.1,4.4 -0.6,11.2 -1.4,15 -0.9,3.8 -3,9.9 -4.8,13.5q-3.2,6.5 -10.7,14c-4.8,4.9 -10,8.9 -14.5,11.2 -3.9,2.1 -10.4,4.5 -14.5,5.3 -4.9,1.1 -9.3,1.4 -12.5,1 -2.7,-0.4 -7.5,-1.6 -10.5,-2.8 -3.5,-1.3 -7.2,-3.8 -10.2,-6.9 -2.7,-2.6 -5.9,-7.2 -7.3,-10 -1.4,-2.9 -2.5,-6.1 -2.5,-7 0,-1 -0.8,-1.8 -1.8,-1.8 -1.3,0 -2,1.4 -3,5.7 -0.7,3.2 -1.2,9.5 -1.2,14.1 0,4.5 0.7,11.5 1.6,15.5 0.9,3.9 2.9,9.7 4.4,12.7 1.6,3 4.3,7.4 6.1,9.7 1.9,2.3 5.7,6 8.4,8.1 2.7,2.1 8.1,4.9 12,6.2 5.9,2.1 8.7,2.5 18.5,2.4 9.2,0 12.8,-0.5 18,-2.3 3.6,-1.2 9.6,-4.3 13.4,-6.9 3.8,-2.6 9.1,-7.4 11.9,-10.7 2.7,-3.3 6.4,-8.7 8.3,-12 1.8,-3.3 4.6,-10.1 6.3,-15 1.7,-4.9 3.8,-13.3 4.7,-18.5 1.3,-7.4 1.5,-13.2 1.1,-26 -0.4,-12.9 -1.1,-18.6 -3,-26 -1.3,-5.2 -3.7,-12.7 -5.2,-16.5 -1.6,-3.8 -4.4,-9.7 -6.4,-13 -1.9,-3.3 -6,-8.6 -9,-11.9 -3.1,-3.2 -8.2,-7.3 -11.4,-9.2 -3.1,-1.9 -8.7,-4.4 -12.5,-5.6 -5.2,-1.8 -9,-2.3 -16.7,-2.2 -7.5,0 -11.6,0.5 -16.5,2.2 -3.6,1.2 -9.2,3.9 -12.5,6 -3.3,2.1 -8.5,6.5 -11.5,9.8 -3.7,4.1 -7.9,10.5 -13,20.3 -4.1,7.8 -9.5,16.9 -12,20.2 -2.5,3.4 -7.1,7.8 -10.5,10.1l-6,4c-13.3,-0.8 -17.7,-1.7 -21,-3.2 -2.8,-1.2 -5.6,-2.6 -6.3,-3.1 -0.8,-0.7 0.7,-2.6 5.5,-6.7 3.8,-3.2 9,-8.7 11.7,-12.3 2.7,-3.5 6.2,-9.1 7.7,-12.4 1.6,-3.3 3.4,-8.9 4,-12.5 0.5,-3.6 0.7,-8.7 0.4,-11.5 -0.4,-2.7 -1.3,-7.5 -2.2,-10.5 -0.8,-3 -3,-8.5 -4.9,-12.2 -1.9,-3.8 -5.3,-8.9 -7.7,-11.4 -2.3,-2.6 -6.3,-5.7 -9,-7 -2.6,-1.3 -7.5,-3.1 -11,-3.9 -3.8,-0.9 -10.8,-1.4 -18.2,-1.4 -6.6,0 -14.9,0.7 -18.5,1.5z" + android:fillColor="#010101"/> + android:pathData="m127.2,34.3c0.3,4.5 1.6,11.1 2.8,14.7 1.2,3.6 3.7,9 5.5,12 1.8,3 5.5,7.8 8.2,10.5 2.7,2.8 7.6,6.8 10.8,8.9 3.3,2.2 8.5,5 11.5,6.2 3,1.2 9.3,3 14,3.9 6.5,1.4 11.4,1.6 20.5,1.2q12,-0.5 21.5,-3c5.2,-1.3 12.9,-4 17,-5.9 4.1,-1.9 10,-5 13,-7 3,-2 7.9,-5.9 10.7,-8.7 4.2,-4 5.1,-5.5 4.4,-6.8 -0.5,-1 -3.5,-5.2 -6.8,-9.4 -3.2,-4.2 -7.7,-9.7 -10.1,-12.3 -2.3,-2.5 -4.9,-4.6 -5.7,-4.6 -0.8,0 -1.7,0.3 -1.9,0.8 -0.2,0.4 -4.1,3.2 -8.7,6.4 -4.6,3.1 -12,7.4 -16.4,9.6 -4.4,2.2 -10.9,5 -14.5,6.2 -3.6,1.2 -10.5,2.4 -15.5,2.7 -6.7,0.4 -10.7,0.1 -15.5,-1.1 -3.6,-1 -9.4,-3.2 -12.8,-4.9 -3.5,-1.8 -9.6,-6.2 -13.5,-9.8 -4,-3.7 -9,-9.2 -11.2,-12.2 -2.4,-3.4 -4.7,-5.7 -5.9,-5.7 -1.8,0 -1.9,0.6 -1.4,8.3z" + android:fillColor="#010101"/> + android:pathData="m169.4,14.5c-7.1,7.5 -13,14.5 -13.2,15.6 -0.1,1.2 2.5,4.7 7.5,9.7 4.3,4.4 10.3,9.5 13.3,11.5 3,2.1 6.1,3.7 6.7,3.7 0.7,0 6.8,-5.3 13.4,-11.8 6.7,-6.4 12.8,-12.9 13.5,-14.4 1.4,-2.8 1.4,-2.8 -12.2,-15 -7.5,-6.8 -14.1,-12.4 -14.8,-12.6 -0.7,-0.2 -7.1,5.8 -14.2,13.3z" + android:fillColor="#010101"/> diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp index ae650353..2d1453e1 100644 Binary files a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp and b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp index a36df6d8..e4c7550e 100644 Binary files a/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp and b/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp index 46869187..63527384 100644 Binary files a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp and b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp index 84ca4ef6..ce6eb166 100644 Binary files a/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp and b/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp index f080cea4..6fddd4f1 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp and b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp index ec0449c2..0690f466 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp and b/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp index 0d36ce16..7f9231ae 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp and b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp index 1649a527..6023f601 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp and b/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp index 14607058..659f78f2 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp and b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp index de5984c7..5775fb1a 100644 Binary files a/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp and b/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/composeApp/src/androidMain/res/values/strings.xml b/composeApp/src/androidMain/res/values/strings.xml index f40fa047..1c8d68cd 100644 --- a/composeApp/src/androidMain/res/values/strings.xml +++ b/composeApp/src/androidMain/res/values/strings.xml @@ -1,5 +1,5 @@ a - Torch + Mantra Channels watcher Shows up when you need to start Phoenix. diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/Platform.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/Platform.kt deleted file mode 100644 index 5e24df7b..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/Platform.kt +++ /dev/null @@ -1,7 +0,0 @@ -package at.torch.compose - -interface Platform { - val name: String -} - -expect fun getPlatform(): Platform \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/PlatformContext.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/PlatformContext.kt deleted file mode 100644 index 6e1e2fed..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/PlatformContext.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose - -expect class PlatformContext \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/TorchGlobal.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/TorchGlobal.kt deleted file mode 100644 index 15ef4008..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/TorchGlobal.kt +++ /dev/null @@ -1,5 +0,0 @@ -package at.torch.compose - -class TorchGlobal( - val platformContext: PlatformContext -) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabase.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabase.kt deleted file mode 100644 index 87d8c96b..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabase.kt +++ /dev/null @@ -1,209 +0,0 @@ -package at.torch.compose.database - -import androidx.room3.Database -import androidx.room3.RoomDatabase -import androidx.room3.TypeConverters -import androidx.room3.immediateTransaction -import androidx.room3.useWriterConnection -import at.torch.compose.database.converters.TorchConverters -import at.torch.compose.database.dao.BroadcastNostrEventReceiptDao -import at.torch.compose.database.dao.BroadcastNostrEventRequestDao -import at.torch.compose.database.dao.ChatMessageBroadcastNostrEventReceiptRelationDao -import at.torch.compose.database.dao.ChatMessageBroadcastNostrEventRequestRelationDao -import at.torch.compose.database.dao.ChatMessageDao -import at.torch.compose.database.dao.ChatMessageNostrEventRelationDao -import at.torch.compose.database.dao.ChatRoomDao -import at.torch.compose.database.dao.ConnectionDao -import at.torch.compose.database.dao.GiftWrapMessageDao -import at.torch.compose.database.dao.GiftWrapPayloadDao -import at.torch.compose.database.dao.GiftWrapSealDao -import at.torch.compose.database.dao.InReplyToRelationDao -import at.torch.compose.database.dao.MarmotCommitResultDao -import at.torch.compose.database.dao.MarmotOutboundDao -import at.torch.compose.database.dao.MarmotGroupEventDao -import at.torch.compose.database.dao.MarmotInnerEventDao -import at.torch.compose.database.dao.MarmotKeyPackageBundleDao -import at.torch.compose.database.dao.MarmotKeyPackageDao -import at.torch.compose.database.dao.MarmotRetainedEpochSecretDao -import at.torch.compose.database.dao.MentionDao -import at.torch.compose.database.dao.NegentropySynchronizeRequestDao -import at.torch.compose.database.dao.NegentropySynchronizeResultDao -import at.torch.compose.database.dao.NostrDao -import at.torch.compose.database.dao.NostrEventDao -import at.torch.compose.database.dao.NostrEventRelayDao -import at.torch.compose.database.dao.NostrNip17Dao -import at.torch.compose.database.dao.ParticipantDao -import at.torch.compose.database.dao.PostDao -import at.torch.compose.database.dao.ProfileDao -import at.torch.compose.database.dao.QuotedRelationDao -import at.torch.compose.database.dao.ReactionDao -import at.torch.compose.database.dao.RecentSearchDao -import at.torch.compose.database.dao.RelayDao -import at.torch.compose.database.dao.RepostedRelationDao -import at.torch.compose.database.dao.SynchronizeNostrEventRequestDao -import at.torch.compose.database.dao.SynchronizeNostrEventResultDao -import at.torch.compose.database.dao.UnsignedNostrEventDao -import at.torch.compose.database.dao.ZapDao -import at.torch.compose.database.model.BroadcastNostrEventReceipt -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.ChatMessage -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation -import at.torch.compose.database.model.ChatMessageNostrEventRelation -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.Connection -import at.torch.compose.database.model.GiftWrapMessage -import at.torch.compose.database.model.GiftWrapPayload -import at.torch.compose.database.model.GiftWrapSeal -import at.torch.compose.database.model.InReplyToRelation -import at.torch.compose.database.model.MarmotCommitResult -import at.torch.compose.database.model.MarmotGroupEvent -import at.torch.compose.database.model.MarmotInnerEvent -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.MarmotKeyPackageBundle -import at.torch.compose.database.model.MarmotRetainedEpochSecret -import at.torch.compose.database.model.Mention -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.NegentropySynchronizeResult -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.NostrEventRelay -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.Post -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.QuotedRelation -import at.torch.compose.database.model.Reaction -import at.torch.compose.database.model.RecentSearch -import at.torch.compose.database.model.Relay -import at.torch.compose.database.model.RepostedRelation -import at.torch.compose.database.model.SynchronizeNostrEventRequest -import at.torch.compose.database.model.SynchronizeNostrEventResult -import at.torch.compose.database.model.UnsignedNostrEvent -import at.torch.compose.database.model.Zap -import kotlin.time.Instant - -val GENESIS_AT = Instant.fromEpochMilliseconds(1231006505000L) - -@Database( - entities = [ - BroadcastNostrEventReceipt::class, - BroadcastNostrEventRequest::class, - Connection::class, - ChatMessage::class, - ChatMessageBroadcastNostrEventRequestRelation::class, - ChatMessageBroadcastNostrEventReceiptRelation::class, - ChatMessageNostrEventRelation::class, - ChatRoom::class, - GiftWrapMessage::class, - GiftWrapSeal::class, - GiftWrapPayload::class, - InReplyToRelation::class, - MarmotCommitResult::class, - MarmotGroupEvent::class, - MarmotInnerEvent::class, - MarmotKeyPackage::class, - MarmotKeyPackageBundle::class, - MarmotRetainedEpochSecret::class, - Mention::class, - NegentropySynchronizeRequest::class, - NegentropySynchronizeResult::class, - NostrEvent::class, - NostrEventRelay::class, - Participant::class, - Post::class, - Profile::class, - QuotedRelation::class, - Reaction::class, - RecentSearch::class, - Relay::class, - RepostedRelation::class, - SynchronizeNostrEventRequest::class, - SynchronizeNostrEventResult::class, - UnsignedNostrEvent::class, - Zap::class - ], - version = 1 -) -@TypeConverters(TorchConverters::class) -abstract class TorchDatabase: RoomDatabase() { - abstract fun broadcastNostrEventReceiptDao(): BroadcastNostrEventReceiptDao - abstract fun broadcastNostrEventRequestDao(): BroadcastNostrEventRequestDao - - abstract fun chatMessageDao(): ChatMessageDao - - abstract fun chatMessageBroadcastNostrEventRequestRelationDao(): ChatMessageBroadcastNostrEventRequestRelationDao - - abstract fun chatMessageBroadcastNostrEventReceiptRelationDao(): ChatMessageBroadcastNostrEventReceiptRelationDao - - abstract fun chatMessageNostrEventRelationDao(): ChatMessageNostrEventRelationDao - - abstract fun chatRoomDao(): ChatRoomDao - - abstract fun connectionDao(): ConnectionDao - - abstract fun giftWrapMessageDao(): GiftWrapMessageDao - - abstract fun giftWrapSealDao(): GiftWrapSealDao - - abstract fun giftWrapPayloadDao(): GiftWrapPayloadDao - - abstract fun inReplyToRelationDao(): InReplyToRelationDao - - abstract fun marmotCommitResultDao(): MarmotCommitResultDao - - abstract fun marmotGroupEventDao(): MarmotGroupEventDao - - abstract fun marmotInnerEventDao(): MarmotInnerEventDao - - abstract fun marmotKeyPackageBundleDao(): MarmotKeyPackageBundleDao - - abstract fun marmotKeyPackageDao(): MarmotKeyPackageDao - - abstract fun marmotOutboundDao(): MarmotOutboundDao - - abstract fun marmotRetainedEpochSecretDao(): MarmotRetainedEpochSecretDao - - abstract fun mentionDao(): MentionDao - - abstract fun negentropySynchronizeRequestDao(): NegentropySynchronizeRequestDao - - abstract fun negentropySynchronizeResultDao(): NegentropySynchronizeResultDao - - abstract fun nostrDao(): NostrDao - - abstract fun nostrEventDao(): NostrEventDao - - abstract fun nostrEventRelayDao(): NostrEventRelayDao - - abstract fun nostrNip17Dao(): NostrNip17Dao - - abstract fun participantDao(): ParticipantDao - - abstract fun postDao(): PostDao - - abstract fun profileDao(): ProfileDao - - abstract fun quotedRelationDao(): QuotedRelationDao - - abstract fun reactionDao(): ReactionDao - - abstract fun recentSearchDao(): RecentSearchDao - - abstract fun relayDao(): RelayDao - - abstract fun repostedRelationDao(): RepostedRelationDao - - abstract fun synchronizeNostrEventRequestDao(): SynchronizeNostrEventRequestDao - - abstract fun synchronizeNostrEventResultDao(): SynchronizeNostrEventResultDao - - abstract fun unsignedNostrEventDao(): UnsignedNostrEventDao - abstract fun zapDao(): ZapDao - - suspend fun wipeData() { - useWriterConnection { transactor -> - transactor.immediateTransaction { - // TODO: Actually delete the data... - } - } - } -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.kt deleted file mode 100644 index 40450e3e..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.kt +++ /dev/null @@ -1,21 +0,0 @@ -package at.torch.compose.database.builder - -import androidx.room3.RoomDatabase -import androidx.sqlite.driver.bundled.BundledSQLiteDriver -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.IO - -expect object PlatformDatabaseBuilder { - fun getDatabaseBuilder(platformContext: at.torch.compose.PlatformContext): RoomDatabase.Builder - - fun getInMemoryDatabaseBuilder(platform: at.torch.compose.PlatformContext): RoomDatabase.Builder -} - -fun getRoomDatabase( - builder: RoomDatabase.Builder -): at.torch.compose.database.TorchDatabase { - return builder - .setDriver(BundledSQLiteDriver()) - .setQueryCoroutineContext(Dispatchers.IO) - .build() -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventReceiptDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventReceiptDao.kt deleted file mode 100644 index b3f20428..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventReceiptDao.kt +++ /dev/null @@ -1,21 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert -import kotlinx.coroutines.flow.Flow - -@Dao -interface BroadcastNostrEventReceiptDao { - @Query("SELECT * FROM BroadcastNostrEventReceipt") - fun getAllBroadcastNostrEventReceipts(): List - - @Query("SELECT * FROM BroadcastNostrEventReceipt WHERE id = :id") - fun getBroadcastNostrEventReceiptById(id: Long): Flow - - @Query("SELECT * FROM BroadcastNostrEventReceipt WHERE nostrEventId = :nostrEventId") - fun getBroadcastNostrEventReceiptByNostrEventId(nostrEventId: String): Flow - - @Upsert - suspend fun upsert(broadcastNostrEventReceipt: at.torch.compose.database.model.BroadcastNostrEventReceipt): Long -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageNostrEventRelationDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageNostrEventRelationDao.kt deleted file mode 100644 index 7ec91295..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageNostrEventRelationDao.kt +++ /dev/null @@ -1,11 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Upsert - -@Dao -interface ChatMessageNostrEventRelationDao { - - @Upsert - suspend fun upsert(chatMessageNostrEventRelation: at.torch.compose.database.model.ChatMessageNostrEventRelation) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapMessageDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapMessageDao.kt deleted file mode 100644 index b9055781..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapMessageDao.kt +++ /dev/null @@ -1,15 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert - -@Dao -interface GiftWrapMessageDao { - @Query("SELECT * FROM GiftWrapMessage") - fun getAllGiftWrapMessages(): List - - @Upsert - suspend fun upsert(giftWrapMessage: at.torch.compose.database.model.GiftWrapMessage) - -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapSealDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapSealDao.kt deleted file mode 100644 index 42e23c0d..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapSealDao.kt +++ /dev/null @@ -1,15 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert - -@Dao -interface GiftWrapSealDao { - @Query("SELECT * FROM GiftWrapSeal") - fun getAllGiftWrapSeals(): List - - @Upsert - suspend fun upsert(giftWrapSeal: at.torch.compose.database.model.GiftWrapSeal) - -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotGroupEventDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotGroupEventDao.kt deleted file mode 100644 index 4ced8b8d..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotGroupEventDao.kt +++ /dev/null @@ -1,15 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotGroupEvent -import at.torch.compose.database.model.MarmotInnerEvent -import kotlinx.coroutines.flow.Flow - -@Dao -interface MarmotGroupEventDao { - - @Upsert - suspend fun upsert(marmotGroupEvent: MarmotGroupEvent) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeResultDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeResultDao.kt deleted file mode 100644 index 8c23a3a0..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeResultDao.kt +++ /dev/null @@ -1,10 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Upsert - -@Dao -interface NegentropySynchronizeResultDao { - @Upsert - fun upsert(negentropySynchronizeResult: at.torch.compose.database.model.NegentropySynchronizeResult) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventRelayDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventRelayDao.kt deleted file mode 100644 index 0ed8225f..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventRelayDao.kt +++ /dev/null @@ -1,12 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Upsert - -@Dao -interface NostrEventRelayDao { - - @Upsert - suspend fun upsert(nostrEventRelay: at.torch.compose.database.model.NostrEventRelay) - -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/PostDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/PostDao.kt deleted file mode 100644 index 82c3de48..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/PostDao.kt +++ /dev/null @@ -1,21 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Insert -import androidx.room3.Query -import androidx.room3.Upsert - -@Dao -interface PostDao { - @Query("SELECT * FROM Post") - fun getAllPosts(): List - - @Query("SELECT * FROM Post WHERE id = :id") - fun getPostById(id: String): at.torch.compose.database.model.Post? - - @Insert - suspend fun insert(post: at.torch.compose.database.model.Post) - - @Upsert - suspend fun upsert(post: at.torch.compose.database.model.Post) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ReactionDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ReactionDao.kt deleted file mode 100644 index 55fd85d2..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ReactionDao.kt +++ /dev/null @@ -1,18 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert -import kotlinx.coroutines.flow.Flow - -@Dao -interface ReactionDao { - @Query("SELECT * FROM Reaction") - fun getAllReactions(): List - - @Query("SELECT * FROM Reaction WHERE id = :id") - fun getReactionById(id: String): Flow - - @Upsert - suspend fun upsert(reaction: at.torch.compose.database.model.Reaction) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RecentSearchDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RecentSearchDao.kt deleted file mode 100644 index 5ee4b19e..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RecentSearchDao.kt +++ /dev/null @@ -1,22 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Delete -import androidx.room3.Query -import androidx.room3.Upsert -import kotlinx.coroutines.flow.Flow - -@Dao -interface RecentSearchDao { - @Query("SELECT * FROM RecentSearch WHERE `query` = :query") - fun observeRecentSearchByQuery(query: String): Flow - - @Query("SELECT * FROM RecentSearch ORDER BY createdAt DESC LIMIT :limit ") - fun getAllRecentSearches(limit: Int = 21): List - - @Delete - fun deleteRecentSearch(recentSearch: at.torch.compose.database.model.RecentSearch) - - @Upsert - suspend fun upsert(recentSearch: at.torch.compose.database.model.RecentSearch) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RelayDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RelayDao.kt deleted file mode 100644 index 25614a67..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RelayDao.kt +++ /dev/null @@ -1,19 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert -import kotlinx.coroutines.flow.Flow - -@Dao -interface RelayDao { - @Query("SELECT * FROM Relay") - fun getAllPosts(): List - - @Query("SELECT * FROM Relay WHERE publicKey = :publicKey") - fun observePublicKeyRelays(publicKey: String): Flow> - - @Upsert - suspend fun upsert(relay: at.torch.compose.database.model.Relay) - -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RepostedRelationDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RepostedRelationDao.kt deleted file mode 100644 index 4210552d..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/RepostedRelationDao.kt +++ /dev/null @@ -1,20 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Query -import androidx.room3.Upsert - -@Dao -interface RepostedRelationDao { - @Query("SELECT * FROM RepostedRelation") - fun getAllReposts(): List - - @Query("SELECT * FROM RepostedRelation WHERE repostingNostrEventId = :repostingNostrEventId") - fun getRepostByRepostingId(repostingNostrEventId: String): at.torch.compose.database.model.RepostedRelation? - - @Query("SELECT * FROM RepostedRelation WHERE repostedNostrEventId = :repostedNostrEventId") - fun getRepostByRepostedId(repostedNostrEventId: String): at.torch.compose.database.model.RepostedRelation? - - @Upsert - suspend fun upsert(repostedRelation: at.torch.compose.database.model.RepostedRelation) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventResultDao.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventResultDao.kt deleted file mode 100644 index 5c1a7d30..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventResultDao.kt +++ /dev/null @@ -1,10 +0,0 @@ -package at.torch.compose.database.dao - -import androidx.room3.Dao -import androidx.room3.Upsert - -@Dao -interface SynchronizeNostrEventResultDao { - @Upsert - fun upsert(synchronizeNostrEventResult: at.torch.compose.database.model.SynchronizeNostrEventResult) -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt deleted file mode 100644 index 5a662ae2..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package at.torch.compose.database.model.intermdiate - -import androidx.room3.Embedded -import androidx.room3.Relation - -data class LocalBroadcastNostrEventRequest( - @Embedded val broadcastNostrEventRequest: at.torch.compose.database.model.BroadcastNostrEventRequest, - - @Relation( - parentColumns = ["nostrEventId"], - entityColumns = ["id"] - ) - val nostrEvent: at.torch.compose.database.model.NostrEvent, -) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatMessage.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatMessage.kt deleted file mode 100644 index f98960c8..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatMessage.kt +++ /dev/null @@ -1,34 +0,0 @@ -package at.torch.compose.database.model.intermdiate - -import androidx.room3.Embedded -import androidx.room3.Relation - -data class LocalChatMessage( - @Embedded val chatMessage: at.torch.compose.database.model.ChatMessage, - - @Relation( - parentColumns = ["senderPublicKey"], - entityColumns = ["publicKey"] - ) - val profile: at.torch.compose.database.model.Profile?, - - @Relation( - parentColumns = ["id"], - entityColumns = ["chatMessageId"] - ) - val chatMessageBroadcastNostrEventReceiptRelation: at.torch.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation? = null, - - - @Relation( - parentColumns = ["id"], - entityColumns = ["chatMessageId"] - ) - val chatMessageBroadcastNostrEventRequestRelation: at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation? = null, - - - @Relation( - parentColumns = ["id"], - entityColumns = ["chatMessageId"] - ) - val chatMessageNostrEventRelation: at.torch.compose.database.model.ChatMessageNostrEventRelation? = null, -) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/HexArray.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/HexArray.kt deleted file mode 100644 index 16dc2494..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/HexArray.kt +++ /dev/null @@ -1,4 +0,0 @@ -package at.torch.compose.database.model.typealiases - -typealias HexArray = Array - diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/KindArray.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/KindArray.kt deleted file mode 100644 index e8c26996..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/KindArray.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.database.model.typealiases - -typealias KindArray = Array \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/SynchronizationFilterArray.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/SynchronizationFilterArray.kt deleted file mode 100644 index de7d4349..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/typealiases/SynchronizationFilterArray.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.database.model.typealiases - -typealias SynchronizationFilterArray = Array \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabasePostRepository.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabasePostRepository.kt deleted file mode 100644 index 77226a13..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabasePostRepository.kt +++ /dev/null @@ -1,5 +0,0 @@ -package at.torch.compose.database.repository - -class DatabasePostRepository( - private val database: at.torch.compose.database.TorchDatabase -): at.torch.compose.repository.PostRepository \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseSearchRepository.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseSearchRepository.kt deleted file mode 100644 index f253569c..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseSearchRepository.kt +++ /dev/null @@ -1,12 +0,0 @@ -package at.torch.compose.database.repository - -class DatabaseSearchRepository( - private val database: at.torch.compose.database.TorchDatabase -): at.torch.compose.repository.SearchRepository { - - override suspend fun submitSearch(synchronizeNostrEventRequests: List) { - database.synchronizeNostrEventRequestDao().insert( - synchronizeNostrEventRequests = synchronizeNostrEventRequests - ) - } -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapImpersonationException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapImpersonationException.kt deleted file mode 100644 index 75ba9e61..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapImpersonationException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -open class GiftWrapImpersonationException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapPayloadUnsupportedException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapPayloadUnsupportedException.kt deleted file mode 100644 index 4a6c2366..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapPayloadUnsupportedException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -open class GiftWrapPayloadUnsupportedException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapSealDecryptionException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapSealDecryptionException.kt deleted file mode 100644 index 883b3508..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapSealDecryptionException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -open class GiftWrapSealDecryptionException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapUnsealException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapUnsealException.kt deleted file mode 100644 index c4d075fa..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/GiftWrapUnsealException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -open class GiftWrapUnsealException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/InvalidNostrPrivateKeyException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/InvalidNostrPrivateKeyException.kt deleted file mode 100644 index 673f5eb0..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/InvalidNostrPrivateKeyException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -class InvalidNostrPrivateKeyException: RuntimeException() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SignatureException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SignatureException.kt deleted file mode 100644 index 8523bae8..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SignatureException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -open class SignatureException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningRejectedException.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningRejectedException.kt deleted file mode 100644 index 7fd60b01..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningRejectedException.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.exceptions - -class SigningRejectedException(message: String? = null, cause: Throwable? = null) : SignatureException(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/managers/AuxDatabaseManager.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/managers/AuxDatabaseManager.kt deleted file mode 100644 index fc59592d..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/managers/AuxDatabaseManager.kt +++ /dev/null @@ -1,26 +0,0 @@ -package at.torch.compose.managers - -class AuxDatabaseManager( - torchGlobal: at.torch.compose.TorchGlobal -) { - val auxDatabase by lazy { - _root_ide_package_.at.torch.compose.database.builder.getRoomDatabase( - at.torch.compose.database.builder.PlatformDatabaseBuilder.getDatabaseBuilder( - torchGlobal.platformContext - ) - ) - } - - /** - * Dynamic data like user feeds and the likes will be in a in-memory db. - * - * We may also decide to just use the normal DB and manage what's saved better... - */ - val inMemoryAuxDatabase by lazy { - _root_ide_package_.at.torch.compose.database.builder.getRoomDatabase( - at.torch.compose.database.builder.PlatformDatabaseBuilder.getInMemoryDatabaseBuilder( - torchGlobal.platformContext - ) - ) - } -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/CachingImportRepository.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/repository/CachingImportRepository.kt deleted file mode 100644 index d9f0298e..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/CachingImportRepository.kt +++ /dev/null @@ -1,40 +0,0 @@ -package at.torch.compose.repository - -/** - * As seen in Primal - * - * https://github.com/PrimalHQ/primal-android-app/blob/a7e32e2203555d27e60a749238175cd1ee0fa2af/domain/primal/src/commonMain/kotlin/net/primal/domain/global/CachingImportRepository.kt - * - */ -interface CachingImportRepository { - suspend fun cacheNostrEvents(vararg events: at.torch.compose.database.model.NostrEvent) - suspend fun cacheNostrEvents(events: List) - - suspend fun importEvents(events: List): Boolean - suspend fun broadcastEvents(events: List, relays: List): Result> - - companion object { - val NO_OP_CACHING_IMPORT_REPOSITORY = object : CachingImportRepository { - override suspend fun cacheNostrEvents(vararg events: at.torch.compose.database.model.NostrEvent) { - } - - override suspend fun cacheNostrEvents(events: List) { - - } - - override suspend fun importEvents(events: List): Boolean { - return true - } - - override suspend fun broadcastEvents( - events: List, - relays: List - ): Result> { - return Result.success( - emptyList() - ) - } - - } - } -} diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/PostRepository.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/repository/PostRepository.kt deleted file mode 100644 index a1b88978..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/PostRepository.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.repository - -interface PostRepository \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt deleted file mode 100644 index 71ca9329..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt +++ /dev/null @@ -1,6 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -import kotlinx.serialization.Serializable - -@Serializable -data object AuthenticatedProfileRoute \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/BlankRoute.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/BlankRoute.kt deleted file mode 100755 index 57bdd0c0..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/BlankRoute.kt +++ /dev/null @@ -1,6 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -import kotlinx.serialization.Serializable - -@Serializable -object BlankRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LandingRoute.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LandingRoute.kt deleted file mode 100755 index c37b8e3a..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LandingRoute.kt +++ /dev/null @@ -1,6 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -import kotlinx.serialization.Serializable - -@Serializable -object LandingRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/Route.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/Route.kt deleted file mode 100755 index 1374a360..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/Route.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -abstract class Route \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SignInRoute.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SignInRoute.kt deleted file mode 100755 index 4c2d4f5b..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SignInRoute.kt +++ /dev/null @@ -1,6 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -import kotlinx.serialization.Serializable - -@Serializable -object SignInRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt deleted file mode 100644 index c4a8acb9..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt +++ /dev/null @@ -1,6 +0,0 @@ -package at.torch.compose.ui.composable.navigation.routes - -import kotlinx.serialization.Serializable - -@Serializable -data object SovereignWalletStartupRoute \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/WriteNewNoteUIState.kt b/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/WriteNewNoteUIState.kt deleted file mode 100644 index f5a1ee39..00000000 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/WriteNewNoteUIState.kt +++ /dev/null @@ -1,24 +0,0 @@ -package at.torch.compose.ui.view.state - -import com.vitorpamplona.quartz.nip01Core.core.HexKey - -abstract class WriteNewNoteUIState { - data object Loading: WriteNewNoteUIState() - - data object Error: WriteNewNoteUIState() - - data class InputPrompt( - val localProfile: at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing, - val inReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, - val quotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, - val replayToId: HexKey? = null, - ): WriteNewNoteUIState() - - data class ConfirmNote( - val localProfile: at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing, - val inReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, - val quotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, - val text: String, - ) : WriteNewNoteUIState() - -} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/AppConfiguration.kt b/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/AppConfiguration.kt index cb00c2c0..1ecd2880 100644 --- a/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/AppConfiguration.kt +++ b/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/AppConfiguration.kt @@ -6,13 +6,13 @@ import fr.acinq.lightning.utils.ServerAddress import fr.acinq.phoenix.utils.extensions.isOnion import kotlinx.serialization.Serializable import org.jetbrains.compose.resources.getString -import torch.composeapp.generated.resources.Res -import torch.composeapp.generated.resources.currency_ars_bm -import torch.composeapp.generated.resources.currency_ars_official -import torch.composeapp.generated.resources.currency_cup_fm -import torch.composeapp.generated.resources.currency_cup_official -import torch.composeapp.generated.resources.currency_lbp_bm -import torch.composeapp.generated.resources.currency_lbp_official +import mantra.composeapp.generated.resources.Res +import mantra.composeapp.generated.resources.currency_ars_bm +import mantra.composeapp.generated.resources.currency_ars_official +import mantra.composeapp.generated.resources.currency_cup_fm +import mantra.composeapp.generated.resources.currency_cup_official +import mantra.composeapp.generated.resources.currency_lbp_bm +import mantra.composeapp.generated.resources.currency_lbp_official sealed interface CurrencyUnit { diff --git a/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/WalletPayment.kt b/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/WalletPayment.kt index e4712a3c..1b05221c 100644 --- a/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/WalletPayment.kt +++ b/composeApp/src/commonMain/kotlin/fr/acinq/phoenix/data/WalletPayment.kt @@ -18,14 +18,14 @@ import fr.acinq.phoenix.data.lnurl.LnurlPay import fr.acinq.phoenix.utils.converters.AmountFormatter.toPrettyString import fr.acinq.phoenix.utils.extensions.desc import org.jetbrains.compose.resources.stringResource -import torch.composeapp.generated.resources.Res -import torch.composeapp.generated.resources.paymentdetails_desc_closing_channel -import torch.composeapp.generated.resources.paymentdetails_desc_cpfp -import torch.composeapp.generated.resources.paymentdetails_desc_liquidity_automated -import torch.composeapp.generated.resources.paymentdetails_desc_liquidity_manual -import torch.composeapp.generated.resources.paymentdetails_desc_splice_out -import torch.composeapp.generated.resources.paymentdetails_desc_swapin -import torch.composeapp.generated.resources.paymentdetails_desc_swapout +import mantra.composeapp.generated.resources.Res +import mantra.composeapp.generated.resources.paymentdetails_desc_closing_channel +import mantra.composeapp.generated.resources.paymentdetails_desc_cpfp +import mantra.composeapp.generated.resources.paymentdetails_desc_liquidity_automated +import mantra.composeapp.generated.resources.paymentdetails_desc_liquidity_manual +import mantra.composeapp.generated.resources.paymentdetails_desc_splice_out +import mantra.composeapp.generated.resources.paymentdetails_desc_swapin +import mantra.composeapp.generated.resources.paymentdetails_desc_swapout /** * Represents a payment & its associated metadata. diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/AppVersion.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/AppVersion.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/AppVersion.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/AppVersion.kt index b5d88092..f75146a1 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/AppVersion.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/AppVersion.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose expect object AppVersion { val versionName: String diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/TorchApp.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/MantraApp.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/TorchApp.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/MantraApp.kt index a91ea37d..ae98ef76 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/TorchApp.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/MantraApp.kt @@ -1,26 +1,26 @@ -package at.torch.compose +package press.mantra.compose import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.navigation.NavHostController -import at.torch.compose.ui.composable.navigation.TorchNavHost -import at.torch.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.composable.navigation.MantraNavHost +import press.mantra.compose.ui.theme.TorchTheme import fr.acinq.phoenix.PhoenixGlobal @Composable -fun TorchApp( +fun MantraApp( navController: NavHostController, - torchGlobal: TorchGlobal, + mantraGlobal: MantraGlobal, phoenixGlobal: PhoenixGlobal ) { TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { - TorchNavHost( - torchGlobal = torchGlobal, + MantraNavHost( + mantraGlobal = mantraGlobal, phoenixGlobal = phoenixGlobal, navController = navController ) diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/MantraGlobal.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/MantraGlobal.kt new file mode 100644 index 00000000..501762b4 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/MantraGlobal.kt @@ -0,0 +1,5 @@ +package press.mantra.compose + +class MantraGlobal( + val platformContext: PlatformContext +) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/Platform.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/Platform.kt new file mode 100644 index 00000000..cb5fb393 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/Platform.kt @@ -0,0 +1,7 @@ +package press.mantra.compose + +interface Platform { + val name: String +} + +expect fun getPlatform(): Platform \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/PlatformContext.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/PlatformContext.kt new file mode 100644 index 00000000..b86a26ea --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/PlatformContext.kt @@ -0,0 +1,3 @@ +package press.mantra.compose + +expect class PlatformContext \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/cryptography/Extensions.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/cryptography/Extensions.kt similarity index 78% rename from composeApp/src/commonMain/kotlin/at/torch/compose/cryptography/Extensions.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/cryptography/Extensions.kt index fda4dbfd..78e877ae 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/cryptography/Extensions.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/cryptography/Extensions.kt @@ -1,6 +1,6 @@ -package at.torch.compose.cryptography +package press.mantra.compose.cryptography -import at.torch.compose.database.model.NostrEvent +import press.mantra.compose.database.model.NostrEvent import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerSync @@ -8,12 +8,12 @@ import com.vitorpamplona.quartz.nip19Bech32.bech32.Bech32 import com.vitorpamplona.quartz.nip51Lists.encryption.PrivateTagsInContent import kotlin.time.Instant -fun at.torch.compose.database.model.UnsignedNostrEvent.signOrThrow(nsec: String): NostrEvent { +fun press.mantra.compose.database.model.UnsignedNostrEvent.signOrThrow(nsec: String): NostrEvent { val hexPrivateKey = Bech32.decodeBytes(nsec).second return this.signOrThrow(hexPrivateKey) } -fun at.torch.compose.database.model.UnsignedNostrEvent.signOrThrow(hexPrivateKey: ByteArray): NostrEvent { +fun press.mantra.compose.database.model.UnsignedNostrEvent.signOrThrow(hexPrivateKey: ByteArray): NostrEvent { val tempSigner = NostrSignerSync( KeyPair( privKey = hexPrivateKey diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabase.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabase.kt new file mode 100644 index 00000000..1987e38c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabase.kt @@ -0,0 +1,209 @@ +package press.mantra.compose.database + +import androidx.room3.Database +import androidx.room3.RoomDatabase +import androidx.room3.TypeConverters +import androidx.room3.immediateTransaction +import androidx.room3.useWriterConnection +import press.mantra.compose.database.converters.TorchConverters +import press.mantra.compose.database.dao.BroadcastNostrEventReceiptDao +import press.mantra.compose.database.dao.BroadcastNostrEventRequestDao +import press.mantra.compose.database.dao.ChatMessageBroadcastNostrEventReceiptRelationDao +import press.mantra.compose.database.dao.ChatMessageBroadcastNostrEventRequestRelationDao +import press.mantra.compose.database.dao.ChatMessageDao +import press.mantra.compose.database.dao.ChatMessageNostrEventRelationDao +import press.mantra.compose.database.dao.ChatRoomDao +import press.mantra.compose.database.dao.ConnectionDao +import press.mantra.compose.database.dao.GiftWrapMessageDao +import press.mantra.compose.database.dao.GiftWrapPayloadDao +import press.mantra.compose.database.dao.GiftWrapSealDao +import press.mantra.compose.database.dao.InReplyToRelationDao +import press.mantra.compose.database.dao.MarmotCommitResultDao +import press.mantra.compose.database.dao.MarmotOutboundDao +import press.mantra.compose.database.dao.MarmotGroupEventDao +import press.mantra.compose.database.dao.MarmotInnerEventDao +import press.mantra.compose.database.dao.MarmotKeyPackageBundleDao +import press.mantra.compose.database.dao.MarmotKeyPackageDao +import press.mantra.compose.database.dao.MarmotRetainedEpochSecretDao +import press.mantra.compose.database.dao.MentionDao +import press.mantra.compose.database.dao.NegentropySynchronizeRequestDao +import press.mantra.compose.database.dao.NegentropySynchronizeResultDao +import press.mantra.compose.database.dao.NostrDao +import press.mantra.compose.database.dao.NostrEventDao +import press.mantra.compose.database.dao.NostrEventRelayDao +import press.mantra.compose.database.dao.NostrNip17Dao +import press.mantra.compose.database.dao.ParticipantDao +import press.mantra.compose.database.dao.PostDao +import press.mantra.compose.database.dao.ProfileDao +import press.mantra.compose.database.dao.QuotedRelationDao +import press.mantra.compose.database.dao.ReactionDao +import press.mantra.compose.database.dao.RecentSearchDao +import press.mantra.compose.database.dao.RelayDao +import press.mantra.compose.database.dao.RepostedRelationDao +import press.mantra.compose.database.dao.SynchronizeNostrEventRequestDao +import press.mantra.compose.database.dao.SynchronizeNostrEventResultDao +import press.mantra.compose.database.dao.UnsignedNostrEventDao +import press.mantra.compose.database.dao.ZapDao +import press.mantra.compose.database.model.BroadcastNostrEventReceipt +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.ChatMessage +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation +import press.mantra.compose.database.model.ChatMessageNostrEventRelation +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.Connection +import press.mantra.compose.database.model.GiftWrapMessage +import press.mantra.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.GiftWrapSeal +import press.mantra.compose.database.model.InReplyToRelation +import press.mantra.compose.database.model.MarmotCommitResult +import press.mantra.compose.database.model.MarmotGroupEvent +import press.mantra.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.database.model.MarmotRetainedEpochSecret +import press.mantra.compose.database.model.Mention +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.NegentropySynchronizeResult +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.NostrEventRelay +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.Post +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.QuotedRelation +import press.mantra.compose.database.model.Reaction +import press.mantra.compose.database.model.RecentSearch +import press.mantra.compose.database.model.Relay +import press.mantra.compose.database.model.RepostedRelation +import press.mantra.compose.database.model.SynchronizeNostrEventRequest +import press.mantra.compose.database.model.SynchronizeNostrEventResult +import press.mantra.compose.database.model.UnsignedNostrEvent +import press.mantra.compose.database.model.Zap +import kotlin.time.Instant + +val GENESIS_AT = Instant.fromEpochMilliseconds(1231006505000L) + +@Database( + entities = [ + BroadcastNostrEventReceipt::class, + BroadcastNostrEventRequest::class, + Connection::class, + ChatMessage::class, + ChatMessageBroadcastNostrEventRequestRelation::class, + ChatMessageBroadcastNostrEventReceiptRelation::class, + ChatMessageNostrEventRelation::class, + ChatRoom::class, + GiftWrapMessage::class, + GiftWrapSeal::class, + GiftWrapPayload::class, + InReplyToRelation::class, + MarmotCommitResult::class, + MarmotGroupEvent::class, + MarmotInnerEvent::class, + MarmotKeyPackage::class, + MarmotKeyPackageBundle::class, + MarmotRetainedEpochSecret::class, + Mention::class, + NegentropySynchronizeRequest::class, + NegentropySynchronizeResult::class, + NostrEvent::class, + NostrEventRelay::class, + Participant::class, + Post::class, + Profile::class, + QuotedRelation::class, + Reaction::class, + RecentSearch::class, + Relay::class, + RepostedRelation::class, + SynchronizeNostrEventRequest::class, + SynchronizeNostrEventResult::class, + UnsignedNostrEvent::class, + Zap::class + ], + version = 1 +) +@TypeConverters(TorchConverters::class) +abstract class TorchDatabase: RoomDatabase() { + abstract fun broadcastNostrEventReceiptDao(): BroadcastNostrEventReceiptDao + abstract fun broadcastNostrEventRequestDao(): BroadcastNostrEventRequestDao + + abstract fun chatMessageDao(): ChatMessageDao + + abstract fun chatMessageBroadcastNostrEventRequestRelationDao(): ChatMessageBroadcastNostrEventRequestRelationDao + + abstract fun chatMessageBroadcastNostrEventReceiptRelationDao(): ChatMessageBroadcastNostrEventReceiptRelationDao + + abstract fun chatMessageNostrEventRelationDao(): ChatMessageNostrEventRelationDao + + abstract fun chatRoomDao(): ChatRoomDao + + abstract fun connectionDao(): ConnectionDao + + abstract fun giftWrapMessageDao(): GiftWrapMessageDao + + abstract fun giftWrapSealDao(): GiftWrapSealDao + + abstract fun giftWrapPayloadDao(): GiftWrapPayloadDao + + abstract fun inReplyToRelationDao(): InReplyToRelationDao + + abstract fun marmotCommitResultDao(): MarmotCommitResultDao + + abstract fun marmotGroupEventDao(): MarmotGroupEventDao + + abstract fun marmotInnerEventDao(): MarmotInnerEventDao + + abstract fun marmotKeyPackageBundleDao(): MarmotKeyPackageBundleDao + + abstract fun marmotKeyPackageDao(): MarmotKeyPackageDao + + abstract fun marmotOutboundDao(): MarmotOutboundDao + + abstract fun marmotRetainedEpochSecretDao(): MarmotRetainedEpochSecretDao + + abstract fun mentionDao(): MentionDao + + abstract fun negentropySynchronizeRequestDao(): NegentropySynchronizeRequestDao + + abstract fun negentropySynchronizeResultDao(): NegentropySynchronizeResultDao + + abstract fun nostrDao(): NostrDao + + abstract fun nostrEventDao(): NostrEventDao + + abstract fun nostrEventRelayDao(): NostrEventRelayDao + + abstract fun nostrNip17Dao(): NostrNip17Dao + + abstract fun participantDao(): ParticipantDao + + abstract fun postDao(): PostDao + + abstract fun profileDao(): ProfileDao + + abstract fun quotedRelationDao(): QuotedRelationDao + + abstract fun reactionDao(): ReactionDao + + abstract fun recentSearchDao(): RecentSearchDao + + abstract fun relayDao(): RelayDao + + abstract fun repostedRelationDao(): RepostedRelationDao + + abstract fun synchronizeNostrEventRequestDao(): SynchronizeNostrEventRequestDao + + abstract fun synchronizeNostrEventResultDao(): SynchronizeNostrEventResultDao + + abstract fun unsignedNostrEventDao(): UnsignedNostrEventDao + abstract fun zapDao(): ZapDao + + suspend fun wipeData() { + useWriterConnection { transactor -> + transactor.immediateTransaction { + // TODO: Actually delete the data... + } + } + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabaseConstructor.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabaseConstructor.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabaseConstructor.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabaseConstructor.kt index 5649274f..864b53cf 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/TorchDatabaseConstructor.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/TorchDatabaseConstructor.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database +package press.mantra.compose.database import androidx.room3.RoomDatabaseConstructor diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.kt new file mode 100644 index 00000000..7b7da3b9 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.kt @@ -0,0 +1,21 @@ +package press.mantra.compose.database.builder + +import androidx.room3.RoomDatabase +import androidx.sqlite.driver.bundled.BundledSQLiteDriver +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.IO + +expect object PlatformDatabaseBuilder { + fun getDatabaseBuilder(platformContext: press.mantra.compose.PlatformContext): RoomDatabase.Builder + + fun getInMemoryDatabaseBuilder(platform: press.mantra.compose.PlatformContext): RoomDatabase.Builder +} + +fun getRoomDatabase( + builder: RoomDatabase.Builder +): press.mantra.compose.database.TorchDatabase { + return builder + .setDriver(BundledSQLiteDriver()) + .setQueryCoroutineContext(Dispatchers.IO) + .build() +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/converters/TorchConverters.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/converters/TorchConverters.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/converters/TorchConverters.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/converters/TorchConverters.kt index 0aab99ce..c19bc269 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/converters/TorchConverters.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/converters/TorchConverters.kt @@ -1,7 +1,7 @@ -package at.torch.compose.database.converters +package press.mantra.compose.database.converters import androidx.room3.TypeConverter -import at.torch.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.database.model.types.SynchronizationFilter import co.touchlab.kermit.Logger import kotlinx.serialization.json.Json import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventReceiptDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventReceiptDao.kt new file mode 100644 index 00000000..730db07c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventReceiptDao.kt @@ -0,0 +1,21 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert +import kotlinx.coroutines.flow.Flow + +@Dao +interface BroadcastNostrEventReceiptDao { + @Query("SELECT * FROM BroadcastNostrEventReceipt") + fun getAllBroadcastNostrEventReceipts(): List + + @Query("SELECT * FROM BroadcastNostrEventReceipt WHERE id = :id") + fun getBroadcastNostrEventReceiptById(id: Long): Flow + + @Query("SELECT * FROM BroadcastNostrEventReceipt WHERE nostrEventId = :nostrEventId") + fun getBroadcastNostrEventReceiptByNostrEventId(nostrEventId: String): Flow + + @Upsert + suspend fun upsert(broadcastNostrEventReceipt: press.mantra.compose.database.model.BroadcastNostrEventReceipt): Long +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventRequestDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventRequestDao.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventRequestDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventRequestDao.kt index 44e5e78a..aa4cfd4f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/BroadcastNostrEventRequestDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/BroadcastNostrEventRequestDao.kt @@ -1,11 +1,11 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest import kotlinx.coroutines.flow.Flow import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt similarity index 60% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt index dd63f5ba..f56eeefe 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventReceiptRelationDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Upsert @@ -6,5 +6,5 @@ import androidx.room3.Upsert @Dao interface ChatMessageBroadcastNostrEventReceiptRelationDao { @Upsert - suspend fun upsert(chatMessageBroadcastNostrEventReceiptRelation: at.torch.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation) + suspend fun upsert(chatMessageBroadcastNostrEventReceiptRelation: press.mantra.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt index a7e084a4..8ef68f2b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageBroadcastNostrEventRequestRelationDao.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation @Dao interface ChatMessageBroadcastNostrEventRequestRelationDao { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageDao.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageDao.kt index 42b70d90..daa45b01 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatMessageDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageDao.kt @@ -1,10 +1,10 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Transaction import androidx.room3.Upsert -import at.torch.compose.database.model.ChatMessage +import press.mantra.compose.database.model.ChatMessage import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.flow.Flow @@ -12,11 +12,11 @@ import kotlinx.coroutines.flow.Flow interface ChatMessageDao { @Transaction @Query("SELECT * FROM ChatMessage WHERE chatRoomId = :chatRoomId ORDER BY createdAt DESC") - fun observeChatMessagesByChatRoomId(chatRoomId: String): Flow> + fun observeChatMessagesByChatRoomId(chatRoomId: String): Flow> @Transaction @Query("SELECT * FROM ChatMessage WHERE chatRoomId = :chatRoomId ORDER BY createdAt DESC") - fun getChatMessagesByChatRoomId(chatRoomId: String): List + fun getChatMessagesByChatRoomId(chatRoomId: String): List @Query("SELECT * FROM ChatMessage WHERE giftWrapPayloadId = :giftWrapPayloadId ORDER BY createdAt DESC") fun getChatMessagesByGiftWrapPayloadId(giftWrapPayloadId: HexKey): ChatMessage? @@ -31,5 +31,5 @@ interface ChatMessageDao { fun countChatMessagesBySenderPublicKey(chatRoomId: HexKey, senderPublicKey: HexKey): Int @Upsert - suspend fun upsert(chatMessage: at.torch.compose.database.model.ChatMessage): Long + suspend fun upsert(chatMessage: press.mantra.compose.database.model.ChatMessage): Long } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageNostrEventRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageNostrEventRelationDao.kt new file mode 100644 index 00000000..1bde13e6 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatMessageNostrEventRelationDao.kt @@ -0,0 +1,11 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Upsert + +@Dao +interface ChatMessageNostrEventRelationDao { + + @Upsert + suspend fun upsert(chatMessageNostrEventRelation: press.mantra.compose.database.model.ChatMessageNostrEventRelation) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatRoomDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatRoomDao.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatRoomDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatRoomDao.kt index 31958ce9..cfa6006b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ChatRoomDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ChatRoomDao.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Delete import androidx.room3.Query import androidx.room3.Transaction import androidx.room3.Upsert -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.intermdiate.LocalChatRoom import kotlinx.coroutines.flow.Flow @Dao diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ConnectionDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ConnectionDao.kt similarity index 56% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ConnectionDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ConnectionDao.kt index 38be97e1..4399eabd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ConnectionDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ConnectionDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Delete @@ -11,19 +11,19 @@ import kotlinx.coroutines.flow.Flow @Dao interface ConnectionDao { @Query("SELECT * FROM Connection LIMIT :limit") - fun getAllConnections(limit: Int = 21): List + fun getAllConnections(limit: Int = 21): List @Query("SELECT * FROM Connection WHERE (sourcePublicKey = :alicePublicKey AND destinationPublicKey = :bobPublicKey) OR (sourcePublicKey = :bobPublicKey AND destinationPublicKey = :alicePublicKey)") - fun observeRelation(alicePublicKey: HexKey, bobPublicKey: HexKey): Flow> + fun observeRelation(alicePublicKey: HexKey, bobPublicKey: HexKey): Flow> @Insert - suspend fun insertPlaceholderProfile(connection: at.torch.compose.database.model.Connection) + suspend fun insertPlaceholderProfile(connection: press.mantra.compose.database.model.Connection) @Upsert - suspend fun upsert(connection: at.torch.compose.database.model.Connection) + suspend fun upsert(connection: press.mantra.compose.database.model.Connection) @Delete - suspend fun delete(connection: at.torch.compose.database.model.Connection) + suspend fun delete(connection: press.mantra.compose.database.model.Connection) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapMessageDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapMessageDao.kt new file mode 100644 index 00000000..7b71babd --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapMessageDao.kt @@ -0,0 +1,15 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert + +@Dao +interface GiftWrapMessageDao { + @Query("SELECT * FROM GiftWrapMessage") + fun getAllGiftWrapMessages(): List + + @Upsert + suspend fun upsert(giftWrapMessage: press.mantra.compose.database.model.GiftWrapMessage) + +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapPayloadDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapPayloadDao.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapPayloadDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapPayloadDao.kt index 1ff79587..aaf6aacd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/GiftWrapPayloadDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapPayloadDao.kt @@ -1,10 +1,10 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.GiftWrapPayload import kotlinx.coroutines.flow.Flow @Dao diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapSealDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapSealDao.kt new file mode 100644 index 00000000..e939d480 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/GiftWrapSealDao.kt @@ -0,0 +1,15 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert + +@Dao +interface GiftWrapSealDao { + @Query("SELECT * FROM GiftWrapSeal") + fun getAllGiftWrapSeals(): List + + @Upsert + suspend fun upsert(giftWrapSeal: press.mantra.compose.database.model.GiftWrapSeal) + +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/InReplyToRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/InReplyToRelationDao.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/InReplyToRelationDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/InReplyToRelationDao.kt index 4a7829f6..a447a22f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/InReplyToRelationDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/InReplyToRelationDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert @@ -8,14 +8,14 @@ import androidx.room3.Upsert @Dao interface InReplyToRelationDao { @Query("SELECT * FROM InReplyToRelation WHERE replyingNostrEventId = :replyingNostrEventId") - fun getRepostByReplyingNostrEventId(replyingNostrEventId: String): at.torch.compose.database.model.InReplyToRelation? + fun getRepostByReplyingNostrEventId(replyingNostrEventId: String): press.mantra.compose.database.model.InReplyToRelation? @Query("SELECT * FROM InReplyToRelation WHERE inReplyToNostrEventId = :inReplyToNostrEventId") - fun getRepostByInReplyToNostrEventId(inReplyToNostrEventId: String): at.torch.compose.database.model.InReplyToRelation? + fun getRepostByInReplyToNostrEventId(inReplyToNostrEventId: String): press.mantra.compose.database.model.InReplyToRelation? @Insert - suspend fun insert(inReplyToRelation: at.torch.compose.database.model.InReplyToRelation) + suspend fun insert(inReplyToRelation: press.mantra.compose.database.model.InReplyToRelation) @Upsert - suspend fun upsert(inReplyToRelation: at.torch.compose.database.model.InReplyToRelation) + suspend fun upsert(inReplyToRelation: press.mantra.compose.database.model.InReplyToRelation) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotCommitResultDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotCommitResultDao.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotCommitResultDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotCommitResultDao.kt index aa8a0213..a2dab2e0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotCommitResultDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotCommitResultDao.kt @@ -1,12 +1,10 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotCommitResult -import at.torch.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.MarmotCommitResult import com.vitorpamplona.quartz.nip01Core.core.HexKey -import fr.acinq.bitcoin.PublicKey @Dao interface MarmotCommitResultDao { diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotGroupEventDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotGroupEventDao.kt new file mode 100644 index 00000000..4e3c653e --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotGroupEventDao.kt @@ -0,0 +1,12 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Upsert +import press.mantra.compose.database.model.MarmotGroupEvent + +@Dao +interface MarmotGroupEventDao { + + @Upsert + suspend fun upsert(marmotGroupEvent: MarmotGroupEvent) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotInnerEventDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotInnerEventDao.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotInnerEventDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotInnerEventDao.kt index 4d85558b..8937b2e5 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotInnerEventDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotInnerEventDao.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotInnerEvent import kotlinx.coroutines.flow.Flow @Dao diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageBundleDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageBundleDao.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageBundleDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageBundleDao.kt index 313b94d2..a42223d1 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageBundleDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageBundleDao.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.database.model.MarmotKeyPackageBundle import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.flow.Flow diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageDao.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageDao.kt index 4abe5f9b..0a5dc252 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotKeyPackageDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotKeyPackageDao.kt @@ -1,11 +1,10 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.MarmotKeyPackage import com.vitorpamplona.quartz.nip01Core.core.HexKey -import fr.acinq.bitcoin.PublicKey @Dao interface MarmotKeyPackageDao { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotOutboundDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotOutboundDao.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotOutboundDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotOutboundDao.kt index 07fba71e..dfb7a2b3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotOutboundDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotOutboundDao.kt @@ -1,27 +1,27 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Transaction -import at.torch.compose.database.TorchDatabase -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.ChatMessage -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation -import at.torch.compose.database.model.ChatMessageNostrEventRelation -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.GiftWrapPayload -import at.torch.compose.database.model.MarmotCommitResult -import at.torch.compose.database.model.MarmotGroupEvent -import at.torch.compose.database.model.MarmotInnerEvent -import at.torch.compose.database.model.MarmotInnerEvent.Companion.disappearingExpiration -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.MarmotRetainedEpochSecret -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.extensions.exporterSecret -import at.torch.compose.extensions.toHex -import at.torch.compose.managers.MarmotInboundManager.EPOCH_RETENTION_WINDOW -import at.torch.compose.nostr.Relays +import press.mantra.compose.database.TorchDatabase +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.ChatMessage +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation +import press.mantra.compose.database.model.ChatMessageNostrEventRelation +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.MarmotCommitResult +import press.mantra.compose.database.model.MarmotGroupEvent +import press.mantra.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotInnerEvent.Companion.disappearingExpiration +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.MarmotRetainedEpochSecret +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.extensions.exporterSecret +import press.mantra.compose.extensions.toHex +import press.mantra.compose.managers.MarmotInboundManager.EPOCH_RETENTION_WINDOW +import press.mantra.compose.nostr.Relays import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.tags.EncodingTag import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotRetainedEpochSecretDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotRetainedEpochSecretDao.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotRetainedEpochSecretDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotRetainedEpochSecretDao.kt index 4200131e..4b38af95 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MarmotRetainedEpochSecretDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MarmotRetainedEpochSecretDao.kt @@ -1,11 +1,11 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Delete import androidx.room3.Insert import androidx.room3.OnConflictStrategy.Companion.IGNORE import androidx.room3.Query -import at.torch.compose.database.model.MarmotRetainedEpochSecret +import press.mantra.compose.database.model.MarmotRetainedEpochSecret import com.vitorpamplona.quartz.nip01Core.core.HexKey @Dao diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MentionDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MentionDao.kt similarity index 54% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MentionDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MentionDao.kt index 99f32cd6..7f29d7c9 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/MentionDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/MentionDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert @@ -11,8 +11,8 @@ interface MentionDao { @Insert( onConflict = IGNORE ) - suspend fun insert(mention: at.torch.compose.database.model.Mention) + suspend fun insert(mention: press.mantra.compose.database.model.Mention) @Upsert - suspend fun upsert(mention: at.torch.compose.database.model.Mention) + suspend fun upsert(mention: press.mantra.compose.database.model.Mention) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeRequestDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeRequestDao.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeRequestDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeRequestDao.kt index 9be52792..3859d747 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NegentropySynchronizeRequestDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeRequestDao.kt @@ -1,11 +1,11 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.OnConflictStrategy.Companion.IGNORE import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.NegentropySynchronizeRequest import kotlinx.coroutines.flow.Flow import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeResultDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeResultDao.kt new file mode 100644 index 00000000..bb51e37f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NegentropySynchronizeResultDao.kt @@ -0,0 +1,10 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Upsert + +@Dao +interface NegentropySynchronizeResultDao { + @Upsert + fun upsert(negentropySynchronizeResult: press.mantra.compose.database.model.NegentropySynchronizeResult) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt index c1e157a3..fd92dc6e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrDao.kt @@ -1,34 +1,33 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao -import androidx.compose.runtime.key import androidx.room3.Dao import androidx.room3.Transaction -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.ChatMessage -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.Connection -import at.torch.compose.database.model.MarmotGroupEvent -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.Mention -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.NostrEventRelay -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.Post -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.exceptions.GiftWrapImpersonationException -import at.torch.compose.exceptions.GiftWrapSealDecryptionException -import at.torch.compose.exceptions.GiftWrapUnsealException -import at.torch.compose.exceptions.MarmotMissingChatGroupException -import at.torch.compose.exceptions.MarmotMissingKeyPackageBundleException -import at.torch.compose.exceptions.MarmotMissingNostrGroupDataExtension -import at.torch.compose.exceptions.MarmotNotMemberOfChatGroupException -import at.torch.compose.exceptions.MarmotWelcomeEventMissingKeyPackageEventIdException -import at.torch.compose.extensions.toHex -import at.torch.compose.managers.MarmotInboundManager +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.ChatMessage +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.Connection +import press.mantra.compose.database.model.MarmotGroupEvent +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.Mention +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.NostrEventRelay +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.Post +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.exceptions.GiftWrapImpersonationException +import press.mantra.compose.exceptions.GiftWrapSealDecryptionException +import press.mantra.compose.exceptions.GiftWrapUnsealException +import press.mantra.compose.exceptions.MarmotMissingChatGroupException +import press.mantra.compose.exceptions.MarmotMissingKeyPackageBundleException +import press.mantra.compose.exceptions.MarmotMissingNostrGroupDataExtension +import press.mantra.compose.exceptions.MarmotNotMemberOfChatGroupException +import press.mantra.compose.exceptions.MarmotWelcomeEventMissingKeyPackageEventIdException +import press.mantra.compose.extensions.toHex +import press.mantra.compose.managers.MarmotInboundManager import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.GroupEventResult import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent @@ -44,7 +43,6 @@ import com.vitorpamplona.quartz.nip01Core.core.toHexKey import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl -import com.vitorpamplona.quartz.nip01Core.relay.normalizer.normalizedUrls import com.vitorpamplona.quartz.nip01Core.tags.events.taggedEvents import com.vitorpamplona.quartz.nip01Core.tags.people.taggedUsers import com.vitorpamplona.quartz.nip02FollowList.ContactListEvent @@ -53,13 +51,12 @@ import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent import com.vitorpamplona.quartz.nip40Expiration.expiration import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent import kotlin.io.encoding.Base64 -import kotlin.math.log import kotlin.time.Clock import kotlin.time.Instant @Dao abstract class NostrDao( - private val database: at.torch.compose.database.TorchDatabase, + private val database: press.mantra.compose.database.TorchDatabase, ) { val logger = Logger.withTag("NostrDao") @@ -78,7 +75,7 @@ abstract class NostrDao( @Transaction open suspend fun publishNostrEvent( - unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent, + unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent, nostrEvent: NostrEvent, relayURLs: List, activeKeyPair: KeyPair @@ -1186,7 +1183,7 @@ abstract class NostrDao( /** * Persist the rescheduling using a transaction so that we are assured of the existence of the - * [ChatMessageBroadcastNostrEventRequestRelation] when we produce the [at.torch.compose.database.model.BroadcastNostrEventReceipt] + * [ChatMessageBroadcastNostrEventRequestRelation] when we produce the [press.mantra.compose.database.model.BroadcastNostrEventReceipt] */ @Transaction open suspend fun rescheduleBroadcastNostrEventRequests(broadcastNostrEventRequests: List) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventDao.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventDao.kt index 46e80726..321b8209 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrEventDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventDao.kt @@ -1,6 +1,5 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao -import androidx.compose.runtime.IntState import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.OnConflictStrategy.Companion.IGNORE @@ -9,8 +8,8 @@ import androidx.room3.RawQuery import androidx.room3.RoomRawQuery import androidx.room3.Transaction import androidx.room3.Upsert -import at.torch.compose.database.model.MarmotGroupEvent -import at.torch.compose.database.model.NostrEvent +import press.mantra.compose.database.model.MarmotGroupEvent +import press.mantra.compose.database.model.NostrEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind @@ -22,35 +21,35 @@ import kotlin.time.Instant interface NostrEventDao { @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) ORDER BY createdAt DESC") - fun observeNostrEvents(kinds: Array): Flow> + fun observeNostrEvents(kinds: Array): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE content LIKE '%' || :search || '%' AND kind in (:kinds) ORDER BY createdAt DESC") fun observeFilteredNostrEvents( kinds: Array, search: String - ): Flow> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) AND id in (:ids) ORDER BY createdAt DESC") fun observeFilteredNostrEvents( kinds: Array, ids: Array, - ): Flow> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) AND pubKey in (:authors) ORDER BY createdAt DESC LIMIT 50") fun observeAuthoredNostrEvents( kinds: Array, authors: Array, - ): Flow> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE tags LIKE '%' || :publicKey || '%' AND kind in (:kinds) ORDER BY createdAt DESC") fun observePublicKeyMentionedNostrEvents( kinds: Array, publicKey: HexKey - ): Flow> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE tags LIKE '%' || :eventId || '%reply%' AND kind in (:kinds) AND createdAt > :since ORDER BY createdAt DESC") @@ -58,13 +57,13 @@ interface NostrEventDao { kinds: Array, eventId: HexKey, since: Instant - ): Flow> + ): Flow> @Transaction @RawQuery fun observePublicKeyFollowingNostrEvents( query: RoomRawQuery - ): Flow> + ): Flow> @Transaction @Query("SELECT * FROM NostrEvent WHERE kind in (:kinds) AND createdAt > :since ORDER BY createdAt ASC LIMIT :limit") @@ -149,7 +148,7 @@ interface NostrEventDao { @Transaction @Query("SELECT * FROM NostrEvent WHERE id = :id") - fun observeNostrEventById(id: String): Flow + fun observeNostrEventById(id: String): Flow @Query("SELECT * FROM NostrEvent WHERE id = :id") fun getNostrEventById(id: String): NostrEvent? diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventRelayDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventRelayDao.kt new file mode 100644 index 00000000..2078e514 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrEventRelayDao.kt @@ -0,0 +1,12 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Upsert + +@Dao +interface NostrEventRelayDao { + + @Upsert + suspend fun upsert(nostrEventRelay: press.mantra.compose.database.model.NostrEventRelay) + +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrNip17Dao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrNip17Dao.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrNip17Dao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrNip17Dao.kt index 9ae09d34..776741b5 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/NostrNip17Dao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/NostrNip17Dao.kt @@ -1,19 +1,19 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Transaction -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation -import at.torch.compose.database.model.ChatMessageNostrEventRelation -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.GiftWrapMessage -import at.torch.compose.database.model.GiftWrapPayload -import at.torch.compose.database.model.GiftWrapSeal -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.nostr.Relays +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation +import press.mantra.compose.database.model.ChatMessageNostrEventRelation +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.GiftWrapMessage +import press.mantra.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.GiftWrapSeal +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.nostr.Relays import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.tags.people.PTag @@ -25,7 +25,7 @@ import kotlin.time.Instant @Dao abstract class NostrNip17Dao( - private val database: at.torch.compose.database.TorchDatabase + private val database: press.mantra.compose.database.TorchDatabase ) { val logger = Logger.withTag(TAG) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ParticipantDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ParticipantDao.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ParticipantDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ParticipantDao.kt index 9b063487..fc681765 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ParticipantDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ParticipantDao.kt @@ -1,10 +1,10 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Delete import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.Participant +import press.mantra.compose.database.model.Participant @Dao interface ParticipantDao { diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/PostDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/PostDao.kt new file mode 100644 index 00000000..77ef09e6 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/PostDao.kt @@ -0,0 +1,21 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Insert +import androidx.room3.Query +import androidx.room3.Upsert + +@Dao +interface PostDao { + @Query("SELECT * FROM Post") + fun getAllPosts(): List + + @Query("SELECT * FROM Post WHERE id = :id") + fun getPostById(id: String): press.mantra.compose.database.model.Post? + + @Insert + suspend fun insert(post: press.mantra.compose.database.model.Post) + + @Upsert + suspend fun upsert(post: press.mantra.compose.database.model.Post) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ProfileDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ProfileDao.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ProfileDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ProfileDao.kt index 04f7ec0a..91ba8e5c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ProfileDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ProfileDao.kt @@ -1,11 +1,11 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.model.Profile +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.model.Profile import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.flow.Flow import kotlin.time.Instant @@ -23,7 +23,7 @@ interface ProfileDao { @Query("SELECT * FROM NostrEvent WHERE kind = 0 AND content LIKE '%' || :searchTerm || '%' LIMIT :limit") - fun filterProfiles(searchTerm: String, limit: Int = 21): List + fun filterProfiles(searchTerm: String, limit: Int = 21): List @Query("SELECT * FROM Profile WHERE publicKey = :publicKey") fun getProfileByPublicKey(publicKey: String): Profile? @@ -35,10 +35,10 @@ interface ProfileDao { fun getProfileByPublicKeys(publicKeys: List): List @Query("SELECT * FROM NostrEvent WHERE kind = 0 AND pubKey = :publicKey") - fun observeProfileWithFollowersByPublicKey(publicKey: String): Flow + fun observeProfileWithFollowersByPublicKey(publicKey: String): Flow @Query("SELECT * FROM NostrEvent WHERE kind = 0 AND pubKey = :publicKey") - fun observeProfileWithFollowingByPublicKey(publicKey: String): Flow + fun observeProfileWithFollowingByPublicKey(publicKey: String): Flow @Insert suspend fun insertPlaceholderProfile(profile: Profile) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/QuotedRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/QuotedRelationDao.kt similarity index 59% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/QuotedRelationDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/QuotedRelationDao.kt index 635c0e64..0913b55f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/QuotedRelationDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/QuotedRelationDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert @@ -8,14 +8,14 @@ import androidx.room3.Upsert @Dao interface QuotedRelationDao { @Query("SELECT * FROM QuotedRelation WHERE quotingNostrEventId = :quotingNostrEventId") - fun getRepostByQuotingNostrEventId(quotingNostrEventId: String): at.torch.compose.database.model.QuotedRelation? + fun getRepostByQuotingNostrEventId(quotingNostrEventId: String): press.mantra.compose.database.model.QuotedRelation? @Query("SELECT * FROM QuotedRelation WHERE quotedNostrEventId = :quotedNostrEventId") - fun getRepostByQuotedNostrEventId(quotedNostrEventId: String): at.torch.compose.database.model.QuotedRelation? + fun getRepostByQuotedNostrEventId(quotedNostrEventId: String): press.mantra.compose.database.model.QuotedRelation? @Insert - suspend fun insert(quotedRelation: at.torch.compose.database.model.QuotedRelation) + suspend fun insert(quotedRelation: press.mantra.compose.database.model.QuotedRelation) @Upsert - suspend fun upsert(quotedRelation: at.torch.compose.database.model.QuotedRelation) + suspend fun upsert(quotedRelation: press.mantra.compose.database.model.QuotedRelation) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ReactionDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ReactionDao.kt new file mode 100644 index 00000000..7f6c26c9 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ReactionDao.kt @@ -0,0 +1,18 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert +import kotlinx.coroutines.flow.Flow + +@Dao +interface ReactionDao { + @Query("SELECT * FROM Reaction") + fun getAllReactions(): List + + @Query("SELECT * FROM Reaction WHERE id = :id") + fun getReactionById(id: String): Flow + + @Upsert + suspend fun upsert(reaction: press.mantra.compose.database.model.Reaction) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RecentSearchDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RecentSearchDao.kt new file mode 100644 index 00000000..dc87b1aa --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RecentSearchDao.kt @@ -0,0 +1,22 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Delete +import androidx.room3.Query +import androidx.room3.Upsert +import kotlinx.coroutines.flow.Flow + +@Dao +interface RecentSearchDao { + @Query("SELECT * FROM RecentSearch WHERE `query` = :query") + fun observeRecentSearchByQuery(query: String): Flow + + @Query("SELECT * FROM RecentSearch ORDER BY createdAt DESC LIMIT :limit ") + fun getAllRecentSearches(limit: Int = 21): List + + @Delete + fun deleteRecentSearch(recentSearch: press.mantra.compose.database.model.RecentSearch) + + @Upsert + suspend fun upsert(recentSearch: press.mantra.compose.database.model.RecentSearch) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RelayDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RelayDao.kt new file mode 100644 index 00000000..629616e9 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RelayDao.kt @@ -0,0 +1,19 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert +import kotlinx.coroutines.flow.Flow + +@Dao +interface RelayDao { + @Query("SELECT * FROM Relay") + fun getAllPosts(): List + + @Query("SELECT * FROM Relay WHERE publicKey = :publicKey") + fun observePublicKeyRelays(publicKey: String): Flow> + + @Upsert + suspend fun upsert(relay: press.mantra.compose.database.model.Relay) + +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RepostedRelationDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RepostedRelationDao.kt new file mode 100644 index 00000000..7a47218f --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/RepostedRelationDao.kt @@ -0,0 +1,20 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Query +import androidx.room3.Upsert + +@Dao +interface RepostedRelationDao { + @Query("SELECT * FROM RepostedRelation") + fun getAllReposts(): List + + @Query("SELECT * FROM RepostedRelation WHERE repostingNostrEventId = :repostingNostrEventId") + fun getRepostByRepostingId(repostingNostrEventId: String): press.mantra.compose.database.model.RepostedRelation? + + @Query("SELECT * FROM RepostedRelation WHERE repostedNostrEventId = :repostedNostrEventId") + fun getRepostByRepostedId(repostedNostrEventId: String): press.mantra.compose.database.model.RepostedRelation? + + @Upsert + suspend fun upsert(repostedRelation: press.mantra.compose.database.model.RepostedRelation) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventRequestDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventRequestDao.kt similarity index 65% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventRequestDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventRequestDao.kt index 80781a14..197c33f0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/SynchronizeNostrEventRequestDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventRequestDao.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert @@ -11,14 +11,14 @@ import kotlin.time.Instant @Dao interface SynchronizeNostrEventRequestDao { @Query("SELECT * FROM SynchronizeNostrEventRequest WHERE status = :status AND createdAt > :createdAt") - fun observeSynchronizeNostrEventRequestsByStatus(status: String, createdAt: Instant = Clock.System.now()): Flow + fun observeSynchronizeNostrEventRequestsByStatus(status: String, createdAt: Instant = Clock.System.now()): Flow @Query("SELECT COUNT(*) FROM SynchronizeNostrEventRequest WHERE purpose = :purpose AND status IN (:status) AND createdAt > :createdAt") fun observeSynchronizeNostrEventRequestByPurposeAndStatusCount(purpose: String, status: List, createdAt: Instant = Clock.System.now()): Flow @Upsert - fun upsert(synchronizeNostrEventRequest: at.torch.compose.database.model.SynchronizeNostrEventRequest) + fun upsert(synchronizeNostrEventRequest: press.mantra.compose.database.model.SynchronizeNostrEventRequest) @Insert - fun insert(synchronizeNostrEventRequests: List) + fun insert(synchronizeNostrEventRequests: List) } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventResultDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventResultDao.kt new file mode 100644 index 00000000..9e5fa4f1 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/SynchronizeNostrEventResultDao.kt @@ -0,0 +1,10 @@ +package press.mantra.compose.database.dao + +import androidx.room3.Dao +import androidx.room3.Upsert + +@Dao +interface SynchronizeNostrEventResultDao { + @Upsert + fun upsert(synchronizeNostrEventResult: press.mantra.compose.database.model.SynchronizeNostrEventResult) +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/UnsignedNostrEventDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/UnsignedNostrEventDao.kt similarity index 52% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/UnsignedNostrEventDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/UnsignedNostrEventDao.kt index c5076445..4a84964d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/UnsignedNostrEventDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/UnsignedNostrEventDao.kt @@ -1,29 +1,29 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Insert import androidx.room3.Query import androidx.room3.Transaction import androidx.room3.Upsert -import at.torch.compose.database.model.intermdiate.LocalAccount +import press.mantra.compose.database.model.intermdiate.LocalAccount import kotlinx.coroutines.flow.Flow @Dao interface UnsignedNostrEventDao { @Query("SELECT * FROM UnsignedNostrEvent") - fun getAUnsignedNostrEvents(): List + fun getAUnsignedNostrEvents(): List @Query("SELECT * FROM UnsignedNostrEvent") // TODO: where nostrEvent.unsignedNostrEventId is 0 - fun getAllUnprocessedUnsignedNostrEvents(): List + fun getAllUnprocessedUnsignedNostrEvents(): List @Query("SELECT * FROM UnsignedNostrEvent WHERE id = :id") - fun getUnsignedNostrEventById(id: Long): Flow + fun getUnsignedNostrEventById(id: Long): Flow @Upsert - suspend fun upsert(unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent): Long + suspend fun upsert(unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent): Long @Insert - suspend fun insert(unsignedNostrEvents: List) + suspend fun insert(unsignedNostrEvents: List) @Transaction @Query("SELECT * FROM UnsignedNostrEvent WHERE kind = 0 AND pubKey = :publicKey") @@ -34,5 +34,5 @@ interface UnsignedNostrEventDao { fun getLocalAccounts(): List @Query("SELECT * FROM UnsignedNostrEvent WHERE pubKey = :publicKey AND signedAt IS NULL") - fun observeUnsignedNostrEvents(publicKey: String): Flow + fun observeUnsignedNostrEvents(publicKey: String): Flow } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ZapDao.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ZapDao.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ZapDao.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ZapDao.kt index 68152241..b207876f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/dao/ZapDao.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/dao/ZapDao.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.dao +package press.mantra.compose.database.dao import androidx.room3.Dao import androidx.room3.Query import androidx.room3.Upsert -import at.torch.compose.database.model.Zap +import press.mantra.compose.database.model.Zap import kotlinx.coroutines.flow.Flow @Dao diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventReceipt.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventReceipt.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventReceipt.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventReceipt.kt index 311072e8..cf76320e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventReceipt.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventReceipt.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -35,5 +35,5 @@ data class BroadcastNostrEventReceipt( val isSync: Boolean = false, val relayURL: String, val messages: String? = null -): at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.UnsignedNostrEventEntity \ No newline at end of file +): press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.UnsignedNostrEventEntity \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventRequest.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventRequest.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventRequest.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventRequest.kt index e0854779..d239bca2 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/BroadcastNostrEventRequest.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/BroadcastNostrEventRequest.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Index import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.NostrEventEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UnsignedNostrEventEntity +import press.mantra.compose.database.model.traits.NostrEventEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UnsignedNostrEventEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessage.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessage.kt index 45d18aba..f1de8ca8 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessage.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessage.kt @@ -1,17 +1,15 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.PrimaryKey -import at.torch.compose.database.TorchDatabase -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity -import at.torch.compose.exceptions.GiftWrapImpersonationException -import at.torch.compose.exceptions.MarmotUnprocessableInnerEventException -import at.torch.compose.exceptions.MarmotUnsupportedWireFormatException -import at.torch.compose.extensions.toHex +import press.mantra.compose.database.TorchDatabase +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.exceptions.MarmotUnprocessableInnerEventException +import press.mantra.compose.extensions.toHex import com.vitorpamplona.quartz.marmot.GroupEventResult import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip01Core.core.Event diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt index 3b31a2cb..247cbefb 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventReceiptRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -32,5 +32,5 @@ data class ChatMessageBroadcastNostrEventReceiptRelation( override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = Clock.System.now(), override val savedAt: Instant = Clock.System.now() -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt index e3783c3b..2aee4911 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageBroadcastNostrEventRequestRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -33,5 +33,5 @@ data class ChatMessageBroadcastNostrEventRequestRelation( override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = Clock.System.now(), override val savedAt: Instant = Clock.System.now() -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageNostrEventRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageNostrEventRelation.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageNostrEventRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageNostrEventRelation.kt index 96fa4745..62fba5d3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatMessageNostrEventRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatMessageNostrEventRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -33,5 +33,5 @@ data class ChatMessageNostrEventRelation( override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = Clock.System.now(), override val savedAt: Instant = Clock.System.now(), -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatRoom.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatRoom.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatRoom.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatRoom.kt index 7fb7d8a1..bc4f4717 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/ChatRoom.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/ChatRoom.kt @@ -1,13 +1,13 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Ignore import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup import com.vitorpamplona.quartz.marmot.mls.group.MlsGroupState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Connection.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Connection.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Connection.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Connection.kt index f48dbace..b48493ae 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Connection.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Connection.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -34,8 +34,8 @@ data class Connection( override val savedAt: Instant = Clock.System.now(), override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity +): press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapMessage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapMessage.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapMessage.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapMessage.kt index e5bfba0b..c0b471ea 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapMessage.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapMessage.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -74,11 +74,11 @@ data class GiftWrapMessage( override val savedAt: Instant = Clock.System.now(), override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, // Who this message should be seen by (used to derive conversationId) -): at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity { +): press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity { @Ignore private val logger = Logger.withTag("GiftWrapMessage") diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapPayload.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapPayload.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapPayload.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapPayload.kt index 446a06a7..839e1cab 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapPayload.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapPayload.kt @@ -1,13 +1,13 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Ignore import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapSeal.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapSeal.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapSeal.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapSeal.kt index c6e9469a..a9fbf507 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/GiftWrapSeal.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/GiftWrapSeal.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -62,10 +62,10 @@ data class GiftWrapSeal( override val savedAt: Instant = Clock.System.now(), override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, // Who this message should be seen by (used to derive conversationId) -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity { +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity { @Ignore private val logger = Logger.withTag("GiftWrapMessage") diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/InReplyToRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/InReplyToRelation.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/InReplyToRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/InReplyToRelation.kt index 747a3d25..eb8a1387 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/InReplyToRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/InReplyToRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -56,7 +56,7 @@ data class InReplyToRelation( override val savedAt: Instant = Clock.System.now(), override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotCommitResult.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotCommitResult.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotCommitResult.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotCommitResult.kt index 962a8c51..160a7a5c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotCommitResult.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotCommitResult.kt @@ -1,32 +1,14 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity -import androidx.room3.ForeignKey import androidx.room3.Ignore import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity import co.touchlab.kermit.Logger -import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey -import com.vitorpamplona.quartz.nip01Core.core.Kind -import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair -import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl -import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal -import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate -import com.vitorpamplona.quartz.nip01Core.tags.people.PTag -import com.vitorpamplona.quartz.nip01Core.tags.people.taggedUsers -import com.vitorpamplona.quartz.nip14Subject.subject -import com.vitorpamplona.quartz.nip40Expiration.expiration -import com.vitorpamplona.quartz.nip59Giftwrap.rumors.RumorAssembler -import com.vitorpamplona.quartz.nipC7Chats.ChatEvent -import com.vitorpamplona.quartz.utils.TimeUtils import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotGroupEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotGroupEvent.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotGroupEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotGroupEvent.kt index 99ce1024..a7cc9683 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotGroupEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotGroupEvent.kt @@ -1,22 +1,14 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.NostrEventEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.exceptions.MarmotMissingRetainedExporterSecretsException -import at.torch.compose.extensions.exporterSecret +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption -import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup import com.vitorpamplona.quartz.nip01Core.core.HexKey -import com.vitorpamplona.quartz.nip40Expiration.expiration -import com.vitorpamplona.quartz.utils.Hex -import com.vitorpamplona.quartz.utils.Log import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotInnerEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotInnerEvent.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotInnerEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotInnerEvent.kt index 26c43858..75f3c387 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotInnerEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotInnerEvent.kt @@ -1,33 +1,19 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Ignore import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity -import at.torch.compose.extensions.exporterSecret +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEventEncryption import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup -import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind -import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair -import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl -import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal -import com.vitorpamplona.quartz.nip01Core.signers.eventTemplate -import com.vitorpamplona.quartz.nip01Core.tags.people.PTag -import com.vitorpamplona.quartz.nip01Core.tags.people.taggedUsers -import com.vitorpamplona.quartz.nip14Subject.subject -import com.vitorpamplona.quartz.nip40Expiration.expiration -import com.vitorpamplona.quartz.nip59Giftwrap.rumors.RumorAssembler import com.vitorpamplona.quartz.nipC7Chats.ChatEvent -import com.vitorpamplona.quartz.utils.TimeUtils import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackage.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackage.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackage.kt index 5849bb03..0eb27964 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackage.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackage.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackageBundle.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackageBundle.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackageBundle.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackageBundle.kt index a1fbafba..7098617d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotKeyPackageBundle.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotKeyPackageBundle.kt @@ -1,13 +1,12 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity -import androidx.room3.ForeignKey import androidx.room3.Index import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotRetainedEpochSecret.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotRetainedEpochSecret.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotRetainedEpochSecret.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotRetainedEpochSecret.kt index 8870bc72..49018de0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/MarmotRetainedEpochSecret.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/MarmotRetainedEpochSecret.kt @@ -1,11 +1,9 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Mention.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Mention.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Mention.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Mention.kt index f09cc621..19aaba32 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Mention.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Mention.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeRequest.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeRequest.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeRequest.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeRequest.kt index 287dfcab..bf31361c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeRequest.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeRequest.kt @@ -1,10 +1,10 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Index import androidx.room3.PrimaryKey -import at.torch.compose.network.serialization.encodeToJsonString +import press.mantra.compose.network.serialization.encodeToJsonString import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.utils.sha256.sha256 import io.ktor.utils.io.core.toByteArray @@ -40,13 +40,13 @@ data class NegentropySynchronizeRequest( val level: Int, - val synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, + val synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, override val nostrEventId: HexKey? = null, override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = createdAt, -): at.torch.compose.database.model.traits.OptionalNostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity { +): press.mantra.compose.database.model.traits.OptionalNostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity { fun toSynchronizeNostrEventRequest(): SynchronizeNostrEventRequest { val since = synchronizationFilter.since // TODO: Update since -> until based on what we have in the local db... @@ -69,7 +69,7 @@ data class NegentropySynchronizeRequest( companion object { fun computeId( relayURL: String, - synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, + synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, ): String { return sha256( data = relayURL.toByteArray() diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeResult.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeResult.kt similarity index 88% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeResult.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeResult.kt index fc511a2d..71aad5ca 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NegentropySynchronizeResult.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NegentropySynchronizeResult.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -29,4 +29,4 @@ data class NegentropySynchronizeResult( override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = createdAt, -): at.torch.compose.database.model.traits.TimestampedEntity \ No newline at end of file +): press.mantra.compose.database.model.traits.TimestampedEntity \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEvent.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEvent.kt index 16eef63f..c6c824fd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.Ignore @@ -20,7 +20,6 @@ import com.vitorpamplona.quartz.nip18Reposts.quotes.QAddressableTag import com.vitorpamplona.quartz.nip18Reposts.quotes.QEventTag import com.vitorpamplona.quartz.nip18Reposts.quotes.firstTaggedQuote import com.vitorpamplona.quartz.nip25Reactions.ReactionEvent -import com.vitorpamplona.quartz.nip40Expiration.expiration import com.vitorpamplona.quartz.nip57Zaps.LnZapEvent import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent import com.vitorpamplona.quartz.utils.EventFactory @@ -75,11 +74,11 @@ data class NostrEvent( override val savedAt: Instant = Clock.System.now(), override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.UnsignedNostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity { +): press.mantra.compose.database.model.traits.UnsignedNostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity { @Ignore private val logger = Logger.withTag("NostrEvent") @@ -384,8 +383,8 @@ data class NostrEvent( } } - val quotedNotes = at.torch.compose.ui.composable.widgets.content.ContentParser.parse(content.trimEnd('\n', '\r'), emptyMap(), emptyMap(), trimBlankLines = true) - .filterIsInstance() + val quotedNotes = press.mantra.compose.ui.composable.widgets.content.ContentParser.parse(content.trimEnd('\n', '\r'), emptyMap(), emptyMap(), trimBlankLines = true) + .filterIsInstance() .firstOrNull() return quotedNotes?.let { quotedNote -> diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEventRelay.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEventRelay.kt similarity index 78% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEventRelay.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEventRelay.kt index 58b09959..da5f5f95 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/NostrEventRelay.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/NostrEventRelay.kt @@ -1,10 +1,10 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Index -import at.torch.compose.database.model.traits.NostrEventEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.NostrEventEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Participant.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Participant.kt similarity index 88% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Participant.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Participant.kt index 68fddc5c..c5990147 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Participant.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Participant.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup import com.vitorpamplona.quartz.marmot.mls.tree.Credential import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Post.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Post.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Post.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Post.kt index d58fc8fa..867f2688 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Post.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Post.kt @@ -1,17 +1,17 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Index import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.BroadcastableEntity -import at.torch.compose.database.model.traits.LocalStoreEntity -import at.torch.compose.database.model.traits.NostrEventEntity -import at.torch.compose.database.model.traits.ProfilePublicKeyEntity -import at.torch.compose.database.model.traits.ReplyingToEntity -import at.torch.compose.database.model.traits.SoftDeletableEntity -import at.torch.compose.database.model.traits.TimestampedEntity -import at.torch.compose.database.model.traits.UserViewableEntity +import press.mantra.compose.database.model.traits.BroadcastableEntity +import press.mantra.compose.database.model.traits.LocalStoreEntity +import press.mantra.compose.database.model.traits.NostrEventEntity +import press.mantra.compose.database.model.traits.ProfilePublicKeyEntity +import press.mantra.compose.database.model.traits.ReplyingToEntity +import press.mantra.compose.database.model.traits.SoftDeletableEntity +import press.mantra.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.UserViewableEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Profile.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Profile.kt similarity index 85% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Profile.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Profile.kt index 13fc9f2f..fdff1542 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Profile.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Profile.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -20,6 +20,7 @@ import androidx.room3.Index import androidx.room3.PrimaryKey import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl import com.vitorpamplona.quartz.nip51Lists.relayLists.RelayFeedsListEvent +import press.mantra.compose.ui.theme.TorchTheme import kotlin.time.Clock import kotlin.time.Instant @@ -62,12 +63,12 @@ data class Profile( override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity { +): press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity { fun humanReadableNameOrPubkey(): String { return if (!displayName.isNullOrBlank()) { displayName @@ -95,7 +96,7 @@ data class Profile( } suspend fun profilePublicRelays( - nostrRepository: at.torch.compose.repository.NostrRepository + nostrRepository: press.mantra.compose.repository.NostrRepository ): List? { val relays = nostrRepository.getNostrEvent( publicKey, @@ -123,7 +124,7 @@ data class Profile( @Composable fun RenderAsListItem( activeUserPublicKey: String, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Card( modifier = Modifier.fillMaxWidth().padding( @@ -132,7 +133,7 @@ data class Profile( ), onClick = { onNavigateToEvent.invoke( - _root_ide_package_.at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute( + press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute( activeUserPublicKey = activeUserPublicKey, nostrEventId ) @@ -150,7 +151,7 @@ data class Profile( Column( modifier = Modifier.padding(4.dp) ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( publicKey = publicKey, profile = this@Profile ) @@ -172,7 +173,7 @@ data class Profile( Text( text = staticIdentifier, style = MaterialTheme.typography.labelMedium, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(publicKey) + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(publicKey) ) } @@ -194,7 +195,7 @@ fun ProfileRenderAsListItemPreview( about = "I am the stone that the builder refused.", nostrEventId = "nostrEventId" ) - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/QuotedRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/QuotedRelation.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/QuotedRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/QuotedRelation.kt index b738826c..5fc0496b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/QuotedRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/QuotedRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -45,8 +45,8 @@ data class QuotedRelation( override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Reaction.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Reaction.kt similarity index 73% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Reaction.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Reaction.kt index c02bc11b..daeecc0a 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Reaction.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Reaction.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -52,11 +52,11 @@ data class Reaction( override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.ReplyingToEntity, - at.torch.compose.database.model.traits.ProfilePublicKeyEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity +): press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.ReplyingToEntity, + press.mantra.compose.database.model.traits.ProfilePublicKeyEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RecentSearch.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RecentSearch.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RecentSearch.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RecentSearch.kt index bb2742bb..123eeb21 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RecentSearch.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RecentSearch.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.PrimaryKey @@ -10,11 +10,11 @@ data class RecentSearch( @PrimaryKey val query: String, - val synchronizationFilters: Array? = null, + val synchronizationFilters: Array? = null, override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = createdAt, -): at.torch.compose.database.model.traits.TimestampedEntity { +): press.mantra.compose.database.model.traits.TimestampedEntity { override fun equals(other: Any?): Boolean { if (this === other) return true if (other == null || this::class != other::class) return false diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Relay.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Relay.kt similarity index 83% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Relay.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Relay.kt index 965a8f67..5cf195ba 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Relay.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Relay.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RepostedRelation.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RepostedRelation.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RepostedRelation.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RepostedRelation.kt index f54b1209..a9f506ee 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/RepostedRelation.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/RepostedRelation.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -44,8 +44,8 @@ data class RepostedRelation( override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventRequest.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventRequest.kt similarity index 87% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventRequest.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventRequest.kt index 5eb4e872..822a6e2b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventRequest.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventRequest.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -41,15 +41,15 @@ data class SynchronizeNostrEventRequest( val level: Int, - val synchronizationFilters: Array, + val synchronizationFilters: Array, override val nostrEventId: HexKey? = null, override val unsignedNostrEventId: Long? = null, override val createdAt: Instant = Clock.System.now(), override val updatedAt: Instant = createdAt, -): at.torch.compose.database.model.traits.OptionalNostrEventEntity, - at.torch.compose.database.model.traits.UnsignedNostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity { +): press.mantra.compose.database.model.traits.OptionalNostrEventEntity, + press.mantra.compose.database.model.traits.UnsignedNostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity { override fun equals(other: Any?): Boolean { if (this === other) return true if (other == null || this::class != other::class) return false diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventResult.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventResult.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventResult.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventResult.kt index f0f7fbbb..f6f9a48e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/SynchronizeNostrEventResult.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/SynchronizeNostrEventResult.kt @@ -1,11 +1,11 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey import androidx.room3.Index import androidx.room3.PrimaryKey -import at.torch.compose.database.model.traits.OptionalNostrEventEntity -import at.torch.compose.database.model.traits.TimestampedEntity +import press.mantra.compose.database.model.traits.OptionalNostrEventEntity +import press.mantra.compose.database.model.traits.TimestampedEntity import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlin.time.Clock import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/UnsignedNostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/UnsignedNostrEvent.kt similarity index 87% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/UnsignedNostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/UnsignedNostrEvent.kt index 72b98e5a..99d3026b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/UnsignedNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/UnsignedNostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.Index @@ -31,10 +31,10 @@ data class UnsignedNostrEvent( override val savedAt: Instant = Clock.System.now(), override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -): at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity { +): press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity { override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Zap.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Zap.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Zap.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Zap.kt index 5a86232b..8be34474 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/Zap.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/Zap.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model +package press.mantra.compose.database.model import androidx.room3.Entity import androidx.room3.ForeignKey @@ -61,9 +61,9 @@ data class Zap( override val viewedAt: Instant? = null, override val deletedAt: Instant? = null, override val broadcastedAt: Instant? = null, -) : at.torch.compose.database.model.traits.NostrEventEntity, - at.torch.compose.database.model.traits.TimestampedEntity, - at.torch.compose.database.model.traits.LocalStoreEntity, - at.torch.compose.database.model.traits.UserViewableEntity, - at.torch.compose.database.model.traits.BroadcastableEntity, - at.torch.compose.database.model.traits.SoftDeletableEntity +) : press.mantra.compose.database.model.traits.NostrEventEntity, + press.mantra.compose.database.model.traits.TimestampedEntity, + press.mantra.compose.database.model.traits.LocalStoreEntity, + press.mantra.compose.database.model.traits.UserViewableEntity, + press.mantra.compose.database.model.traits.BroadcastableEntity, + press.mantra.compose.database.model.traits.SoftDeletableEntity diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalAccount.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalAccount.kt similarity index 50% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalAccount.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalAccount.kt index 915f9cad..c7dc9731 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalAccount.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalAccount.kt @@ -1,39 +1,39 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Relation data class LocalAccount( - @Embedded val unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent?, + @Embedded val unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent?, @Relation( parentColumns = ["id"], entityColumns = ["unsignedNostrEventId"] ) - val nostrEvent: at.torch.compose.database.model.NostrEvent?, + val nostrEvent: press.mantra.compose.database.model.NostrEvent?, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, @Relation( parentColumns = ["id"], entityColumns = ["unsignedNostrEventId"] ) - val broadcastNostrEventRequest: at.torch.compose.database.model.BroadcastNostrEventRequest?, + val broadcastNostrEventRequest: press.mantra.compose.database.model.BroadcastNostrEventRequest?, @Relation( parentColumns = ["id"], entityColumns = ["unsignedNostrEventId"] ) - val broadcastNostrEventReceipt: at.torch.compose.database.model.BroadcastNostrEventReceipt?, + val broadcastNostrEventReceipt: press.mantra.compose.database.model.BroadcastNostrEventReceipt?, @Relation( parentColumns = ["id"], entityColumns = ["unsignedNostrEventId"] ) - val synchronizeNostrEventRequests: List, + val synchronizeNostrEventRequests: List, ) diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt new file mode 100644 index 00000000..d4fb0dc1 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalBroadcastNostrEventRequest.kt @@ -0,0 +1,14 @@ +package press.mantra.compose.database.model.intermdiate + +import androidx.room3.Embedded +import androidx.room3.Relation + +data class LocalBroadcastNostrEventRequest( + @Embedded val broadcastNostrEventRequest: press.mantra.compose.database.model.BroadcastNostrEventRequest, + + @Relation( + parentColumns = ["nostrEventId"], + entityColumns = ["id"] + ) + val nostrEvent: press.mantra.compose.database.model.NostrEvent, +) diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatMessage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatMessage.kt new file mode 100644 index 00000000..e4587a90 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatMessage.kt @@ -0,0 +1,34 @@ +package press.mantra.compose.database.model.intermdiate + +import androidx.room3.Embedded +import androidx.room3.Relation + +data class LocalChatMessage( + @Embedded val chatMessage: press.mantra.compose.database.model.ChatMessage, + + @Relation( + parentColumns = ["senderPublicKey"], + entityColumns = ["publicKey"] + ) + val profile: press.mantra.compose.database.model.Profile?, + + @Relation( + parentColumns = ["id"], + entityColumns = ["chatMessageId"] + ) + val chatMessageBroadcastNostrEventReceiptRelation: press.mantra.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation? = null, + + + @Relation( + parentColumns = ["id"], + entityColumns = ["chatMessageId"] + ) + val chatMessageBroadcastNostrEventRequestRelation: press.mantra.compose.database.model.ChatMessageBroadcastNostrEventRequestRelation? = null, + + + @Relation( + parentColumns = ["id"], + entityColumns = ["chatMessageId"] + ) + val chatMessageNostrEventRelation: press.mantra.compose.database.model.ChatMessageNostrEventRelation? = null, +) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatRoom.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatRoom.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatRoom.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatRoom.kt index 95c32576..74e5c014 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalChatRoom.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalChatRoom.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -7,9 +7,9 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.Participant -import at.torch.compose.ui.composable.widgets.profile.ProfileColor +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.Participant +import press.mantra.compose.ui.composable.widgets.profile.ProfileColor data class LocalChatRoom( @Embedded val chatRoom: ChatRoom, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt index d7a9b364..a703cbfd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalInReplyToNostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -15,25 +15,26 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar data class LocalInReplyToNostrEvent( - @Embedded val inReplyToRelation: at.torch.compose.database.model.InReplyToRelation, + @Embedded val inReplyToRelation: press.mantra.compose.database.model.InReplyToRelation, @Relation( parentColumns = ["inReplyToNostrEventId"], entityColumns = ["id"] ) - val nostrEvent: at.torch.compose.database.model.NostrEvent, + val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["inReplyToProfilePublicKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, @Relation( - entity = at.torch.compose.database.model.Mention::class, + entity = press.mantra.compose.database.model.Mention::class, parentColumns = ["inReplyToNostrEventId"], entityColumns = ["mentioningNostrEventId"], ) @@ -49,7 +50,7 @@ data class LocalInReplyToNostrEvent( ) { val profile = profile - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + ProfileAvatar( profile = profile, publicKey = nostrEvent.pubKey ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalMention.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalMention.kt similarity index 51% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalMention.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalMention.kt index f3d8ffca..cbc7780d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalMention.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalMention.kt @@ -1,14 +1,14 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Relation data class LocalMention( - @Embedded val mention: at.torch.compose.database.model.Mention, + @Embedded val mention: press.mantra.compose.database.model.Mention, @Relation( parentColumns = ["mentionedPublicKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalNostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalNostrEvent.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalNostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalNostrEvent.kt index 4ca02a43..a2921318 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalNostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -13,41 +13,43 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey +import press.mantra.compose.ui.composable.widgets.content.RichContent +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar data class LocalNostrEvent( - @Embedded val nostrEvent: at.torch.compose.database.model.NostrEvent, + @Embedded val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, @Relation( - entity = at.torch.compose.database.model.RepostedRelation::class, + entity = press.mantra.compose.database.model.RepostedRelation::class, parentColumns = ["id"], entityColumns = ["repostingNostrEventId"] ) val localRepostedNostrEvent: LocalRepostedNostrEvent? = null, @Relation( - entity = at.torch.compose.database.model.QuotedRelation::class, + entity = press.mantra.compose.database.model.QuotedRelation::class, parentColumns = ["id"], entityColumns = ["quotingNostrEventId"] ) val localQuotedNostrEvent: LocalQuotedNostrEvent? = null, @Relation( - entity = at.torch.compose.database.model.InReplyToRelation::class, + entity = press.mantra.compose.database.model.InReplyToRelation::class, parentColumns = ["id"], entityColumns = ["replyingNostrEventId"] ) val localInReplyToNostrEvent: LocalInReplyToNostrEvent? = null, @Relation( - entity = at.torch.compose.database.model.Mention::class, + entity = press.mantra.compose.database.model.Mention::class, parentColumns = ["id"], entityColumns = ["mentioningNostrEventId"], ) @@ -65,7 +67,7 @@ data class LocalNostrEvent( ) { val profile = profile - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + ProfileAvatar( profile = profile, publicKey = nostrEvent.pubKey ) @@ -86,7 +88,7 @@ data class LocalNostrEvent( } } } - _root_ide_package_.at.torch.compose.ui.composable.widgets.content.RichContent( + RichContent( modifier = Modifier.fillMaxWidth().padding( horizontal = 20.dp ), diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalParticipant.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalParticipant.kt similarity index 50% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalParticipant.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalParticipant.kt index 459bb695..4f42f919 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalParticipant.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalParticipant.kt @@ -1,14 +1,14 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Relation data class LocalParticipant( - @Embedded val participant: at.torch.compose.database.model.Participant, + @Embedded val participant: press.mantra.compose.database.model.Participant, @Relation( parentColumns = ["participantPublicKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalPost.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalPost.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalPost.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalPost.kt index 13399087..cdd630fd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalPost.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalPost.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.database.model.Post -import at.torch.compose.database.model.Profile +import press.mantra.compose.database.model.Post +import press.mantra.compose.database.model.Profile data class LocalPost( @Embedded val post: Post, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfile.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfile.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfile.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfile.kt index b1a6599c..2914ca1d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfile.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfile.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile data class LocalProfile( @Embedded val nostrEvent: NostrEvent, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowers.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowers.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowers.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowers.kt index 399245c2..1d9eac1b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowers.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowers.kt @@ -1,26 +1,26 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Junction import androidx.room3.Relation data class LocalProfileWithFollowers( - @Embedded val nostrEvent: at.torch.compose.database.model.NostrEvent, + @Embedded val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile, + val profile: press.mantra.compose.database.model.Profile, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"], associateBy = Junction( - value = at.torch.compose.database.model.Connection::class, + value = press.mantra.compose.database.model.Connection::class, parentColumns = ["destinationPublicKey"], entityColumns = ["sourcePublicKey"] ) ) - val followers: List + val followers: List ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowing.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowing.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowing.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowing.kt index 61625589..2324f1ae 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalProfileWithFollowing.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalProfileWithFollowing.kt @@ -1,26 +1,26 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.room3.Embedded import androidx.room3.Junction import androidx.room3.Relation data class LocalProfileWithFollowing( - @Embedded val nostrEvent: at.torch.compose.database.model.NostrEvent, + @Embedded val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile, + val profile: press.mantra.compose.database.model.Profile, @Relation( parentColumns = ["pubKey"], entityColumns = ["publicKey"], associateBy = Junction( - value = at.torch.compose.database.model.Connection::class, + value = press.mantra.compose.database.model.Connection::class, parentColumns = ["sourcePublicKey"], entityColumns = ["destinationPublicKey"] ) ) - val following: List + val following: List ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt index d64b91ad..246e840f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalQuotedNostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -15,26 +15,32 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.QuotedRelation +import press.mantra.compose.ui.composable.widgets.content.RichContent +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.theme.TorchTheme data class LocalQuotedNostrEvent( - @Embedded val quotedRelation: at.torch.compose.database.model.QuotedRelation, + @Embedded val quotedRelation: press.mantra.compose.database.model.QuotedRelation, @Relation( parentColumns = ["quotedNostrEventId"], entityColumns = ["id"] ) - val nostrEvent: at.torch.compose.database.model.NostrEvent, + val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["quotedProfilePublicKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, @Relation( - entity = at.torch.compose.database.model.Mention::class, + entity = press.mantra.compose.database.model.Mention::class, parentColumns = ["quotedNostrEventId"], entityColumns = ["mentioningNostrEventId"], ) @@ -56,7 +62,7 @@ data class LocalQuotedNostrEvent( horizontalArrangement = Arrangement.spacedBy(10.dp, Alignment.Start), verticalAlignment = Alignment.CenterVertically ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + ProfileAvatar( publicKey = nostrEvent.pubKey, profile = profile ) @@ -73,7 +79,7 @@ data class LocalQuotedNostrEvent( Text( text = staticIdentifier, style = MaterialTheme.typography.bodySmall, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromProfile(profile) + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromProfile(profile) ) } } @@ -83,7 +89,7 @@ data class LocalQuotedNostrEvent( horizontal = 10.dp ) ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.content.RichContent( + RichContent( nostrEvent = nostrEvent, localQuotedNostrEvent = null, mentionedProfiles = mentionedProfiles, @@ -107,12 +113,12 @@ data class LocalQuotedNostrEvent( @Preview @Composable private fun LocalQuotedNostrEventPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { LocalQuotedNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = NostrEvent( id = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6", content = "God is not in the habit of coming down from heaven to solve people’s problems on earth.", pubKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", @@ -120,12 +126,12 @@ private fun LocalQuotedNostrEventPreview() { sig = "hexsig", tags = emptyArray() ), - quotedRelation = _root_ide_package_.at.torch.compose.database.model.QuotedRelation( + quotedRelation = QuotedRelation( quotingNostrEventId = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a520", quotedProfilePublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", quotedNostrEventId = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6" ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Steve Biko" diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt index 65781a06..f2c4dd26 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/intermdiate/LocalRepostedNostrEvent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.intermdiate +package press.mantra.compose.database.model.intermdiate import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -15,25 +15,26 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.room3.Embedded import androidx.room3.Relation -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar data class LocalRepostedNostrEvent( - @Embedded val repostedRelation: at.torch.compose.database.model.RepostedRelation, + @Embedded val repostedRelation: press.mantra.compose.database.model.RepostedRelation, @Relation( parentColumns = ["repostedNostrEventId"], entityColumns = ["id"] ) - val nostrEvent: at.torch.compose.database.model.NostrEvent, + val nostrEvent: press.mantra.compose.database.model.NostrEvent, @Relation( parentColumns = ["repostedProfilePublicKey"], entityColumns = ["publicKey"] ) - val profile: at.torch.compose.database.model.Profile?, + val profile: press.mantra.compose.database.model.Profile?, @Relation( - entity = at.torch.compose.database.model.Mention::class, + entity = press.mantra.compose.database.model.Mention::class, parentColumns = ["repostedNostrEventId"], entityColumns = ["mentioningNostrEventId"], ) @@ -49,7 +50,7 @@ data class LocalRepostedNostrEvent( ) { val profile = profile - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + ProfileAvatar( profile = profile, publicKey = nostrEvent.pubKey ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/BroadcastableEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/BroadcastableEntity.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/BroadcastableEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/BroadcastableEntity.kt index 351bd01f..ea237627 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/BroadcastableEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/BroadcastableEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/LocalStoreEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/LocalStoreEntity.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/LocalStoreEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/LocalStoreEntity.kt index ac4a7ba1..7e2016ac 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/LocalStoreEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/LocalStoreEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/NostrEventEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/NostrEventEntity.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/NostrEventEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/NostrEventEntity.kt index dafa9978..94e7dd32 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/NostrEventEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/NostrEventEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/OptionalNostrEventEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/OptionalNostrEventEntity.kt similarity index 70% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/OptionalNostrEventEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/OptionalNostrEventEntity.kt index d5fb402a..0ca20e4e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/OptionalNostrEventEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/OptionalNostrEventEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ProfilePublicKeyEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ProfilePublicKeyEntity.kt similarity index 70% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ProfilePublicKeyEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ProfilePublicKeyEntity.kt index d9c3c9ca..88ea5444 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ProfilePublicKeyEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ProfilePublicKeyEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ReplyingToEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ReplyingToEntity.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ReplyingToEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ReplyingToEntity.kt index 31ac888e..520850d5 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/ReplyingToEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/ReplyingToEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/SoftDeletableEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/SoftDeletableEntity.kt similarity index 63% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/SoftDeletableEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/SoftDeletableEntity.kt index 41747908..8f31fc44 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/SoftDeletableEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/SoftDeletableEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/TimestampedEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/TimestampedEntity.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/TimestampedEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/TimestampedEntity.kt index 54596edc..ab406ed3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/TimestampedEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/TimestampedEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UnsignedNostrEventEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UnsignedNostrEventEntity.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UnsignedNostrEventEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UnsignedNostrEventEntity.kt index 8e900c56..42be7007 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UnsignedNostrEventEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UnsignedNostrEventEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits interface UnsignedNostrEventEntity { val unsignedNostrEventId: Long? diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UserViewableEntity.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UserViewableEntity.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UserViewableEntity.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UserViewableEntity.kt index 9397b2a6..e4566532 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/traits/UserViewableEntity.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/traits/UserViewableEntity.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.traits +package press.mantra.compose.database.model.traits import kotlin.time.Instant diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/HexArray.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/HexArray.kt new file mode 100644 index 00000000..b0f09d5c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/HexArray.kt @@ -0,0 +1,4 @@ +package press.mantra.compose.database.model.typealiases + +typealias HexArray = Array + diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/KindArray.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/KindArray.kt new file mode 100644 index 00000000..8dcc654d --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/KindArray.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.database.model.typealiases + +typealias KindArray = Array \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/SynchronizationFilterArray.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/SynchronizationFilterArray.kt new file mode 100644 index 00000000..61d9d40d --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/typealiases/SynchronizationFilterArray.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.database.model.typealiases + +typealias SynchronizationFilterArray = Array \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/types/SynchronizationFilter.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/types/SynchronizationFilter.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/model/types/SynchronizationFilter.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/types/SynchronizationFilter.kt index d16e28db..3908ebd7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/model/types/SynchronizationFilter.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/model/types/SynchronizationFilter.kt @@ -1,4 +1,4 @@ -package at.torch.compose.database.model.types +package press.mantra.compose.database.model.types import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseChatRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseChatRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt index ab0c7658..2afbb8d3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseChatRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseChatRepository.kt @@ -1,15 +1,15 @@ -package at.torch.compose.database.repository +package press.mantra.compose.database.repository -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.TorchDatabase -import at.torch.compose.database.model.ChatMessage -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.GiftWrapPayload -import at.torch.compose.database.model.MarmotInnerEvent -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.intermdiate.LocalChatMessage -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.TorchDatabase +import press.mantra.compose.database.model.ChatMessage +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.intermdiate.LocalChatMessage +import press.mantra.compose.database.model.intermdiate.LocalChatRoom import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip02Welcome.WelcomeEvent import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup @@ -37,7 +37,7 @@ import kotlin.time.Instant class DatabaseChatRepository( private val database: TorchDatabase, private val scope: CoroutineScope -): at.torch.compose.repository.ChatRepository { +): press.mantra.compose.repository.ChatRepository { val logger = Logger.withTag(TAG) override suspend fun observeChatRoomListByPublicKey(publicKey: String): Flow> { return database.chatRoomDao().observeChatRoomListByUserPublicKey(publicKey) @@ -246,7 +246,7 @@ class DatabaseChatRepository( override fun updateChatRoomSubject( publicKey: String, subject: String - ): at.torch.compose.database.model.ChatRoom? { + ): press.mantra.compose.database.model.ChatRoom? { // TODO: Update chatRoom with subject... return null } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseMarmotRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseMarmotRepository.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseMarmotRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseMarmotRepository.kt index 21bc73eb..3e2180f6 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseMarmotRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseMarmotRepository.kt @@ -1,12 +1,12 @@ -package at.torch.compose.database.repository +package press.mantra.compose.database.repository -import at.torch.compose.database.TorchDatabase -import at.torch.compose.database.model.MarmotInnerEvent -import at.torch.compose.database.model.MarmotKeyPackageBundle -import at.torch.compose.database.model.UnsignedNostrEvent -import at.torch.compose.extensions.toHex -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.MarmotRepository +import press.mantra.compose.database.TorchDatabase +import press.mantra.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.database.model.UnsignedNostrEvent +import press.mantra.compose.extensions.toHex +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.MarmotRepository import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRotationManager.Companion.KEY_PACKAGE_LIFETIME_SECONDS diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseNostrRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseNostrRepository.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseNostrRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseNostrRepository.kt index 1f83fb8b..2725e624 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/database/repository/DatabaseNostrRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseNostrRepository.kt @@ -1,15 +1,15 @@ -package at.torch.compose.database.repository +package press.mantra.compose.database.repository -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.UnsignedNostrEvent -import at.torch.compose.database.model.intermdiate.LocalAccount -import at.torch.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.extensions.toHex -import at.torch.compose.nostr.Relays +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.UnsignedNostrEvent +import press.mantra.compose.database.model.intermdiate.LocalAccount +import press.mantra.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.extensions.toHex +import press.mantra.compose.nostr.Relays import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageRelayListEvent import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent @@ -51,9 +51,9 @@ import kotlin.time.Clock import kotlin.time.Instant class DatabaseNostrRepository( - private val database: at.torch.compose.database.TorchDatabase, + private val database: press.mantra.compose.database.TorchDatabase, private val scope: CoroutineScope -): at.torch.compose.repository.NostrRepository, at.torch.compose.repository.RelayRepository { +): press.mantra.compose.repository.NostrRepository, press.mantra.compose.repository.RelayRepository { companion object { const val TAG = "DatabaseNostrRepository" @@ -81,14 +81,14 @@ class DatabaseNostrRepository( override suspend fun observeRelation( publicKey: HexKey, activePublicKey: HexKey - ): Flow> { + ): Flow> { return database.connectionDao().observeRelation( alicePublicKey = publicKey, bobPublicKey = activePublicKey ) } - override suspend fun deleteConnection(connection: at.torch.compose.database.model.Connection) { + override suspend fun deleteConnection(connection: press.mantra.compose.database.model.Connection) { database.connectionDao().delete(connection) } @@ -100,11 +100,11 @@ class DatabaseNostrRepository( return database.broadcastNostrEventRequestDao().observeBroadcastNostrEventRequestsByStatus("pending") } - override suspend fun observePendingSynchronizeNostrEventRequests(): Flow { + override suspend fun observePendingSynchronizeNostrEventRequests(): Flow { return database.synchronizeNostrEventRequestDao().observeSynchronizeNostrEventRequestsByStatus("pending") } - override suspend fun observePendingNegentropySynchronizeRequests(): Flow { + override suspend fun observePendingNegentropySynchronizeRequests(): Flow { return database.negentropySynchronizeRequestDao().observeNegentropySynchronizeRequestsByStatus("pending") } @@ -224,8 +224,8 @@ class DatabaseNostrRepository( publicKey: HexKey, mentionedPublicKeys: List, textInput: String, - inReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent?, - quotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent?, + inReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent?, + quotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent?, onError: () -> Unit, onSuccess: () -> Unit ) { @@ -393,7 +393,7 @@ class DatabaseNostrRepository( if (status == "published") { val broadcastNostrEventReceiptId = database.broadcastNostrEventReceiptDao().upsert( - _root_ide_package_.at.torch.compose.database.model.BroadcastNostrEventReceipt( + _root_ide_package_.press.mantra.compose.database.model.BroadcastNostrEventReceipt( nostrEventId = broadcastNostrEventRequest.nostrEventId, unsignedNostrEventId = broadcastNostrEventRequest.unsignedNostrEventId, isAccepted = true, @@ -406,7 +406,7 @@ class DatabaseNostrRepository( )?.let { chatMessageBroadcastNostrEventRequestRelation -> // This is actually a chatMessage related broadcast event... database.chatMessageBroadcastNostrEventReceiptRelationDao().upsert( - _root_ide_package_.at.torch.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation( + _root_ide_package_.press.mantra.compose.database.model.ChatMessageBroadcastNostrEventReceiptRelation( chatMessageId = chatMessageBroadcastNostrEventRequestRelation.chatMessageId, broadcastNostrEventReceiptId = broadcastNostrEventReceiptId ) @@ -439,7 +439,7 @@ class DatabaseNostrRepository( } } - override suspend fun synchronizeNostrEventRequestProcessed(synchronizeNostrEventRequest: at.torch.compose.database.model.SynchronizeNostrEventRequest) { + override suspend fun synchronizeNostrEventRequestProcessed(synchronizeNostrEventRequest: press.mantra.compose.database.model.SynchronizeNostrEventRequest) { database.synchronizeNostrEventRequestDao().upsert( synchronizeNostrEventRequest.copy( status = "sent", @@ -448,7 +448,7 @@ class DatabaseNostrRepository( ) } - override suspend fun negentropySynchronizeRequestProcessed(negentropySynchronizeRequest: at.torch.compose.database.model.NegentropySynchronizeRequest) { + override suspend fun negentropySynchronizeRequestProcessed(negentropySynchronizeRequest: press.mantra.compose.database.model.NegentropySynchronizeRequest) { database.negentropySynchronizeRequestDao().upsert( negentropySynchronizeRequest.copy( status = "sent", @@ -457,7 +457,7 @@ class DatabaseNostrRepository( ) } - override suspend fun saveBroadcastReceipt(broadcastNostrEventReceipt: at.torch.compose.database.model.BroadcastNostrEventReceipt) { + override suspend fun saveBroadcastReceipt(broadcastNostrEventReceipt: press.mantra.compose.database.model.BroadcastNostrEventReceipt) { database.broadcastNostrEventReceiptDao().upsert( broadcastNostrEventReceipt ) @@ -465,7 +465,7 @@ class DatabaseNostrRepository( override suspend fun saveNostrEvent( nostrEvent: NostrEvent, - synchronizeNostrEventRequest: at.torch.compose.database.model.SynchronizeNostrEventRequest, + synchronizeNostrEventRequest: press.mantra.compose.database.model.SynchronizeNostrEventRequest, synchronizationRelayURLs: List, activeKeyPair: KeyPair, ) { @@ -497,7 +497,7 @@ class DatabaseNostrRepository( override suspend fun saveNostrEvent( nostrEvent: NostrEvent, - negentropySynchronizeRequest: at.torch.compose.database.model.NegentropySynchronizeRequest, + negentropySynchronizeRequest: press.mantra.compose.database.model.NegentropySynchronizeRequest, synchronizationRelayURLs: List, activeKeyPair: KeyPair ) { @@ -526,14 +526,14 @@ class DatabaseNostrRepository( } override suspend fun queueSynchronizeNostrEvent( - synchronizeNostrEventRequests: List, + synchronizeNostrEventRequests: List, ) { database.synchronizeNostrEventRequestDao().insert( synchronizeNostrEventRequests ) } - override suspend fun queueNegentropySynchronizeRequest(negentropySynchronizeRequests: List) { + override suspend fun queueNegentropySynchronizeRequest(negentropySynchronizeRequests: List) { database.negentropySynchronizeRequestDao().insert( negentropySynchronizeRequests ) @@ -553,7 +553,7 @@ class DatabaseNostrRepository( ) } - override suspend fun observeNostrFeed(): Flow> { + override suspend fun observeNostrFeed(): Flow> { return database.nostrEventDao().observeNostrEvents( kinds = arrayOf( TextNoteEvent.KIND, @@ -564,7 +564,7 @@ class DatabaseNostrRepository( ) } - override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow> { + override suspend fun observeNostrFeed(synchronizationFilter: SynchronizationFilter): Flow> { return when { synchronizationFilter.kinds != null && synchronizationFilter.search != null -> { logger.d("observeFilteredNostrEvents: $synchronizationFilter") @@ -744,50 +744,50 @@ class DatabaseNostrRepository( } } - override suspend fun observeLocalNostrEventById(nostrEventId: String): Flow { + override suspend fun observeLocalNostrEventById(nostrEventId: String): Flow { return database.nostrEventDao().observeNostrEventById(nostrEventId) } - override suspend fun searchableProfiles(excludingPublicKeys: Array): List { + override suspend fun searchableProfiles(excludingPublicKeys: Array): List { return database.profileDao().getAllProfilesExcludingOnesWithThesePublicKeys( excludedPublicKeys = excludingPublicKeys ) } - override suspend fun filterProfiles(searchTerm: String): List { + override suspend fun filterProfiles(searchTerm: String): List { return database.profileDao().filterProfiles(searchTerm = searchTerm) } - override suspend fun observeProfileWithFollowers(publicKey: String): Flow { + override suspend fun observeProfileWithFollowers(publicKey: String): Flow { return database.profileDao().observeProfileWithFollowersByPublicKey(publicKey) } - override suspend fun observeProfileWithFollowing(publicKey: String): Flow { + override suspend fun observeProfileWithFollowing(publicKey: String): Flow { return database.profileDao().observeProfileWithFollowingByPublicKey(publicKey) } - override suspend fun getRecentSearches(): List { + override suspend fun getRecentSearches(): List { return database.recentSearchDao().getAllRecentSearches() } - override suspend fun removeRecentSearch(recentSearch: at.torch.compose.database.model.RecentSearch) { + override suspend fun removeRecentSearch(recentSearch: press.mantra.compose.database.model.RecentSearch) { database.recentSearchDao().deleteRecentSearch(recentSearch) } override suspend fun saveSearchQuery( query: String, - synchronizationFilterArray: at.torch.compose.database.model.typealiases.SynchronizationFilterArray? + synchronizationFilterArray: press.mantra.compose.database.model.typealiases.SynchronizationFilterArray? ) { database.recentSearchDao().upsert( - _root_ide_package_.at.torch.compose.database.model.RecentSearch( + _root_ide_package_.press.mantra.compose.database.model.RecentSearch( query = query, synchronizationFilters = synchronizationFilterArray ) ) } - override suspend fun observePublicKeyRelays(publicKey: String): Flow> { + override suspend fun observePublicKeyRelays(publicKey: String): Flow> { return database.relayDao().observePublicKeyRelays(publicKey) } diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabasePostRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabasePostRepository.kt new file mode 100644 index 00000000..f2e3cc9a --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabasePostRepository.kt @@ -0,0 +1,5 @@ +package press.mantra.compose.database.repository + +class DatabasePostRepository( + private val database: press.mantra.compose.database.TorchDatabase +): press.mantra.compose.repository.PostRepository \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseSearchRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseSearchRepository.kt new file mode 100644 index 00000000..6df22671 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/database/repository/DatabaseSearchRepository.kt @@ -0,0 +1,12 @@ +package press.mantra.compose.database.repository + +class DatabaseSearchRepository( + private val database: press.mantra.compose.database.TorchDatabase +): press.mantra.compose.repository.SearchRepository { + + override suspend fun submitSearch(synchronizeNostrEventRequests: List) { + database.synchronizeNostrEventRequestDao().insert( + synchronizeNostrEventRequests = synchronizeNostrEventRequests + ) + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapImpersonationException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapImpersonationException.kt new file mode 100644 index 00000000..3577ec73 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapImpersonationException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +open class GiftWrapImpersonationException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapPayloadUnsupportedException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapPayloadUnsupportedException.kt new file mode 100644 index 00000000..3483de84 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapPayloadUnsupportedException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +open class GiftWrapPayloadUnsupportedException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapSealDecryptionException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapSealDecryptionException.kt new file mode 100644 index 00000000..25677ec0 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapSealDecryptionException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +open class GiftWrapSealDecryptionException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapUnsealException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapUnsealException.kt new file mode 100644 index 00000000..f828276e --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/GiftWrapUnsealException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +open class GiftWrapUnsealException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/InvalidNostrPrivateKeyException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/InvalidNostrPrivateKeyException.kt new file mode 100644 index 00000000..6889ac44 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/InvalidNostrPrivateKeyException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +class InvalidNostrPrivateKeyException: RuntimeException() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingChatGroupException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingChatGroupException.kt similarity index 74% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingChatGroupException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingChatGroupException.kt index 8a5f3aaa..99b73298 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingChatGroupException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingChatGroupException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotMissingChatGroupException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageBundleException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageBundleException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageBundleException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageBundleException.kt index ae17c85e..b5245787 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageBundleException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageBundleException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotMissingKeyPackageBundleException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt index b472ee1e..f5e7d3ce 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingKeyPackageEventIdException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotMissingKeyPackageEventIdException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt index 4a997902..4077bffc 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingNostrGroupDataExtension.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotMissingNostrGroupDataExtension(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt index c33815ff..554ee8d8 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotMissingRetainedExporterSecretsException.kt @@ -1,3 +1,3 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotMissingRetainedExporterSecretsException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotNotMemberOfChatGroupException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotNotMemberOfChatGroupException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotNotMemberOfChatGroupException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotNotMemberOfChatGroupException.kt index 01a110d7..0245d000 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotNotMemberOfChatGroupException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotNotMemberOfChatGroupException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotNotMemberOfChatGroupException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnprocessableInnerEventException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnprocessableInnerEventException.kt index edfb9f2f..d926febf 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnprocessableInnerEventException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnprocessableInnerEventException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotUnprocessableInnerEventException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnsupportedWireFormatException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnsupportedWireFormatException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnsupportedWireFormatException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnsupportedWireFormatException.kt index 6d201346..e2160c66 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotUnsupportedWireFormatException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotUnsupportedWireFormatException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotUnsupportedWireFormatException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt index 772f7e2b..03ba3af3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeEventMissingKeyPackageEventIdException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotWelcomeEventMissingKeyPackageEventIdException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt index 567f22c0..ec4299aa 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMismatchedGroupIdException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotWelcomeMismatchedGroupIdException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt index d845356e..32dd8fb4 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/MarmotWelcomeMissingGroupIdException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class MarmotWelcomeMissingGroupIdException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NetworkException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NetworkException.kt similarity index 52% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NetworkException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NetworkException.kt index ba9c387f..7b673c2e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NetworkException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NetworkException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class NetworkException( message: String? = null, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrNoticeException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrNoticeException.kt similarity index 51% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrNoticeException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrNoticeException.kt index b17bfd1e..24bde9d6 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrNoticeException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrNoticeException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class NostrNoticeException( val reason: String?, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrPublishException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrPublishException.kt similarity index 53% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrPublishException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrPublishException.kt index 6a963bf8..65941689 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/NostrPublishException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/NostrPublishException.kt @@ -1,3 +1,3 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class NostrPublishException(override val cause: Throwable?) : RuntimeException() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SignatureException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SignatureException.kt new file mode 100644 index 00000000..36f5ef15 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SignatureException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +open class SignatureException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningKeyNotFoundException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningKeyNotFoundException.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningKeyNotFoundException.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningKeyNotFoundException.kt index 092cff26..17a2ac2a 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/exceptions/SigningKeyNotFoundException.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningKeyNotFoundException.kt @@ -1,4 +1,4 @@ -package at.torch.compose.exceptions +package press.mantra.compose.exceptions class SigningKeyNotFoundException(message: String? = null, cause: Throwable? = null) : SignatureException( message, diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningRejectedException.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningRejectedException.kt new file mode 100644 index 00000000..1304a3bb --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/exceptions/SigningRejectedException.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.exceptions + +class SigningRejectedException(message: String? = null, cause: Throwable? = null) : SignatureException(message, cause) \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Credentials.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Credentials.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Credentials.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Credentials.kt index 15ebbcde..0e466414 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Credentials.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Credentials.kt @@ -1,4 +1,4 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip19Bech32.bech32.Bech32 @@ -65,6 +65,6 @@ fun String.extractKeyPairFromPrivateKeyOrThrow(): Pair { nsec to pubkey.toNpub() } catch (error: IllegalArgumentException) { Logger.withTag("String.extractKeyPairFromPrivateKeyOrThrow").w(error) { error.message ?: "" } - throw _root_ide_package_.at.torch.compose.exceptions.InvalidNostrPrivateKeyException() + throw _root_ide_package_.press.mantra.compose.exceptions.InvalidNostrPrivateKeyException() } } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Instant.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Instant.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Instant.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Instant.kt index 34c9220f..e14ca38a 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Instant.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Instant.kt @@ -1,4 +1,4 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions import kotlinx.datetime.LocalDateTime import kotlinx.datetime.TimeZone diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/MlsGroupExtensions.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/MlsGroupExtensions.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/extensions/MlsGroupExtensions.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/MlsGroupExtensions.kt index 265dec6f..a91bb457 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/MlsGroupExtensions.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/MlsGroupExtensions.kt @@ -1,4 +1,4 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions import com.vitorpamplona.quartz.marmot.mls.group.MlsGroup diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Phoenix.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Phoenix.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Phoenix.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Phoenix.kt index 8fdfdfc0..e0eef736 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/extensions/Phoenix.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/extensions/Phoenix.kt @@ -1,4 +1,4 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions import fr.acinq.phoenix.PhoenixGlobal import fr.acinq.phoenix.data.StartBusinessResult diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/managers/AuxDatabaseManager.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/managers/AuxDatabaseManager.kt new file mode 100644 index 00000000..30813224 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/managers/AuxDatabaseManager.kt @@ -0,0 +1,26 @@ +package press.mantra.compose.managers + +class AuxDatabaseManager( + mantraGlobal: press.mantra.compose.MantraGlobal +) { + val auxDatabase by lazy { + _root_ide_package_.press.mantra.compose.database.builder.getRoomDatabase( + press.mantra.compose.database.builder.PlatformDatabaseBuilder.getDatabaseBuilder( + mantraGlobal.platformContext + ) + ) + } + + /** + * Dynamic data like user feeds and the likes will be in a in-memory db. + * + * We may also decide to just use the normal DB and manage what's saved better... + */ + val inMemoryAuxDatabase by lazy { + _root_ide_package_.press.mantra.compose.database.builder.getRoomDatabase( + press.mantra.compose.database.builder.PlatformDatabaseBuilder.getInMemoryDatabaseBuilder( + mantraGlobal.platformContext + ) + ) + } +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/managers/MarmotInboundManager.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/managers/MarmotInboundManager.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/managers/MarmotInboundManager.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/managers/MarmotInboundManager.kt index 5e3b242f..4eb725a3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/managers/MarmotInboundManager.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/managers/MarmotInboundManager.kt @@ -1,12 +1,12 @@ -package at.torch.compose.managers +package press.mantra.compose.managers -import at.torch.compose.database.TorchDatabase -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.exceptions.MarmotMissingChatGroupException -import at.torch.compose.exceptions.MarmotUnsupportedWireFormatException -import at.torch.compose.extensions.exporterSecret -import at.torch.compose.extensions.toHex +import press.mantra.compose.database.TorchDatabase +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.exceptions.MarmotMissingChatGroupException +import press.mantra.compose.exceptions.MarmotUnsupportedWireFormatException +import press.mantra.compose.extensions.exporterSecret +import press.mantra.compose.extensions.toHex import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.GroupEventResult import com.vitorpamplona.quartz.marmot.mip03GroupMessages.CommitOrdering diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/UserAgent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/UserAgent.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/UserAgent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/UserAgent.kt index f2284da4..87744cfd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/UserAgent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/UserAgent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network +package press.mantra.compose.network object UserAgent { const val APP_NAME = "Torch" diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/dto/RelayDTO.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/dto/RelayDTO.kt similarity index 87% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/dto/RelayDTO.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/dto/RelayDTO.kt index 27f30d95..88dc9f31 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/dto/RelayDTO.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/dto/RelayDTO.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.dto +package press.mantra.compose.network.dto import kotlinx.serialization.Serializable @@ -29,7 +29,7 @@ data class RelayDTO( } } -fun at.torch.compose.database.model.Relay.mapToRelayDTO() = +fun press.mantra.compose.database.model.Relay.mapToRelayDTO() = RelayDTO( url = this.url, read = this.read, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/FallbackRelays.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/FallbackRelays.kt similarity index 73% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/FallbackRelays.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/FallbackRelays.kt index fa4312de..9711c04f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/FallbackRelays.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/FallbackRelays.kt @@ -1,6 +1,6 @@ -package at.torch.compose.network.relays +package press.mantra.compose.network.relays -import at.torch.compose.network.dto.toRelayDTO +import press.mantra.compose.network.dto.toRelayDTO val FALLBACK_RELAYS = listOf( "wss://relay.primal.net", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/NostrPublishResult.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/NostrPublishResult.kt similarity index 56% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/NostrPublishResult.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/NostrPublishResult.kt index bb4c6a56..5b7611fb 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/NostrPublishResult.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/NostrPublishResult.kt @@ -1,6 +1,6 @@ -package at.torch.compose.network.relays +package press.mantra.compose.network.relays -import at.torch.compose.network.sockets.NostrIncomingMessage +import press.mantra.compose.network.sockets.NostrIncomingMessage data class NostrPublishResult( val result: NostrIncomingMessage? = null, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelayPool.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelayPool.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelayPool.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelayPool.kt index 1e2ebcac..0ec03267 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelayPool.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelayPool.kt @@ -1,9 +1,9 @@ -package at.torch.compose.network.relays +package press.mantra.compose.network.relays import androidx.annotation.VisibleForTesting -import at.torch.compose.network.dto.toRelayDTO -import at.torch.compose.network.sockets.filterByEventId -import at.torch.compose.network.sockets.filterBySubscriptionId +import press.mantra.compose.network.dto.toRelayDTO +import press.mantra.compose.network.sockets.filterByEventId +import press.mantra.compose.network.sockets.filterBySubscriptionId import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.OptimizedJsonMapper import com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay.CloseCmd @@ -37,8 +37,8 @@ import kotlin.time.Duration.Companion.milliseconds * https://github.com/PrimalHQ/primal-android-app/blob/8a912053131764c39711cd0dc5012645498c9a4f/app/src/main/kotlin/net/primal/android/networking/relays/RelayPool.kt */ class RelayPool( - private val nostrSocketClientFactory: at.torch.compose.network.sockets.NostrSocketClientFactory, - private val cachingImportRepository: at.torch.compose.repository.CachingImportRepository, + private val nostrSocketClientFactory: press.mantra.compose.network.sockets.NostrSocketClientFactory, + private val cachingImportRepository: press.mantra.compose.repository.CachingImportRepository, ) { val logger = Logger.withTag("RelayPool") @@ -48,12 +48,12 @@ class RelayPool( private val scope = CoroutineScope(Dispatchers.IO) - val relays: MutableSet = mutableSetOf() + val relays: MutableSet = mutableSetOf() private val relayMutex = Mutex() @VisibleForTesting - var socketClients = setOf() + var socketClients = setOf() private val _relayPoolStatus = MutableStateFlow(mapOf()) val relayPoolStatus = _relayPoolStatus.asStateFlow() @@ -64,15 +64,15 @@ class RelayPool( } } - private val onSocketConnectionOpenedCallback: at.torch.compose.network.sockets.SocketConnectionOpenedCallback = { url -> + private val onSocketConnectionOpenedCallback: press.mantra.compose.network.sockets.SocketConnectionOpenedCallback = { url -> updateRelayStatus(url = url, connected = true) } - private val onSocketConnectionClosedCallback: at.torch.compose.network.sockets.SocketConnectionClosedCallback = { url, _ -> + private val onSocketConnectionClosedCallback: press.mantra.compose.network.sockets.SocketConnectionClosedCallback = { url, _ -> updateRelayStatus(url = url, connected = false) } - fun changeRelays(relays: List) { + fun changeRelays(relays: List) { val existingRelayUrls = socketClients.map { it.socketUrl } val newRelayUrls = relays.map { it.url } @@ -94,7 +94,7 @@ class RelayPool( this.relays.addAll(relays) } - fun removeRelays(relays: Set) { + fun removeRelays(relays: Set) { val relayUrls = relays.map { it.url } val toRemoveSocketClients = socketClients.filter { it.socketUrl in relayUrls } @@ -111,7 +111,7 @@ class RelayPool( this.relays.removeAll(relays) } - suspend fun addRelaysIfMissing(relays: Set) { + suspend fun addRelaysIfMissing(relays: Set) { relayMutex.withLock { val existingRelayUrls = socketClients.map { NormalizedRelayUrl(it.socketUrl).displayUrl() } val newRelayUrls = relays.map { it.url } @@ -148,7 +148,7 @@ class RelayPool( } } - private fun List.mapAsNostrSocketClient() = + private fun List.mapAsNostrSocketClient() = this.map { nostrSocketClientFactory.create( wssUrl = it.url, @@ -157,8 +157,8 @@ class RelayPool( ) } - @Throws(at.torch.compose.exceptions.NostrPublishException::class) - suspend fun publishEvent(nostrEvent: at.torch.compose.database.model.NostrEvent, relays: Set = emptySet()): Flow { + @Throws(press.mantra.compose.exceptions.NostrPublishException::class) + suspend fun publishEvent(nostrEvent: press.mantra.compose.database.model.NostrEvent, relays: Set = emptySet()): Flow { val relayUrls = relays.map { NormalizedRelayUrl(it.url).displayUrl() } return if (relayUrls.isEmpty()) { @@ -175,7 +175,7 @@ class RelayPool( } } - suspend fun query(reqCommand: ReqCmd, relayUrl: String): Flow { + suspend fun query(reqCommand: ReqCmd, relayUrl: String): Flow { addRelaysIfMissing( setOf( NormalizedRelayUrl(relayUrl).url.toRelayDTO() @@ -188,7 +188,7 @@ class RelayPool( val filterRequest = OptimizedJsonMapper.toJson(reqCommand) if (nostrSocketClient == null) { - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException("$relayUrl is not connected") + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException("$relayUrl is not connected") } return coroutineScope { val eventFlow = nostrSocketClient.queryAsFlow(reqCommand.subId) @@ -199,7 +199,7 @@ class RelayPool( } } - suspend fun negentropySync(negOpenCmd: NegOpenCmd, relayUrl: String): Flow { + suspend fun negentropySync(negOpenCmd: NegOpenCmd, relayUrl: String): Flow { addRelaysIfMissing( setOf( NormalizedRelayUrl(relayUrl).url.toRelayDTO() @@ -212,7 +212,7 @@ class RelayPool( val negentropySyncRequest = OptimizedJsonMapper.toJson(negOpenCmd) if (nostrSocketClient == null) { - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException("$relayUrl is not connected") + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException("$relayUrl is not connected") } return coroutineScope { val eventFlow = nostrSocketClient.queryAsFlow(negOpenCmd.subId) @@ -235,7 +235,7 @@ class RelayPool( val closeSubscription = OptimizedJsonMapper.toJson(closeCmd) if (nostrSocketClient == null) { - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException("$relayUrl is not connected") + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException("$relayUrl is not connected") } coroutineScope { with(nostrSocketClient) { @@ -257,7 +257,7 @@ class RelayPool( val closeNegentropySubscription = OptimizedJsonMapper.toJson(negCloseCmd) if (nostrSocketClient == null) { - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException("$relayUrl is not connected") + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException("$relayUrl is not connected") } coroutineScope { with(nostrSocketClient) { @@ -266,21 +266,21 @@ class RelayPool( } } - private fun Flow.transformWhileEventsAreIncoming() = + private fun Flow.transformWhileEventsAreIncoming() = transformWhile { emit(it) - it is at.torch.compose.network.sockets.NostrIncomingMessage.EventMessage || it is at.torch.compose.network.sockets.NostrIncomingMessage.EventsMessage + it is press.mantra.compose.network.sockets.NostrIncomingMessage.EventMessage || it is press.mantra.compose.network.sockets.NostrIncomingMessage.EventsMessage } @OptIn(FlowPreview::class) - private suspend fun at.torch.compose.network.sockets.NostrSocketClient.queryAsFlow(subscriptionId: String): Flow { + private suspend fun press.mantra.compose.network.sockets.NostrSocketClient.queryAsFlow(subscriptionId: String): Flow { return this.incomingMessages .filterBySubscriptionId(id = subscriptionId) // .transformWhileEventsAreIncoming() } @OptIn(FlowPreview::class) - private suspend fun handlePublishEventToRelays(relayConnections: Set, nostrEvent: at.torch.compose.database.model.NostrEvent): Flow { + private suspend fun handlePublishEventToRelays(relayConnections: Set, nostrEvent: press.mantra.compose.database.model.NostrEvent): Flow { val responseFlow = MutableSharedFlow() relayConnections.forEach { nostrSocketClient -> scope.launch { @@ -329,13 +329,13 @@ class RelayPool( } @FlowPreview - private suspend fun at.torch.compose.network.sockets.NostrSocketClient.collectPublishResponse(eventId: String): at.torch.compose.network.sockets.NostrIncomingMessage.OkMessage { + private suspend fun press.mantra.compose.network.sockets.NostrSocketClient.collectPublishResponse(eventId: String): press.mantra.compose.network.sockets.NostrIncomingMessage.OkMessage { return incomingMessages .filterByEventId(id = eventId) .transform { when (it) { - is at.torch.compose.network.sockets.NostrIncomingMessage.OkMessage -> emit(it) - is at.torch.compose.network.sockets.NostrIncomingMessage.NoticeMessage -> throw _root_ide_package_.at.torch.compose.exceptions.NostrNoticeException( + is press.mantra.compose.network.sockets.NostrIncomingMessage.OkMessage -> emit(it) + is press.mantra.compose.network.sockets.NostrIncomingMessage.NoticeMessage -> throw _root_ide_package_.press.mantra.compose.exceptions.NostrNoticeException( reason = it.message ) else -> error("$it is not allowed") @@ -346,6 +346,6 @@ class RelayPool( } private fun NostrPublishResult.isSuccessful(): Boolean { - return result is at.torch.compose.network.sockets.NostrIncomingMessage.OkMessage && result.success + return result is press.mantra.compose.network.sockets.NostrIncomingMessage.OkMessage && result.success } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelaysSocketManager.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelaysSocketManager.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelaysSocketManager.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelaysSocketManager.kt index b2104762..7adca36e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/RelaysSocketManager.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/RelaysSocketManager.kt @@ -1,6 +1,6 @@ -package at.torch.compose.network.relays +package press.mantra.compose.network.relays -import at.torch.compose.network.dto.mapToRelayDTO +import press.mantra.compose.network.dto.mapToRelayDTO import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.relay.commands.toRelay.CloseCmd @@ -29,9 +29,9 @@ import kotlinx.coroutines.sync.withLock */ class RelaysSocketManager( private val activeWalletStateFlow: StateFlow, - private val nostrSocketClientFactory: at.torch.compose.network.sockets.NostrSocketClientFactory, - private val cachingImportRepository: at.torch.compose.repository.CachingImportRepository, - private val relayRepository: at.torch.compose.repository.RelayRepository, + private val nostrSocketClientFactory: press.mantra.compose.network.sockets.NostrSocketClientFactory, + private val cachingImportRepository: press.mantra.compose.repository.CachingImportRepository, + private val relayRepository: press.mantra.compose.repository.RelayRepository, ) { val logger = Logger.withTag("RelaysSocketManager") private val scope = CoroutineScope(Dispatchers.IO) @@ -48,7 +48,7 @@ class RelaysSocketManager( /** * Logical relayPool */ - private val userRelays = mutableSetOf() + private val userRelays = mutableSetOf() val userRelayPoolStatus = relayPool.relayPoolStatus @@ -87,7 +87,7 @@ class RelaysSocketManager( } } - private suspend fun updateRelayPools(regularRelays: List?) { + private suspend fun updateRelayPools(regularRelays: List?) { relayPoolsMutex.withLock { val userRelaysChanged = relayPool.relays != regularRelays if (userRelaysChanged && !regularRelays.isNullOrEmpty()) { @@ -101,8 +101,8 @@ class RelaysSocketManager( relayPool.closePool() } - @Throws(at.torch.compose.exceptions.NostrPublishException::class) - suspend fun publishEvent(nostrEvent: at.torch.compose.database.model.NostrEvent): Flow { + @Throws(press.mantra.compose.exceptions.NostrPublishException::class) + suspend fun publishEvent(nostrEvent: press.mantra.compose.database.model.NostrEvent): Flow { return if (userRelays.isNotEmpty()) { relayPool.publishEvent( nostrEvent = nostrEvent, @@ -116,8 +116,8 @@ class RelaysSocketManager( } } - @Throws(at.torch.compose.exceptions.NostrPublishException::class) - suspend fun publishEvent(nostrEvent: at.torch.compose.database.model.NostrEvent, relays: Set): Flow { + @Throws(press.mantra.compose.exceptions.NostrPublishException::class) + suspend fun publishEvent(nostrEvent: press.mantra.compose.database.model.NostrEvent, relays: Set): Flow { logger.d("publishEvent: $nostrEvent") return relayPool.publishEvent( nostrEvent = nostrEvent, @@ -135,7 +135,7 @@ class RelaysSocketManager( // suspend fun tryConnectingToUserRelay(url: String) = relayPool.tryConnectingToRelay(url) - suspend fun query(reqCommand: ReqCmd, relayUrl: String): Flow { + suspend fun query(reqCommand: ReqCmd, relayUrl: String): Flow { return relayPool.query( reqCommand = reqCommand, relayUrl = relayUrl @@ -150,7 +150,7 @@ class RelaysSocketManager( ) } - suspend fun negentropySync(negOpenCmd: NegOpenCmd, relayUrl: String): Flow { + suspend fun negentropySync(negOpenCmd: NegOpenCmd, relayUrl: String): Flow { return relayPool.negentropySync( negOpenCmd = negOpenCmd, relayUrl = relayUrl diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastEventResponse.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastEventResponse.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastEventResponse.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastEventResponse.kt index 4eb6dd02..d7770fba 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastEventResponse.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastEventResponse.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.relays.broadcast +package press.mantra.compose.network.relays.broadcast import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastRequestBody.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastRequestBody.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastRequestBody.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastRequestBody.kt index 9747e261..3fe48b1f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/relays/broadcast/BroadcastRequestBody.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/relays/broadcast/BroadcastRequestBody.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.relays.broadcast +package press.mantra.compose.network.relays.broadcast import com.vitorpamplona.quartz.nip01Core.core.Event import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/CommonJson.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/CommonJson.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/CommonJson.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/CommonJson.kt index 846ab57e..2f45a68e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/CommonJson.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/CommonJson.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.serialization +package press.mantra.compose.network.serialization import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonBuilder diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/SocketsJson.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/SocketsJson.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/SocketsJson.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/SocketsJson.kt index fbf17afc..45466eb2 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/serialization/SocketsJson.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/serialization/SocketsJson.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.serialization +package press.mantra.compose.network.serialization import co.touchlab.kermit.Logger import kotlinx.serialization.json.JsonObject @@ -7,7 +7,7 @@ import kotlinx.serialization.json.decodeFromJsonElement internal val SocketsJson = CommonJson -fun JsonObject?.asNostrEventOrNull(): at.torch.compose.database.model.NostrEvent? { +fun JsonObject?.asNostrEventOrNull(): press.mantra.compose.database.model.NostrEvent? { return try { if (this != null) SocketsJson.decodeFromJsonElement(this) else null } catch (error: IllegalArgumentException) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessage.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessage.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessage.kt index c1049895..cc022157 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessage.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessage.kt @@ -1,10 +1,10 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets sealed class NostrIncomingMessage { data class EventMessage( val subscriptionId: String, - val nostrEvent: at.torch.compose.database.model.NostrEvent? = null, + val nostrEvent: press.mantra.compose.database.model.NostrEvent? = null, ) : NostrIncomingMessage() data class EoseMessage( @@ -33,7 +33,7 @@ sealed class NostrIncomingMessage { data class EventsMessage( val subscriptionId: String, - val nostrEvents: List = emptyList(), + val nostrEvents: List = emptyList(), ) : NostrIncomingMessage() data class NegentropyMessage( @@ -49,11 +49,11 @@ sealed class NostrIncomingMessage { fun NostrIncomingMessage?.verifyOrThrow(subscriptionId: String) { if (this == null) { - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException("No messages received.") + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException("No messages received.") } if (this is NostrIncomingMessage.NoticeMessage) { - throw _root_ide_package_.at.torch.compose.exceptions.NostrNoticeException( + throw _root_ide_package_.press.mantra.compose.exceptions.NostrNoticeException( reason = this.message, subscriptionId = subscriptionId, ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageExt.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageExt.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageExt.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageExt.kt index b8c1f6ab..784ebbed 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageExt.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageExt.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageParser.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageParser.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageParser.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageParser.kt index dd0d5591..cf8532e7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrIncomingMessageParser.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrIncomingMessageParser.kt @@ -1,6 +1,6 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets -import at.torch.compose.network.serialization.decodeFromStringOrNull +import press.mantra.compose.network.serialization.decodeFromStringOrNull import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.Kind @@ -14,7 +14,7 @@ import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonPrimitive fun String.parseIncomingMessage(): NostrIncomingMessage? { - val jsonArray = _root_ide_package_.at.torch.compose.network.serialization.SocketsJson.decodeFromStringOrNull(this) + val jsonArray = _root_ide_package_.press.mantra.compose.network.serialization.SocketsJson.decodeFromStringOrNull(this) val verbElement = jsonArray?.elementAtOrNull(0) ?: return null return try { @@ -74,7 +74,7 @@ private fun JsonArray.takeAsEventIncomingMessage(): NostrIncomingMessage? { if (subscriptionId == null || kind == null) return null - val nostrEvent = at.torch.compose.database.model.NostrEvent.fromEvent( + val nostrEvent = press.mantra.compose.database.model.NostrEvent.fromEvent( Event.fromJson( event.toString() ) @@ -92,10 +92,10 @@ private fun JsonArray.takeAsEventsIncomingMessage(): NostrIncomingMessage? { if (subscriptionId == null || events == null) return null - val nostrEvents = mutableListOf() + val nostrEvents = mutableListOf() events.map { it.jsonObject }.forEach { jsonEvent -> - at.torch.compose.database.model.NostrEvent.fromEvent( + press.mantra.compose.database.model.NostrEvent.fromEvent( Event.fromJson( jsonEvent.toString() ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrOutgoingMessageBuilder.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrOutgoingMessageBuilder.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrOutgoingMessageBuilder.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrOutgoingMessageBuilder.kt index 36027aa1..1d50a46b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrOutgoingMessageBuilder.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrOutgoingMessageBuilder.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.add diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClient.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClient.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClient.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClient.kt index 420c1685..222a6a04 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClient.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClient.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import kotlinx.coroutines.flow.SharedFlow import kotlinx.serialization.json.JsonObject diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientFactory.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientFactory.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientFactory.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientFactory.kt index 88cd6386..735d543b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientFactory.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientFactory.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import io.ktor.client.HttpClient import io.ktor.client.plugins.websocket.WebSockets diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientImpl.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientImpl.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientImpl.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientImpl.kt index b0d2354a..427ce103 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrSocketClientImpl.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrSocketClientImpl.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import co.touchlab.kermit.Logger import io.ktor.client.HttpClient @@ -82,7 +82,7 @@ internal class NostrSocketClientImpl( logger.w("NostrSocketClient::acquireWebSocketSession($socketUrl) failed.", error) close() onSocketConnectionClosed?.invoke(socketUrl, error) - throw _root_ide_package_.at.torch.compose.exceptions.NetworkException(cause = error) + throw _root_ide_package_.press.mantra.compose.exceptions.NetworkException(cause = error) } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrVerb.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrVerb.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrVerb.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrVerb.kt index c8916b18..3946d9d1 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/NostrVerb.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/NostrVerb.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/SocketConnectionCallbacks.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/SocketConnectionCallbacks.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/SocketConnectionCallbacks.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/SocketConnectionCallbacks.kt index 30d2320d..580da97b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/network/sockets/SocketConnectionCallbacks.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/network/sockets/SocketConnectionCallbacks.kt @@ -1,4 +1,4 @@ -package at.torch.compose.network.sockets +package press.mantra.compose.network.sockets typealias SocketConnectionOpenedCallback = (url: String) -> Unit typealias SocketConnectionClosedCallback = (url: String, error: Throwable?) -> Unit diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/nostr/Relays.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/nostr/Relays.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/nostr/Relays.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/nostr/Relays.kt index 0fed7409..7414b4e7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/nostr/Relays.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/nostr/Relays.kt @@ -1,4 +1,4 @@ -package at.torch.compose.nostr +package press.mantra.compose.nostr import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer import com.vitorpamplona.quartz.nip28PublicChat.list.tags.ChannelTag diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/CachingImportRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/CachingImportRepository.kt new file mode 100644 index 00000000..99fac797 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/CachingImportRepository.kt @@ -0,0 +1,40 @@ +package press.mantra.compose.repository + +/** + * As seen in Primal + * + * https://github.com/PrimalHQ/primal-android-app/blob/a7e32e2203555d27e60a749238175cd1ee0fa2af/domain/primal/src/commonMain/kotlin/net/primal/domain/global/CachingImportRepository.kt + * + */ +interface CachingImportRepository { + suspend fun cacheNostrEvents(vararg events: press.mantra.compose.database.model.NostrEvent) + suspend fun cacheNostrEvents(events: List) + + suspend fun importEvents(events: List): Boolean + suspend fun broadcastEvents(events: List, relays: List): Result> + + companion object { + val NO_OP_CACHING_IMPORT_REPOSITORY = object : CachingImportRepository { + override suspend fun cacheNostrEvents(vararg events: press.mantra.compose.database.model.NostrEvent) { + } + + override suspend fun cacheNostrEvents(events: List) { + + } + + override suspend fun importEvents(events: List): Boolean { + return true + } + + override suspend fun broadcastEvents( + events: List, + relays: List + ): Result> { + return Result.success( + emptyList() + ) + } + + } + } +} diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/ChatRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/ChatRepository.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/ChatRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/ChatRepository.kt index 2ac194dc..aa4a4d05 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/ChatRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/ChatRepository.kt @@ -1,11 +1,11 @@ -package at.torch.compose.repository +package press.mantra.compose.repository -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.GiftWrapPayload -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.intermdiate.LocalChatMessage -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.GiftWrapPayload +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.intermdiate.LocalChatMessage +import press.mantra.compose.database.model.intermdiate.LocalChatRoom import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerSync diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/MarmotRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/MarmotRepository.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/MarmotRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/MarmotRepository.kt index 8cd62ff2..44deb99f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/MarmotRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/MarmotRepository.kt @@ -1,7 +1,7 @@ -package at.torch.compose.repository +package press.mantra.compose.repository -import at.torch.compose.database.model.MarmotInnerEvent -import at.torch.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.database.model.MarmotInnerEvent +import press.mantra.compose.database.model.MarmotKeyPackageBundle import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerSync import kotlinx.coroutines.flow.Flow diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrNotaryRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrNotaryRepository.kt similarity index 67% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrNotaryRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrNotaryRepository.kt index 227ac1e6..df3b7d43 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrNotaryRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrNotaryRepository.kt @@ -1,7 +1,7 @@ -package at.torch.compose.repository +package press.mantra.compose.repository -import at.torch.compose.cryptography.signOrThrow -import at.torch.compose.network.asClientTag +import press.mantra.compose.cryptography.signOrThrow +import press.mantra.compose.network.asClientTag import com.vitorpamplona.quartz.nip19Bech32.toNsec import com.vitorpamplona.quartz.nip51Lists.relayLists.RelayFeedsListEvent import fr.acinq.phoenix.managers.WalletManager @@ -36,10 +36,10 @@ class NostrNotaryRepository( private val _responses = Channel() private fun setResponse(response: SignResult) = scope.launch { _responses.send(response) } - suspend fun signNostrEvent(unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent): SignResult { + suspend fun signNostrEvent(unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent): SignResult { val result = try { signNostrEvent(publicKey = unsignedNostrEvent.pubKey, event = unsignedNostrEvent) - } catch (error: at.torch.compose.exceptions.SignatureException) { + } catch (error: press.mantra.compose.exceptions.SignatureException) { return SignResult.Rejected(error) } @@ -53,24 +53,24 @@ class NostrNotaryRepository( } } - fun verifySignature(nostrEvent: at.torch.compose.database.model.NostrEvent): Boolean { + fun verifySignature(nostrEvent: press.mantra.compose.database.model.NostrEvent): Boolean { throw NotImplementedError() } - fun onSuccess(nostrEvent: at.torch.compose.database.model.NostrEvent) { + fun onSuccess(nostrEvent: press.mantra.compose.database.model.NostrEvent) { setResponse(SignResult.Signed(nostrEvent)) } fun onFailure() { - setResponse(SignResult.Rejected(_root_ide_package_.at.torch.compose.exceptions.SigningRejectedException())) + setResponse(SignResult.Rejected(_root_ide_package_.press.mantra.compose.exceptions.SigningRejectedException())) } private fun findNsecOrThrow(activeUserPublicKey: String): String = runCatching { walletManager.keyManager.value?.nostrPrivateKey()?.value?.toByteArray()?.toNsec() - }.getOrNull() ?: throw _root_ide_package_.at.torch.compose.exceptions.SigningKeyNotFoundException() + }.getOrNull() ?: throw _root_ide_package_.press.mantra.compose.exceptions.SigningKeyNotFoundException() - private fun signNostrEvent(publicKey: String, event: at.torch.compose.database.model.UnsignedNostrEvent): at.torch.compose.database.model.NostrEvent { + private fun signNostrEvent(publicKey: String, event: press.mantra.compose.database.model.UnsignedNostrEvent): press.mantra.compose.database.model.NostrEvent { val isExternalSignerLogin = runCatching { // credentialsStore.isExternalSignerCredential(npub = publicKey.hexToNpubHrp()) false @@ -83,9 +83,9 @@ class NostrNotaryRepository( return event.signOrThrow(nsec = findNsecOrThrow(publicKey)) } - suspend fun signRelayListMetadata(userId: String, relays: List): SignResult { + suspend fun signRelayListMetadata(userId: String, relays: List): SignResult { return signNostrEvent( - unsignedNostrEvent = _root_ide_package_.at.torch.compose.database.model.UnsignedNostrEvent( + unsignedNostrEvent = _root_ide_package_.press.mantra.compose.database.model.UnsignedNostrEvent( pubKey = userId, content = "", kind = RelayFeedsListEvent.KIND, @@ -100,20 +100,20 @@ class NostrNotaryRepository( } ) } - .toTypedArray() + listOf(at.torch.compose.network.UserAgent.CLIENT_NAME.asClientTag()), + .toTypedArray() + listOf(press.mantra.compose.network.UserAgent.CLIENT_NAME.asClientTag()), ), ) } sealed class NotarySideEffect { - data class RequestSignature(val unsignedEvent: at.torch.compose.database.model.UnsignedNostrEvent) : NotarySideEffect() + data class RequestSignature(val unsignedEvent: press.mantra.compose.database.model.UnsignedNostrEvent) : NotarySideEffect() } sealed class SignResult { - data class Signed(val event: at.torch.compose.database.model.NostrEvent) : SignResult() - data class Rejected(val error: at.torch.compose.exceptions.SignatureException) : SignResult() + data class Signed(val event: press.mantra.compose.database.model.NostrEvent) : SignResult() + data class Rejected(val error: press.mantra.compose.exceptions.SignatureException) : SignResult() - fun unwrapOrThrow(onFailure: ((at.torch.compose.exceptions.SignatureException) -> Unit)? = null): at.torch.compose.database.model.NostrEvent = + fun unwrapOrThrow(onFailure: ((press.mantra.compose.exceptions.SignatureException) -> Unit)? = null): press.mantra.compose.database.model.NostrEvent = when (this) { is Rejected -> { onFailure?.invoke(this.error) @@ -125,7 +125,7 @@ class NostrNotaryRepository( } } - fun getOrNull(onFailure: ((at.torch.compose.exceptions.SignatureException) -> Unit)? = null): at.torch.compose.database.model.NostrEvent? = + fun getOrNull(onFailure: ((press.mantra.compose.exceptions.SignatureException) -> Unit)? = null): press.mantra.compose.database.model.NostrEvent? = when (this) { is Rejected -> { onFailure?.invoke(this.error) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrPublisherRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrPublisherRepository.kt similarity index 69% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrPublisherRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrPublisherRepository.kt index 53e84579..ea0b63af 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrPublisherRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrPublisherRepository.kt @@ -1,4 +1,4 @@ -package at.torch.compose.repository +package press.mantra.compose.repository import co.touchlab.kermit.Logger import kotlinx.coroutines.CoroutineScope @@ -13,14 +13,14 @@ import kotlinx.coroutines.launch * https://github.com/PrimalHQ/primal-android-app/blob/ec22916b4e3472a20bade82d53957a7ef9b708b0/app/src/main/kotlin/net/primal/android/nostr/publish/NostrPublisher.kt#L20 */ class NostrPublisherRepository( - private val relaysSocketManager: at.torch.compose.network.relays.RelaysSocketManager, + private val relaysSocketManager: press.mantra.compose.network.relays.RelaysSocketManager, private val nostrNotary: NostrNotaryRepository, private val cachingImportRepository: CachingImportRepository, ) { val logger = Logger.withTag("NostrPublisherRepository") private val scope = CoroutineScope(SupervisorJob() + Dispatchers.IO) - private fun importEvent(event: at.torch.compose.database.model.NostrEvent) { + private fun importEvent(event: press.mantra.compose.database.model.NostrEvent) { scope.launch { runCatching { cachingImportRepository.importEvents(events = listOf(event)) @@ -30,8 +30,8 @@ class NostrPublisherRepository( } } - @Throws(at.torch.compose.exceptions.NostrPublishException::class) - private suspend fun publishAndImportEvent(signedNostrEvent: at.torch.compose.database.model.NostrEvent, outboxRelays: List = emptyList()) { + @Throws(press.mantra.compose.exceptions.NostrPublishException::class) + private suspend fun publishAndImportEvent(signedNostrEvent: press.mantra.compose.database.model.NostrEvent, outboxRelays: List = emptyList()) { relaysSocketManager.publishEvent(signedNostrEvent) importEvent(signedNostrEvent) if (outboxRelays.isNotEmpty()) { @@ -39,7 +39,7 @@ class NostrPublisherRepository( relaysSocketManager.publishEvent( nostrEvent = signedNostrEvent, relays = outboxRelays.map { - _root_ide_package_.at.torch.compose.network.dto.RelayDTO( + _root_ide_package_.press.mantra.compose.network.dto.RelayDTO( url = it, read = false, write = true @@ -52,19 +52,19 @@ class NostrPublisherRepository( } } - @Throws(at.torch.compose.exceptions.NostrPublishException::class, at.torch.compose.exceptions.SignatureException::class) + @Throws(press.mantra.compose.exceptions.NostrPublishException::class, press.mantra.compose.exceptions.SignatureException::class) suspend fun signPublishImportNostrEvent( - unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent, + unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent, outboxRelays: List, - ): at.torch.compose.database.model.NostrEvent { + ): press.mantra.compose.database.model.NostrEvent { val signedNostrEvent = nostrNotary.signNostrEvent(unsignedNostrEvent = unsignedNostrEvent).unwrapOrThrow() publishAndImportEvent(signedNostrEvent = signedNostrEvent, outboxRelays = outboxRelays) return signedNostrEvent } - @Throws(at.torch.compose.exceptions.NostrPublishException::class, at.torch.compose.exceptions.SignatureException::class) - suspend fun publishRelayList(userId: String, relays: List): at.torch.compose.database.model.NostrEvent { + @Throws(press.mantra.compose.exceptions.NostrPublishException::class, press.mantra.compose.exceptions.SignatureException::class) + suspend fun publishRelayList(userId: String, relays: List): press.mantra.compose.database.model.NostrEvent { val signedNostrEvent = nostrNotary.signRelayListMetadata(userId = userId, relays = relays).unwrapOrThrow() relaysSocketManager.publishEvent(nostrEvent = signedNostrEvent, relays = relays.toSet()) importEvent(signedNostrEvent) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrRepository.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrRepository.kt index 7cdce49e..22026ecf 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/NostrRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/NostrRepository.kt @@ -1,21 +1,21 @@ -package at.torch.compose.repository +package press.mantra.compose.repository -import at.torch.compose.database.model.BroadcastNostrEventReceipt -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.Connection -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.RecentSearch -import at.torch.compose.database.model.SynchronizeNostrEventRequest -import at.torch.compose.database.model.UnsignedNostrEvent -import at.torch.compose.database.model.intermdiate.LocalAccount -import at.torch.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.database.model.intermdiate.LocalProfile -import at.torch.compose.database.model.intermdiate.LocalProfileWithFollowers -import at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing -import at.torch.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.database.model.BroadcastNostrEventReceipt +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.Connection +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.RecentSearch +import press.mantra.compose.database.model.SynchronizeNostrEventRequest +import press.mantra.compose.database.model.UnsignedNostrEvent +import press.mantra.compose.database.model.intermdiate.LocalAccount +import press.mantra.compose.database.model.intermdiate.LocalBroadcastNostrEventRequest +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.database.model.intermdiate.LocalProfile +import press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowers +import press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing +import press.mantra.compose.database.model.types.SynchronizationFilter import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair @@ -138,7 +138,7 @@ interface NostrRepository { suspend fun removeRecentSearch(recentSearch: RecentSearch) - suspend fun saveSearchQuery(query: String, synchronizationFilterArray: at.torch.compose.database.model.typealiases.SynchronizationFilterArray? = null) + suspend fun saveSearchQuery(query: String, synchronizationFilterArray: press.mantra.compose.database.model.typealiases.SynchronizationFilterArray? = null) suspend fun rescheduleBroadcastNostrEventRequests(broadcastNostrEventRequests: List) @@ -332,7 +332,7 @@ interface NostrRepository { override suspend fun saveSearchQuery( query: String, - synchronizationFilterArray: at.torch.compose.database.model.typealiases.SynchronizationFilterArray? + synchronizationFilterArray: press.mantra.compose.database.model.typealiases.SynchronizationFilterArray? ) { TODO("Not yet implemented") } diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/PostRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/PostRepository.kt new file mode 100644 index 00000000..0b32c597 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/PostRepository.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.repository + +interface PostRepository \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/RelayRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/RelayRepository.kt similarity index 59% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/RelayRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/RelayRepository.kt index f389e277..873e72bc 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/RelayRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/RelayRepository.kt @@ -1,7 +1,7 @@ -package at.torch.compose.repository +package press.mantra.compose.repository import kotlinx.coroutines.flow.Flow interface RelayRepository { - suspend fun observePublicKeyRelays(publicKey: String): Flow> + suspend fun observePublicKeyRelays(publicKey: String): Flow> } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/SearchRepository.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/SearchRepository.kt similarity index 55% rename from composeApp/src/commonMain/kotlin/at/torch/compose/repository/SearchRepository.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/repository/SearchRepository.kt index a27a3315..71aeb2b3 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/repository/SearchRepository.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/repository/SearchRepository.kt @@ -1,14 +1,14 @@ -package at.torch.compose.repository +package press.mantra.compose.repository interface SearchRepository { suspend fun submitSearch( - synchronizeNostrEventRequests: List, + synchronizeNostrEventRequests: List, ) companion object { val NO_OP_SEARCH_REPOSITORY = object: SearchRepository { - override suspend fun submitSearch(synchronizeNostrEventRequests: List) { + override suspend fun submitSearch(synchronizeNostrEventRequests: List) { TODO("Not yet implemented") } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/BlurHashDecoder.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/BlurHashDecoder.kt similarity index 99% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/BlurHashDecoder.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/BlurHashDecoder.kt index c3f5d6fd..5024ad47 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/BlurHashDecoder.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/BlurHashDecoder.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui +package press.mantra.compose.ui import coil3.Bitmap import kotlin.math.pow diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ActiveProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ActiveProfileScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ActiveProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ActiveProfileScreen.kt index a3315fd4..1d86dbbd 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ActiveProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ActiveProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -19,8 +19,6 @@ import androidx.compose.material.icons.filled.ImportExport import androidx.compose.material.icons.filled.Key import androidx.compose.material.icons.filled.Logout import androidx.compose.material.icons.filled.QrCode -import androidx.compose.material.icons.filled.SwitchVideo -import androidx.compose.material.icons.filled.Widgets import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi @@ -39,18 +37,18 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.extensions.hexToNpubHrp -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.KeyPackageManagementRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.navigation.routes.ShareProfileRoute -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.view.model.ActiveProfileViewModel -import at.torch.compose.ui.view.state.ActiveProfileUIState +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.extensions.hexToNpubHrp +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.KeyPackageManagementRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.navigation.routes.ShareProfileRoute +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.view.model.ActiveProfileViewModel +import press.mantra.compose.ui.view.state.ActiveProfileUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent @@ -362,7 +360,7 @@ fun ActiveProfileScreen( @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { @@ -381,7 +379,7 @@ It has survived not only five centuries, but also the leap into electronic types sig = "", kind = MetadataEvent.KIND ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240", displayName = "John Doe", nostrEventId = "nostrEventId", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt index bb243963..4ad91099 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/AddMemberToChatRoomConfirmationScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -26,17 +26,16 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.AddMemberToChatRoomConfirmationViewModel -import at.torch.compose.ui.view.state.AddMemberToChatRoomConfirmationUIState +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.AddMemberToChatRoomConfirmationViewModel +import press.mantra.compose.ui.view.state.AddMemberToChatRoomConfirmationUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey @OptIn(ExperimentalMaterial3ExpressiveApi::class, ExperimentalMaterial3Api::class) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomCreationScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomCreationScreen.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomCreationScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomCreationScreen.kt index 3b7e89ee..3b3f994c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomCreationScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomCreationScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -25,10 +25,10 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.view.model.ChatRoomCreationViewModel +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.view.model.ChatRoomCreationViewModel import fr.acinq.phoenix.data.ActiveWallet import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -167,7 +167,7 @@ fun ChatRoomCreationScreen( @Preview @Composable private fun LoadingScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomDetailScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomDetailScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomDetailScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomDetailScreen.kt index c56667cd..36489477 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomDetailScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomDetailScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -36,21 +36,21 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.Participant -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.database.model.intermdiate.LocalParticipant -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.navigation.routes.SearchMemberToAddToChatRoomRoute -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.ChatRoomDetailViewModel -import at.torch.compose.ui.view.state.ChatRoomDetailUIState +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.Participant +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.intermdiate.LocalParticipant +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.navigation.routes.SearchMemberToAddToChatRoomRoute +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.ChatRoomDetailViewModel +import press.mantra.compose.ui.view.state.ChatRoomDetailUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey @OptIn(ExperimentalMaterial3ExpressiveApi::class, ExperimentalMaterial3Api::class) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomMessagingScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomMessagingScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomMessagingScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomMessagingScreen.kt index 5f4c29c7..6dceca7f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ChatRoomMessagingScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ChatRoomMessagingScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -15,7 +15,6 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.Send import androidx.compose.material.icons.filled.Mic import androidx.compose.material.icons.filled.MoreVert -import androidx.compose.material.icons.filled.Send import androidx.compose.material3.BottomAppBarDefaults import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi @@ -38,16 +37,16 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ChatRoomDetailRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.ChatRoomMessagingViewModel -import at.torch.compose.ui.view.state.ChatRoomMessagingUIState +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomDetailRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.ChatRoomMessagingViewModel +import press.mantra.compose.ui.view.state.ChatRoomMessagingUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey @OptIn(ExperimentalMaterial3ExpressiveApi::class, ExperimentalMaterial3Api::class) @@ -90,8 +89,8 @@ fun ChatRoomMessagingScreen( is ChatRoomMessagingUIState.Loaded -> { val textFieldState = rememberTextFieldState() - val chatMessageListViewModel: at.torch.compose.ui.view.model.ChatMessageListViewModel = viewModel( - factory = at.torch.compose.ui.view.model.ChatMessageListViewModel.factory( + val chatMessageListViewModel: press.mantra.compose.ui.view.model.ChatMessageListViewModel = viewModel( + factory = press.mantra.compose.ui.view.model.ChatMessageListViewModel.factory( localChatRoom = chatRoomDetailUIState.localChatRoom, nostrRepository = nostrRepository, chatRepository = chatRepository diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/CreateProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/CreateProfileScreen.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/CreateProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/CreateProfileScreen.kt index 82221a4f..c03f7da5 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/CreateProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/CreateProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -31,16 +31,16 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.repository.MarmotRepository -import at.torch.compose.ui.view.model.CreateProfileViewModel -import at.torch.compose.ui.view.state.CreateProfileUIState +import press.mantra.compose.repository.MarmotRepository +import press.mantra.compose.ui.view.model.CreateProfileViewModel +import press.mantra.compose.ui.view.state.CreateProfileUIState @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable fun CreateProfileScreen( initialCreateProfileUIState: CreateProfileUIState = CreateProfileUIState.Declaration, onNavigateToEndThis: () -> Unit, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, marmotRepository: MarmotRepository, writeSeed: (List) -> Unit ) { @@ -308,7 +308,7 @@ fun CreateProfileScreen( Button( colors = ButtonDefaults.buttonColors( - containerColor = _root_ide_package_.at.torch.compose.ui.theme.RedPill, + containerColor = _root_ide_package_.press.mantra.compose.ui.theme.RedPill, contentColor = Color.White ), onClick = { @@ -326,7 +326,7 @@ fun CreateProfileScreen( Button( colors = ButtonDefaults.buttonColors( - containerColor = _root_ide_package_.at.torch.compose.ui.theme.BluePill, + containerColor = _root_ide_package_.press.mantra.compose.ui.theme.BluePill, contentColor = Color.DarkGray ), onClick = { @@ -353,7 +353,7 @@ fun CreateProfileScreen( @Preview @Composable fun CreateAccountScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { @@ -386,8 +386,8 @@ fun CreateAccountScreenPreview() { // name = "Alan Turing", // bio = "Polyglot: Math... is my middle name, computer scientist. cryptographer, and gold hider." // ), -// _root_ide_package_.at.torch.compose.ui.view.state.CreateProfileUIState.ProfileReady( -// profile = _root_ide_package_.at.torch.compose.database.model.Profile( +// _root_ide_package_.press.mantra.compose.ui.view.state.CreateProfileUIState.ProfileReady( +// profile = _root_ide_package_.press.mantra.compose.database.model.Profile( // publicKey = "", // nostrEventId = "", // displayName = "Alan Turing", @@ -396,7 +396,7 @@ fun CreateAccountScreenPreview() { // ), onNavigateToEndThis = {}, writeSeed = {}, - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY, + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY, marmotRepository = MarmotRepository.NO_OP_MARMOT_KEY_PACKAGE_BUNDLE ) } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/HomeScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/HomeScreen.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/HomeScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/HomeScreen.kt index eb41afa1..eb6c84d2 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/HomeScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/HomeScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -37,22 +37,22 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ActiveProfileRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.dialogs.NewChatBottomSheetDialog -import at.torch.compose.ui.composable.widgets.dialogs.StartDirectMessageToNpubOrNip05Dialog -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.ChatRoomListViewModel -import at.torch.compose.ui.view.model.HomeScreenType -import at.torch.compose.ui.view.model.HomeViewModel -import at.torch.compose.ui.view.state.HomeScreenUIState +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ActiveProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.dialogs.NewChatBottomSheetDialog +import press.mantra.compose.ui.composable.widgets.dialogs.StartDirectMessageToNpubOrNip05Dialog +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.ChatRoomListViewModel +import press.mantra.compose.ui.view.model.HomeScreenType +import press.mantra.compose.ui.view.model.HomeViewModel +import press.mantra.compose.ui.view.state.HomeScreenUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent import kotlinx.coroutines.launch @@ -206,7 +206,7 @@ fun HomeScreen( val chatRoomListViewModel: ChatRoomListViewModel = viewModel( key = homeScreenTypeType.name, factory = ChatRoomListViewModel.factory( - initialChatRoomListUIState = at.torch.compose.ui.view.state.ChatRoomListUIState.Loading, + initialChatRoomListUIState = press.mantra.compose.ui.view.state.ChatRoomListUIState.Loading, publicKey = homeScreenUIState.profileWithFollowing.profile.publicKey, nostrRepository = nostrRepository, chatRepository = chatRepository diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ImplementationPendingScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ImplementationPendingScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ImplementationPendingScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ImplementationPendingScreen.kt index fad756d6..f895b7ad 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ImplementationPendingScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ImplementationPendingScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -39,7 +39,7 @@ fun ImplementationPendingScreen( @Preview @Composable private fun ImplementationPendingScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/KeyPackageManagementScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/KeyPackageManagementScreen.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/KeyPackageManagementScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/KeyPackageManagementScreen.kt index cc71db54..d2d812ae 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/KeyPackageManagementScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/KeyPackageManagementScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -6,26 +6,15 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack -import androidx.compose.material.icons.filled.Bento import androidx.compose.material.icons.filled.DoneAll -import androidx.compose.material.icons.filled.Edit -import androidx.compose.material.icons.filled.Hub -import androidx.compose.material.icons.filled.ImportExport -import androidx.compose.material.icons.filled.Key import androidx.compose.material.icons.filled.LockReset -import androidx.compose.material.icons.filled.Logout -import androidx.compose.material.icons.filled.PrivateConnectivity -import androidx.compose.material.icons.filled.Publish -import androidx.compose.material.icons.filled.QrCode import androidx.compose.material.icons.filled.Unpublished -import androidx.compose.material.icons.filled.Verified import androidx.compose.material.icons.filled.VerifiedUser import androidx.compose.material3.Button import androidx.compose.material3.Card @@ -38,31 +27,22 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.MarmotKeyPackageBundle -import at.torch.compose.extensions.hexToNpubHrp -import at.torch.compose.extensions.toFormattedTimeAndDateString -import at.torch.compose.repository.MarmotRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.navigation.routes.ShareProfileRoute -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.view.model.KeyPackageManagementViewModel -import at.torch.compose.ui.view.state.KeyPackageManagementUIState -import com.vitorpamplona.quartz.marmot.mls.messages.MlsKeyPackage +import press.mantra.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.repository.MarmotRepository +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.view.model.KeyPackageManagementViewModel +import press.mantra.compose.ui.view.state.KeyPackageManagementUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey -import fr.acinq.phoenix.preferredAmountUnit @OptIn(ExperimentalMaterial3ExpressiveApi::class, ExperimentalMaterial3Api::class) @Composable @@ -241,7 +221,7 @@ fun KeyPackageManagementScreen( @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LandingScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LandingScreen.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LandingScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LandingScreen.kt index cbe81443..844c77ea 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LandingScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LandingScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -101,7 +101,7 @@ fun LandingScreen( @Preview @Composable private fun LandingScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LoadingScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LoadingScreen.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LoadingScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LoadingScreen.kt index b365539b..956de97d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/LoadingScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/LoadingScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize @@ -17,7 +17,7 @@ fun LoadingScreen( Column( modifier = Modifier.padding(innerPadding) ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( text = text ) } @@ -27,7 +27,7 @@ fun LoadingScreen( @Preview @Composable private fun LoadingScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/NostrEventDetailScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/NostrEventDetailScreen.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/NostrEventDetailScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/NostrEventDetailScreen.kt index d92c3ec9..68607acf 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/NostrEventDetailScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/NostrEventDetailScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -15,17 +15,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.detail.MetadataEventDetail -import at.torch.compose.ui.composable.widgets.detail.TextNoteEventDetail -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.NostrEventDetailViewModel -import at.torch.compose.ui.view.state.NostrEventDetailUIState +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.detail.MetadataEventDetail +import press.mantra.compose.ui.composable.widgets.detail.TextNoteEventDetail +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.NostrEventDetailViewModel +import press.mantra.compose.ui.view.state.NostrEventDetailUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt index 86a0666b..0c9fc6d0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchMemberToAddToChatRoomScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -27,18 +27,18 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.ChatRoom -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.AddMemberToChatRoomConfirmationRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.SearchMemberToAddToChatRoomViewModel -import at.torch.compose.ui.view.state.SearchMemberToAddToChatRoomUIState +import press.mantra.compose.database.model.ChatRoom +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.AddMemberToChatRoomConfirmationRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.SearchMemberToAddToChatRoomViewModel +import press.mantra.compose.ui.view.state.SearchMemberToAddToChatRoomUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey @OptIn(ExperimentalMaterial3ExpressiveApi::class, ExperimentalMaterial3Api::class) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchResultScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchResultScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchResultScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchResultScreen.kt index 0c40c6d7..1e713f77 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchResultScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchResultScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -49,10 +49,10 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.ui.composable.widgets.feed.ListView -import at.torch.compose.ui.view.model.SearchResultType -import at.torch.compose.ui.view.model.SearchResultViewModel -import at.torch.compose.ui.view.state.SearchResultListUIState +import press.mantra.compose.ui.composable.widgets.feed.ListView +import press.mantra.compose.ui.view.model.SearchResultType +import press.mantra.compose.ui.view.model.SearchResultViewModel +import press.mantra.compose.ui.view.state.SearchResultListUIState import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @@ -60,10 +60,10 @@ import kotlinx.coroutines.launch fun SearchResultScreen( activeUserPublicKey: String, searchQuery: String, - nostrRepository: at.torch.compose.repository.NostrRepository, - searchRepository: at.torch.compose.repository.SearchRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, + searchRepository: press.mantra.compose.repository.SearchRepository, onNavigateBack: () -> Unit, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { val scope = rememberCoroutineScope() @@ -245,7 +245,7 @@ fun SearchResultScreen( localNostrEvent.ListView( onNavigateToEvent = { nostrEventId -> onNavigateToEvent.invoke( - _root_ide_package_.at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute( + _root_ide_package_.press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute( activeUserPublicKey = activeUserPublicKey, nostrEventId = nostrEventId ) @@ -292,15 +292,15 @@ fun SearchResultScreen( @Preview @Composable private fun SearchResultScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { SearchResultScreen( activeUserPublicKey = "", searchQuery = "What happened...", - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY, - searchRepository = at.torch.compose.repository.SearchRepository.NO_OP_SEARCH_REPOSITORY, + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY, + searchRepository = press.mantra.compose.repository.SearchRepository.NO_OP_SEARCH_REPOSITORY, onNavigateBack = {}, onNavigateToEvent = {} ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchScreen.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchScreen.kt index 79c7edab..93d7f572 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SearchScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SearchScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -51,16 +51,16 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.repository.NostrRepository -import at.torch.compose.repository.SearchRepository -import at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.navigation.routes.SearchResultRoute -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.composable.widgets.profile.ProfileColor -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.SearchViewModel -import at.torch.compose.ui.view.state.SearchUIState +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.repository.SearchRepository +import press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.navigation.routes.SearchResultRoute +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.composable.widgets.profile.ProfileColor +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.SearchViewModel +import press.mantra.compose.ui.view.state.SearchUIState @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @Composable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ShareProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ShareProfileScreen.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ShareProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ShareProfileScreen.kt index c3d7d98d..932b3540 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/ShareProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/ShareProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -6,19 +6,12 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.ContentCopy -import androidx.compose.material.icons.filled.Edit -import androidx.compose.material.icons.filled.Hub -import androidx.compose.material.icons.filled.ImportExport -import androidx.compose.material.icons.filled.Key -import androidx.compose.material.icons.filled.Logout -import androidx.compose.material.icons.filled.QrCode import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi @@ -39,17 +32,16 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.extensions.hexToNpubHrp -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator -import at.torch.compose.ui.composable.widgets.QRCodeView -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.view.model.ShareProfileViewModel -import at.torch.compose.ui.view.state.ShareProfileUIState +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.extensions.hexToNpubHrp +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.QRCodeView +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.view.model.ShareProfileViewModel +import press.mantra.compose.ui.view.state.ShareProfileUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent @@ -228,7 +220,7 @@ fun ShareProfileScreen( @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { @@ -247,7 +239,7 @@ It has survived not only five centuries, but also the leap into electronic types sig = "", kind = MetadataEvent.KIND ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240", displayName = "John Doe", nostrEventId = "nostrEventId", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SignInScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SignInScreen.kt similarity index 87% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SignInScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SignInScreen.kt index 6774db19..4939ee92 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SignInScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SignInScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -34,11 +34,11 @@ import com.vitorpamplona.quartz.nip19Bech32.entities.NSec @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable fun SignInToProfileScreen( - initialSignInToProfileUIState: at.torch.compose.ui.view.state.SignInToProfileUIState = at.torch.compose.ui.view.state.SignInToProfileUIState.InputPrompt, - nostrRepository: at.torch.compose.repository.NostrRepository + initialSignInToProfileUIState: press.mantra.compose.ui.view.state.SignInToProfileUIState = press.mantra.compose.ui.view.state.SignInToProfileUIState.InputPrompt, + nostrRepository: press.mantra.compose.repository.NostrRepository ) { - val signInToProfileViewModel: at.torch.compose.ui.view.model.SignInToProfileViewModel = viewModel ( - factory = at.torch.compose.ui.view.model.SignInToProfileViewModel.factory( + val signInToProfileViewModel: press.mantra.compose.ui.view.model.SignInToProfileViewModel = viewModel ( + factory = press.mantra.compose.ui.view.model.SignInToProfileViewModel.factory( initialSignInToProfileUIState, nostrRepository ) @@ -57,7 +57,7 @@ fun SignInToProfileScreen( ) { when (val signInToProfileUIState = signInToProfileViewModel.signInToProfileUIState.value) { - is at.torch.compose.ui.view.state.SignInToProfileUIState.InputPrompt -> { + is press.mantra.compose.ui.view.state.SignInToProfileUIState.InputPrompt -> { Text( "Sign In", style = MaterialTheme.typography.headlineSmall @@ -106,19 +106,19 @@ fun SignInToProfileScreen( signInToProfileViewModel.signInToProfileUIState.value = signInToProfileViewModel.validateCredential().let { credentialEntity -> when (credentialEntity) { is NSec -> { - at.torch.compose.ui.view.state.SignInToProfileUIState.ConfirmNsecSignIn( + press.mantra.compose.ui.view.state.SignInToProfileUIState.ConfirmNsecSignIn( nsec = signInToProfileViewModel.signInToProfileFormState.textFieldForm.textFieldState.text.toString(), hexKey = credentialEntity.hex ) } is NPub -> { - at.torch.compose.ui.view.state.SignInToProfileUIState.ConfirmNpubSignIn( + press.mantra.compose.ui.view.state.SignInToProfileUIState.ConfirmNpubSignIn( npub = signInToProfileViewModel.signInToProfileFormState.textFieldForm.textFieldState.text.toString(), hexKey = credentialEntity.hex ) } else -> { - at.torch.compose.ui.view.state.SignInToProfileUIState.Error + press.mantra.compose.ui.view.state.SignInToProfileUIState.Error } } } @@ -134,7 +134,7 @@ fun SignInToProfileScreen( } } - is at.torch.compose.ui.view.state.SignInToProfileUIState.ConfirmNpubSignIn-> { + is press.mantra.compose.ui.view.state.SignInToProfileUIState.ConfirmNpubSignIn-> { Spacer( modifier = Modifier.weight(1f) @@ -186,7 +186,7 @@ fun SignInToProfileScreen( } } - is at.torch.compose.ui.view.state.SignInToProfileUIState.ConfirmNsecSignIn-> { + is press.mantra.compose.ui.view.state.SignInToProfileUIState.ConfirmNsecSignIn-> { Spacer( modifier = Modifier.weight(1f) @@ -232,7 +232,7 @@ fun SignInToProfileScreen( } } - is at.torch.compose.ui.view.state.SignInToProfileUIState.Error -> { + is press.mantra.compose.ui.view.state.SignInToProfileUIState.Error -> { Spacer( modifier = Modifier.weight(1f) ) @@ -254,13 +254,13 @@ fun SignInToProfileScreen( @Preview @Composable private fun SignInToProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { SignInToProfileScreen( initialSignInToProfileUIState = - at.torch.compose.ui.view.state.SignInToProfileUIState.InputPrompt, + press.mantra.compose.ui.view.state.SignInToProfileUIState.InputPrompt, // SignInToProfileUIState.Error, // SignInToProfileUIState.ConfirmNpubSignIn( // npub = "npub1uh366qnj68a7atvwgwdy4569xd6v5jtferftapqztwjwlzh9553q47pqsx", @@ -270,7 +270,7 @@ private fun SignInToProfileScreenPreview() { // nsec = "nsecthingsaretobekeptsecret", // hexKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522" // ), - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY ) } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SocialPreconditionScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SocialPreconditionScreen.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SocialPreconditionScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SocialPreconditionScreen.kt index f6dbac9c..bdafdd29 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SocialPreconditionScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SocialPreconditionScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -114,7 +114,7 @@ fun SocialPreconditionScreen( @Preview @Composable private fun SocialPreconditionScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SovereignWalletStartupScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SovereignWalletStartupScreen.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SovereignWalletStartupScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SovereignWalletStartupScreen.kt index e0ab0ca2..f78311b4 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/SovereignWalletStartupScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/SovereignWalletStartupScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.* import androidx.compose.material3.HorizontalDivider @@ -16,7 +16,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.ui.composable.widgets.LoadingDataIndicator +import press.mantra.compose.ui.composable.widgets.LoadingDataIndicator import fr.acinq.phoenix.data.ListWalletState import fr.acinq.phoenix.data.UserWallet import fr.acinq.phoenix.data.WalletId @@ -29,14 +29,14 @@ import kotlinx.coroutines.flow.first @Composable fun SovereignWalletStartupScreen( - sovereignWalletViewModel: at.torch.compose.ui.view.model.SovereignWalletViewModel, + sovereignWalletViewModel: press.mantra.compose.ui.view.model.SovereignWalletViewModel, onNavigateToWalletIntroPage: () -> Unit, onNavigateToWalletLandingPage: () -> Unit, onSuccessfulStartup: () -> Unit, forceWalletId: WalletId?, ) { - val sovereignWalletStartupViewModel = viewModel( - factory = at.torch.compose.ui.view.model.SovereignWalletStartupViewModel.factory( + val sovereignWalletStartupViewModel = viewModel( + factory = press.mantra.compose.ui.view.model.SovereignWalletStartupViewModel.factory( phoenixGlobal = sovereignWalletViewModel.phoenixGlobal, ) ) @@ -102,7 +102,7 @@ fun SovereignWalletStartupScreen( } else -> { when (val startupState = sovereignWalletStartupViewModel.state.value) { - is at.torch.compose.ui.view.model.StartupViewState.Init -> { + is press.mantra.compose.ui.view.model.StartupViewState.Init -> { var loadingWallet by remember { mutableStateOf( when { @@ -117,7 +117,7 @@ fun SovereignWalletStartupScreen( } when (val wallet = loadingWallet) { null -> { - _root_ide_package_.at.torch.compose.ui.composable.widgets.wallet.WalletsSelector( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.wallet.WalletsSelector( wallets = availableWallets, globalPrefs = globalPrefs, walletsMetadata = availableWalletMetadata, @@ -168,17 +168,17 @@ fun SovereignWalletStartupScreen( } } } - is at.torch.compose.ui.view.model.StartupViewState.StartingBusiness -> { + is press.mantra.compose.ui.view.model.StartupViewState.StartingBusiness -> { LoadingDataIndicator( text = "Starting wallet" ) } - is at.torch.compose.ui.view.model.StartupViewState.BusinessActive -> { + is press.mantra.compose.ui.view.model.StartupViewState.BusinessActive -> { LoadingDataIndicator( text = "Opening wallet" ) } - is at.torch.compose.ui.view.model.StartupViewState.Error -> { + is press.mantra.compose.ui.view.model.StartupViewState.Error -> { Column(horizontalAlignment = Alignment.CenterHorizontally) { Text( @@ -186,7 +186,7 @@ fun SovereignWalletStartupScreen( ) when (startupState) { - is at.torch.compose.ui.view.model.StartupViewState.Error.Generic -> { + is press.mantra.compose.ui.view.model.StartupViewState.Error.Generic -> { startupState.cause?.message?.let { message -> Text( text = message, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnannouncedProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnannouncedProfileScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnannouncedProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnannouncedProfileScreen.kt index 52069381..2d04e931 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnannouncedProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnannouncedProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -52,7 +52,7 @@ fun UnannouncedProfileScreen() { Spacer( modifier = Modifier.weight(1f) ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -70,7 +70,7 @@ fun UnannouncedProfileScreen() { @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnindexedProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnindexedProfileScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnindexedProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnindexedProfileScreen.kt index 6e1de360..d71b91b6 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnindexedProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnindexedProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -52,7 +52,7 @@ fun UnindexedProfileScreen() { Spacer( modifier = Modifier.weight(1f) ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -70,7 +70,7 @@ fun UnindexedProfileScreen() { @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileScreen.kt index db5fa780..1fd3b01c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -52,7 +52,7 @@ fun UnqueuedProfileScreen() { Spacer( modifier = Modifier.weight(1f) ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -70,7 +70,7 @@ fun UnqueuedProfileScreen() { @Preview @Composable private fun UnannouncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt similarity index 82% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt index 7b2fbb11..fb417f29 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnqueuedProfileSynchronizationScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -25,10 +25,10 @@ import androidx.lifecycle.viewmodel.compose.viewModel fun UnqueuedProfileSynchronizationScreen( unsignedNostrEventId: Long, profilePublicKey: String, - nostrRepository: at.torch.compose.repository.NostrRepository + nostrRepository: press.mantra.compose.repository.NostrRepository ) { - val unqueuedProfileSynchronizationViewModel: at.torch.compose.ui.view.model.UnqueuedProfileSynchronizationViewModel = viewModel( - factory = at.torch.compose.ui.view.model.UnqueuedProfileSynchronizationViewModel.factory( + val unqueuedProfileSynchronizationViewModel: press.mantra.compose.ui.view.model.UnqueuedProfileSynchronizationViewModel = viewModel( + factory = press.mantra.compose.ui.view.model.UnqueuedProfileSynchronizationViewModel.factory( unsignedNostrEventId = unsignedNostrEventId, profilePublicKey = profilePublicKey, nostrRepository = nostrRepository @@ -63,7 +63,7 @@ fun UnqueuedProfileSynchronizationScreen( textAlign = TextAlign.Center ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -82,14 +82,14 @@ fun UnqueuedProfileSynchronizationScreen( @Preview @Composable private fun UnqueuedProfileSynchronizationScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { UnqueuedProfileSynchronizationScreen( unsignedNostrEventId = 2, profilePublicKey = "npub is for living.", - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY ) } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsignedProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsignedProfileScreen.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsignedProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsignedProfileScreen.kt index 15f898ca..7b8a672e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsignedProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsignedProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -49,7 +49,7 @@ fun UnsignedProfileScreen() { textAlign = TextAlign.Center ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -64,7 +64,7 @@ fun UnsignedProfileScreen() { @Preview @Composable private fun UnsignedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsyncedProfileScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsyncedProfileScreen.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsyncedProfileScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsyncedProfileScreen.kt index 03656396..d62cb0b2 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/UnsyncedProfileScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/UnsyncedProfileScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -51,7 +51,7 @@ fun UnsyncedProfileScreen( textAlign = TextAlign.Center ) - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( fillScreen = false ) @@ -66,7 +66,7 @@ fun UnsyncedProfileScreen( @Preview @Composable private fun UnsyncedProfileScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/WriteNewNoteScreen.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/WriteNewNoteScreen.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/WriteNewNoteScreen.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/WriteNewNoteScreen.kt index 470401ab..b42e0b48 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/WriteNewNoteScreen.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/WriteNewNoteScreen.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable +package press.mantra.compose.ui.composable import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Arrangement @@ -39,7 +39,7 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent import kotlin.time.Clock @@ -48,15 +48,15 @@ import kotlin.time.Clock @Composable fun WriteNewNoteScreen( activeUserPublicKey: HexKey, - initialWriteNewNoteUIState: at.torch.compose.ui.view.state.WriteNewNoteUIState = at.torch.compose.ui.view.state.WriteNewNoteUIState.Loading, + initialWriteNewNoteUIState: press.mantra.compose.ui.view.state.WriteNewNoteUIState = press.mantra.compose.ui.view.state.WriteNewNoteUIState.Loading, replyToNostrEventId: HexKey?, quotedNostrEventId: HexKey?, onNostrEventPublished: () -> Unit, onNavigateToNostrEvent: (HexKey) -> Unit, - nostrRepository: at.torch.compose.repository.NostrRepository + nostrRepository: press.mantra.compose.repository.NostrRepository ) { - val writeNewNoteViewModel: at.torch.compose.ui.view.model.WriteNewNoteViewModel = viewModel ( - factory = at.torch.compose.ui.view.model.WriteNewNoteViewModel.factory( + val writeNewNoteViewModel: press.mantra.compose.ui.view.model.WriteNewNoteViewModel = viewModel ( + factory = press.mantra.compose.ui.view.model.WriteNewNoteViewModel.factory( activeUserPublicKey = activeUserPublicKey, replyToNostrEventId = replyToNostrEventId, quotedNostrEventId = quotedNostrEventId, @@ -78,10 +78,10 @@ fun WriteNewNoteScreen( ) { when (val writeNewNoteUIState = writeNewNoteViewModel.writeNewNoteUIState) { - is at.torch.compose.ui.view.state.WriteNewNoteUIState.Loading -> { - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator() + is press.mantra.compose.ui.view.state.WriteNewNoteUIState.Loading -> { + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator() } - is at.torch.compose.ui.view.state.WriteNewNoteUIState.InputPrompt -> { + is press.mantra.compose.ui.view.state.WriteNewNoteUIState.InputPrompt -> { val listState = rememberLazyListState() @@ -158,7 +158,7 @@ fun WriteNewNoteScreen( ) }, leadingIcon = { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = writeNewNoteUIState.localProfile.profile, size = 35.dp ) @@ -175,8 +175,8 @@ fun WriteNewNoteScreen( }, outputTransformation = OutputTransformation { val content = originalText.toString() - val nostrProfiles = at.torch.compose.ui.composable.widgets.content.ContentParser.parse(content.trimEnd('\n', '\r'), emptyMap(), emptyMap(), trimBlankLines = true) - .filterIsInstance() + val nostrProfiles = press.mantra.compose.ui.composable.widgets.content.ContentParser.parse(content.trimEnd('\n', '\r'), emptyMap(), emptyMap(), trimBlankLines = true) + .filterIsInstance() // TODO: We might want to order these profiles by the startIndex so that we can replace the better if (writeNewNoteViewModel.mentionedProfiles.isNotEmpty()) { @@ -192,7 +192,7 @@ fun WriteNewNoteScreen( addStyle( SpanStyle( - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(mentionedProfile.publicKey) + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(mentionedProfile.publicKey) ), nostrProfile.startIndex, nostrProfile.startIndex + profileMention.length @@ -219,7 +219,7 @@ fun WriteNewNoteScreen( ) }, leadingIcon = { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = profile ) }, @@ -274,7 +274,7 @@ fun WriteNewNoteScreen( } } - is at.torch.compose.ui.view.state.WriteNewNoteUIState.ConfirmNote-> { + is press.mantra.compose.ui.view.state.WriteNewNoteUIState.ConfirmNote-> { val listState = rememberLazyListState() @@ -322,7 +322,7 @@ fun WriteNewNoteScreen( ) } - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = writeNewNoteUIState.localProfile.profile ) @@ -334,9 +334,9 @@ fun WriteNewNoteScreen( ) } - _root_ide_package_.at.torch.compose.ui.composable.widgets.content.RichContent( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.content.RichContent( // Hack to have the thing rendered for a preview... - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "", content = writeNewNoteUIState.text, sig = "", @@ -347,8 +347,8 @@ fun WriteNewNoteScreen( ), localQuotedNostrEvent = null, mentionedProfiles = writeNewNoteViewModel.mentionableProfiles.map { - _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalMention( - mention = _root_ide_package_.at.torch.compose.database.model.Mention( + _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalMention( + mention = _root_ide_package_.press.mantra.compose.database.model.Mention( mentionedPublicKey = it.publicKey, mentioningNostrEventId = "" ), @@ -417,7 +417,7 @@ fun WriteNewNoteScreen( } } - is at.torch.compose.ui.view.state.WriteNewNoteUIState.Error -> { + is press.mantra.compose.ui.view.state.WriteNewNoteUIState.Error -> { Spacer( modifier = Modifier.weight(1f) ) @@ -443,7 +443,7 @@ fun WriteNewNoteScreen( @Preview @Composable private fun WriteNewNoteScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.fillMaxSize() ) { @@ -452,10 +452,10 @@ private fun WriteNewNoteScreenPreview() { replyToNostrEventId = null, quotedNostrEventId = null, initialWriteNewNoteUIState = - at.torch.compose.ui.view.state.WriteNewNoteUIState.InputPrompt( + press.mantra.compose.ui.view.state.WriteNewNoteUIState.InputPrompt( // text = "Yes, I did it. So WHAT?!", - inReplyToNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + inReplyToNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "eventId", pubKey = "publicKey", content = """Lorem Ipsum is simply dummy text of the printing and typesetting industry. @@ -467,14 +467,14 @@ It has survived not only five centuries, but also the leap into electronic types sig = "", kind = TextNoteEvent.KIND ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "pubKey", displayName = "John Doe", nostrEventId = "nostrEventId" ), ), - localProfile = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + localProfile = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "eventId", pubKey = "publicKey", content = """Lorem Ipsum is simply dummy text of the printing and typesetting industry. @@ -486,7 +486,7 @@ It has survived not only five centuries, but also the leap into electronic types sig = "", kind = TextNoteEvent.KIND ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "pubKey", displayName = "John Doe", nip05 = "john@doe.com", @@ -497,7 +497,7 @@ It has survived not only five centuries, but also the leap into electronic types ), onNostrEventPublished = {}, onNavigateToNostrEvent = {}, - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY ) } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/TorchNavHost.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/MantraNavHost.kt similarity index 83% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/TorchNavHost.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/MantraNavHost.kt index 2ffc4bdc..e8b96ed9 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/TorchNavHost.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/MantraNavHost.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation +package press.mantra.compose.ui.composable.navigation import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.Surface @@ -12,72 +12,72 @@ import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.toRoute -import at.torch.compose.TorchGlobal -import at.torch.compose.database.repository.DatabaseChatRepository -import at.torch.compose.database.repository.DatabaseMarmotRepository -import at.torch.compose.database.repository.DatabaseNostrRepository -import at.torch.compose.database.repository.DatabaseSearchRepository -import at.torch.compose.managers.AuxDatabaseManager -import at.torch.compose.ui.composable.ActiveProfileScreen -import at.torch.compose.ui.composable.AddMemberToChatRoomConfirmationScreen -import at.torch.compose.ui.composable.ChatRoomCreationScreen -import at.torch.compose.ui.composable.ChatRoomDetailScreen -import at.torch.compose.ui.composable.ChatRoomMessagingScreen -import at.torch.compose.ui.composable.CreateProfileScreen -import at.torch.compose.ui.composable.HomeScreen -import at.torch.compose.ui.composable.ImplementationPendingScreen -import at.torch.compose.ui.composable.KeyPackageManagementScreen -import at.torch.compose.ui.composable.LandingScreen -import at.torch.compose.ui.composable.LoadingScreen -import at.torch.compose.ui.composable.NostrEventDetailScreen -import at.torch.compose.ui.composable.SearchMemberToAddToChatRoomScreen -import at.torch.compose.ui.composable.SearchResultScreen -import at.torch.compose.ui.composable.SearchScreen -import at.torch.compose.ui.composable.ShareProfileScreen -import at.torch.compose.ui.composable.SignInToProfileScreen -import at.torch.compose.ui.composable.SocialPreconditionScreen -import at.torch.compose.ui.composable.SovereignWalletStartupScreen -import at.torch.compose.ui.composable.UnannouncedProfileScreen -import at.torch.compose.ui.composable.UnindexedProfileScreen -import at.torch.compose.ui.composable.UnqueuedProfileScreen -import at.torch.compose.ui.composable.UnqueuedProfileSynchronizationScreen -import at.torch.compose.ui.composable.UnsignedProfileScreen -import at.torch.compose.ui.composable.UnsyncedProfileScreen -import at.torch.compose.ui.composable.WriteNewNoteScreen -import at.torch.compose.ui.composable.navigation.routes.ActiveProfileRoute -import at.torch.compose.ui.composable.navigation.routes.AddMemberToChatRoomConfirmationRoute -import at.torch.compose.ui.composable.navigation.routes.BlankRoute -import at.torch.compose.ui.composable.navigation.routes.ChatRoomCreationRoute -import at.torch.compose.ui.composable.navigation.routes.ChatRoomDetailRoute -import at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute -import at.torch.compose.ui.composable.navigation.routes.CreateProfileRoute -import at.torch.compose.ui.composable.navigation.routes.HomeRoute -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.KeyPackageManagementRoute -import at.torch.compose.ui.composable.navigation.routes.LandingRoute -import at.torch.compose.ui.composable.navigation.routes.LoadingRoute -import at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute -import at.torch.compose.ui.composable.navigation.routes.SearchMemberToAddToChatRoomRoute -import at.torch.compose.ui.composable.navigation.routes.SearchResultRoute -import at.torch.compose.ui.composable.navigation.routes.SearchRoute -import at.torch.compose.ui.composable.navigation.routes.ShareProfileRoute -import at.torch.compose.ui.composable.navigation.routes.SignInRoute -import at.torch.compose.ui.composable.navigation.routes.SocialPreconditionRoute -import at.torch.compose.ui.composable.navigation.routes.SovereignWalletStartupRoute -import at.torch.compose.ui.composable.navigation.routes.UnannouncedProfileRoute -import at.torch.compose.ui.composable.navigation.routes.UnindexedProfileRoute -import at.torch.compose.ui.composable.navigation.routes.UnqueuedProfileRoute -import at.torch.compose.ui.composable.navigation.routes.UnqueuedProfileSynchronizationRoute -import at.torch.compose.ui.composable.navigation.routes.UnsignedProfileRoute -import at.torch.compose.ui.composable.navigation.routes.UnsyncedProfileRoute -import at.torch.compose.ui.composable.navigation.routes.WriteNewNoteRoute -import at.torch.compose.ui.view.model.NavigationViewModel -import at.torch.compose.ui.view.model.NotaryViewModel -import at.torch.compose.ui.view.model.SovereignWalletViewModel -import at.torch.compose.ui.view.model.SynchronizationViewModel -import at.torch.compose.ui.view.state.NavigationUIState -import at.torch.compose.ui.view.state.NostrEventDetailUIState -import at.torch.compose.ui.view.state.SearchUIState +import press.mantra.compose.MantraGlobal +import press.mantra.compose.database.repository.DatabaseChatRepository +import press.mantra.compose.database.repository.DatabaseMarmotRepository +import press.mantra.compose.database.repository.DatabaseNostrRepository +import press.mantra.compose.database.repository.DatabaseSearchRepository +import press.mantra.compose.managers.AuxDatabaseManager +import press.mantra.compose.ui.composable.ActiveProfileScreen +import press.mantra.compose.ui.composable.AddMemberToChatRoomConfirmationScreen +import press.mantra.compose.ui.composable.ChatRoomCreationScreen +import press.mantra.compose.ui.composable.ChatRoomDetailScreen +import press.mantra.compose.ui.composable.ChatRoomMessagingScreen +import press.mantra.compose.ui.composable.CreateProfileScreen +import press.mantra.compose.ui.composable.HomeScreen +import press.mantra.compose.ui.composable.ImplementationPendingScreen +import press.mantra.compose.ui.composable.KeyPackageManagementScreen +import press.mantra.compose.ui.composable.LandingScreen +import press.mantra.compose.ui.composable.LoadingScreen +import press.mantra.compose.ui.composable.NostrEventDetailScreen +import press.mantra.compose.ui.composable.SearchMemberToAddToChatRoomScreen +import press.mantra.compose.ui.composable.SearchResultScreen +import press.mantra.compose.ui.composable.SearchScreen +import press.mantra.compose.ui.composable.ShareProfileScreen +import press.mantra.compose.ui.composable.SignInToProfileScreen +import press.mantra.compose.ui.composable.SocialPreconditionScreen +import press.mantra.compose.ui.composable.SovereignWalletStartupScreen +import press.mantra.compose.ui.composable.UnannouncedProfileScreen +import press.mantra.compose.ui.composable.UnindexedProfileScreen +import press.mantra.compose.ui.composable.UnqueuedProfileScreen +import press.mantra.compose.ui.composable.UnqueuedProfileSynchronizationScreen +import press.mantra.compose.ui.composable.UnsignedProfileScreen +import press.mantra.compose.ui.composable.UnsyncedProfileScreen +import press.mantra.compose.ui.composable.WriteNewNoteScreen +import press.mantra.compose.ui.composable.navigation.routes.ActiveProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.AddMemberToChatRoomConfirmationRoute +import press.mantra.compose.ui.composable.navigation.routes.BlankRoute +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomCreationRoute +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomDetailRoute +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute +import press.mantra.compose.ui.composable.navigation.routes.CreateProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.HomeRoute +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.KeyPackageManagementRoute +import press.mantra.compose.ui.composable.navigation.routes.LandingRoute +import press.mantra.compose.ui.composable.navigation.routes.LoadingRoute +import press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute +import press.mantra.compose.ui.composable.navigation.routes.SearchMemberToAddToChatRoomRoute +import press.mantra.compose.ui.composable.navigation.routes.SearchResultRoute +import press.mantra.compose.ui.composable.navigation.routes.SearchRoute +import press.mantra.compose.ui.composable.navigation.routes.ShareProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.SignInRoute +import press.mantra.compose.ui.composable.navigation.routes.SocialPreconditionRoute +import press.mantra.compose.ui.composable.navigation.routes.SovereignWalletStartupRoute +import press.mantra.compose.ui.composable.navigation.routes.UnannouncedProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.UnindexedProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.UnqueuedProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.UnqueuedProfileSynchronizationRoute +import press.mantra.compose.ui.composable.navigation.routes.UnsignedProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.UnsyncedProfileRoute +import press.mantra.compose.ui.composable.navigation.routes.WriteNewNoteRoute +import press.mantra.compose.ui.view.model.NavigationViewModel +import press.mantra.compose.ui.view.model.NotaryViewModel +import press.mantra.compose.ui.view.model.SovereignWalletViewModel +import press.mantra.compose.ui.view.model.SynchronizationViewModel +import press.mantra.compose.ui.view.state.NavigationUIState +import press.mantra.compose.ui.view.state.NostrEventDetailUIState +import press.mantra.compose.ui.view.state.SearchUIState import co.touchlab.kermit.Logger import fr.acinq.phoenix.PhoenixGlobal import kotlinx.coroutines.CoroutineExceptionHandler @@ -88,12 +88,12 @@ import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.launch @Composable -fun TorchNavHost( - torchGlobal: TorchGlobal, +fun MantraNavHost( + mantraGlobal: MantraGlobal, phoenixGlobal: PhoenixGlobal, navController: NavHostController ) { - val logger = Logger.withTag("AuxNavHost") + val logger = Logger.withTag("MantraNavHost") val exceptionHandler = CoroutineExceptionHandler { _, throwable -> logger.e("Caught exception: ${throwable.message}", throwable) @@ -105,7 +105,7 @@ fun TorchNavHost( val lifecycleOwner = LocalLifecycleOwner.current val auxDatabaseManager = - AuxDatabaseManager(torchGlobal) + AuxDatabaseManager(mantraGlobal) val databaseNostrRepository = DatabaseNostrRepository( database = auxDatabaseManager.auxDatabase, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt index f19ea00f..a01d46e9 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ActiveProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt index 66d09722..a559c8d7 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AddMemberToChatRoomConfirmationRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt new file mode 100644 index 00000000..b97f3650 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/AuthenticatedProfileRoute.kt @@ -0,0 +1,6 @@ +package press.mantra.compose.ui.composable.navigation.routes + +import kotlinx.serialization.Serializable + +@Serializable +data object AuthenticatedProfileRoute \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/BlankRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/BlankRoute.kt new file mode 100755 index 00000000..c369421b --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/BlankRoute.kt @@ -0,0 +1,6 @@ +package press.mantra.compose.ui.composable.navigation.routes + +import kotlinx.serialization.Serializable + +@Serializable +object BlankRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt index 4f868665..a411749a 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomCreationRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt index b2617278..a671ee40 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomDetailRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt index e74cf0c2..fba38f19 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ChatRoomMessagingRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/CreateProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/CreateProfileRoute.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/CreateProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/CreateProfileRoute.kt index 23696584..b0ea6406 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/CreateProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/CreateProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/HomeRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/HomeRoute.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/HomeRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/HomeRoute.kt index 694d7232..2939379d 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/HomeRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/HomeRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt index 562c1418..6a9ace6e 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ImplementationPendingRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt similarity index 69% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt index c26d0d02..8c79c38b 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/KeyPackageManagementRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LandingRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LandingRoute.kt new file mode 100755 index 00000000..5c53c44c --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LandingRoute.kt @@ -0,0 +1,6 @@ +package press.mantra.compose.ui.composable.navigation.routes + +import kotlinx.serialization.Serializable + +@Serializable +object LandingRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LoadingRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LoadingRoute.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LoadingRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LoadingRoute.kt index 09889b92..0ae58037 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/LoadingRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/LoadingRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt similarity index 69% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt index 5074f8b4..e75affe8 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/NostrEventDetailRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/Route.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/Route.kt new file mode 100755 index 00000000..ff103c09 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/Route.kt @@ -0,0 +1,3 @@ +package press.mantra.compose.ui.composable.navigation.routes + +abstract class Route \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt index 85202bc5..e59d7dde 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchMemberToAddToChatRoomRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchResultRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchResultRoute.kt similarity index 67% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchResultRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchResultRoute.kt index a3154280..2f2ecd7d 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchResultRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchResultRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchRoute.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchRoute.kt index 3a84cc83..c6c23731 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SearchRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SearchRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ShareProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ShareProfileRoute.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ShareProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ShareProfileRoute.kt index 88b1ccbe..ff531fcd 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/ShareProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/ShareProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SignInRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SignInRoute.kt new file mode 100755 index 00000000..9dd99737 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SignInRoute.kt @@ -0,0 +1,6 @@ +package press.mantra.compose.ui.composable.navigation.routes + +import kotlinx.serialization.Serializable + +@Serializable +object SignInRoute: Route() \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt index b6ada992..05c77509 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SocialPreconditionRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt new file mode 100644 index 00000000..8193c662 --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/SovereignWalletStartupRoute.kt @@ -0,0 +1,6 @@ +package press.mantra.compose.ui.composable.navigation.routes + +import kotlinx.serialization.Serializable + +@Serializable +data object SovereignWalletStartupRoute \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt similarity index 63% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt index f09a0848..0b3f18ca 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnannouncedProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt similarity index 63% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt index c28c612a..26ded857 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnindexedProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt similarity index 63% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt index da78efd2..0903194f 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt similarity index 70% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt index 897ba8c9..6e1ce8f7 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnqueuedProfileSynchronizationRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt index 85cff4a4..66bbb49f 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsignedProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt index bc2ba384..45b87707 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/UnsyncedProfileRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt similarity index 74% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt index 59b6e09b..0a2f3a96 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/navigation/routes/WriteNewNoteRoute.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.navigation.routes +package press.mantra.compose.ui.composable.navigation.routes import kotlinx.serialization.Serializable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/LoadingDataIndicator.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/LoadingDataIndicator.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/LoadingDataIndicator.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/LoadingDataIndicator.kt index bc313252..a5f22469 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/LoadingDataIndicator.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/LoadingDataIndicator.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets +package press.mantra.compose.ui.composable.widgets import androidx.compose.foundation.layout.* import androidx.compose.material3.CircularProgressIndicator @@ -57,7 +57,7 @@ fun LoadingDataIndicator( @Preview @Composable private fun TransferHistoryScreenPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface(modifier = Modifier.fillMaxSize()) { LoadingDataIndicator( text = "Starting up" diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/QRCodeView.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/QRCodeView.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/QRCodeView.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/QRCodeView.kt index fb2a42dc..f4e0a4db 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/QRCodeView.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/QRCodeView.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets +package press.mantra.compose.ui.composable.widgets import androidx.compose.foundation.Image import androidx.compose.foundation.isSystemInDarkTheme @@ -14,15 +14,15 @@ import androidx.compose.ui.graphics.drawscope.translate import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import at.torch.compose.ui.theme.BluePill +import press.mantra.compose.ui.theme.BluePill import io.github.alexzhirkevich.qrose.options.QrBrush import io.github.alexzhirkevich.qrose.options.QrLogoPadding import io.github.alexzhirkevich.qrose.options.QrLogoShape import io.github.alexzhirkevich.qrose.options.solid import io.github.alexzhirkevich.qrose.rememberQrCodePainter import org.jetbrains.compose.resources.painterResource -import torch.composeapp.generated.resources.Res -import torch.composeapp.generated.resources.compose_multiplatform +import mantra.composeapp.generated.resources.Res +import mantra.composeapp.generated.resources.compose_multiplatform class QRCodeBackgroundPainter( private val painter: Painter, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/buttons/Clickable.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/buttons/Clickable.kt similarity index 100% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/buttons/Clickable.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/buttons/Clickable.kt diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/coil/forwardingPainter.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/coil/forwardingPainter.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/coil/forwardingPainter.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/coil/forwardingPainter.kt index 13a0aa7e..683d7a83 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/coil/forwardingPainter.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/coil/forwardingPainter.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.coil +package press.mantra.compose.ui.composable.widgets.coil import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.graphics.DefaultAlpha diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ArticleCard.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ArticleCard.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ArticleCard.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ArticleCard.kt index a3d25581..94eccf24 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ArticleCard.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ArticleCard.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.clickable @@ -23,7 +23,7 @@ import androidx.compose.ui.unit.dp @Composable private fun ArticleCard( - localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent, + localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent, dTag: String, author: String, relayHints: List, @@ -125,7 +125,7 @@ private fun ArticleCard( verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(top = 6.dp) ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = profile, publicKey = localNostrEvent.nostrEvent.pubKey, size = 20.dp diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Constants.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Constants.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Constants.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Constants.kt index 7b4c9cb2..ba8e463c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Constants.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Constants.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.collection.LruCache diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentParser.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentParser.kt similarity index 99% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentParser.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentParser.kt index 78c6545c..90b9ffa7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentParser.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentParser.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser import com.vitorpamplona.quartz.nip19Bech32.entities.NAddress diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentSegment.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentSegment.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentSegment.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentSegment.kt index ea670072..f9d0812f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ContentSegment.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ContentSegment.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import com.vitorpamplona.quartz.nip01Core.relay.normalizer.normalizeRelayUrl import com.vitorpamplona.quartz.nip19Bech32.entities.NAddress diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/FullScreenImageViewer.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/FullScreenImageViewer.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/FullScreenImageViewer.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/FullScreenImageViewer.kt index cd29f5da..40709553 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/FullScreenImageViewer.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/FullScreenImageViewer.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.background import androidx.compose.foundation.clickable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Helpers.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Helpers.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Helpers.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Helpers.kt index fc754980..a9be78eb 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/Helpers.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/Helpers.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import com.vitorpamplona.quartz.nip68Picture.PictureEvent import com.vitorpamplona.quartz.nip71Video.VideoNormalEvent @@ -159,7 +159,7 @@ internal object Helpers { // } } - fun isGalleryEvent(event: at.torch.compose.database.model.NostrEvent): Boolean = event.kind in arrayOf( + fun isGalleryEvent(event: press.mantra.compose.database.model.NostrEvent): Boolean = event.kind in arrayOf( PictureEvent.KIND, VideoNormalEvent.KIND, VideoShortEvent.KIND diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ImageWithContextMenu.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ImageWithContextMenu.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ImageWithContextMenu.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ImageWithContextMenu.kt index 0df5a4b6..cf03212d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/ImageWithContextMenu.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/ImageWithContextMenu.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.clickable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/InvoicePayState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/InvoicePayState.kt similarity index 54% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/InvoicePayState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/InvoicePayState.kt index 173c3435..d55df568 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/InvoicePayState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/InvoicePayState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content internal enum class InvoicePayState { Idle, Paying, Success, Failed diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LightningInvoiceCard.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LightningInvoiceCard.kt similarity index 99% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LightningInvoiceCard.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LightningInvoiceCard.kt index 00f87e07..ac185e3a 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LightningInvoiceCard.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LightningInvoiceCard.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Column diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LinkPreview.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LinkPreview.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LinkPreview.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LinkPreview.kt index f16530de..eb2d93d7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LinkPreview.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LinkPreview.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.clickable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCard.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCard.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCard.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCard.kt index 717cd21c..e25166da 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCard.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCard.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.clickable @@ -14,7 +14,7 @@ import androidx.compose.ui.unit.dp @Composable private fun LiveStreamCard( - localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent, + localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent, dTag: String, author: String, relayHints: List, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCardContent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCardContent.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCardContent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCardContent.kt index 780e491d..c7136fe9 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LiveStreamCardContent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LiveStreamCardContent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column @@ -21,13 +21,13 @@ import androidx.compose.ui.unit.dp @Composable internal fun LiveStreamCardContent( - event: at.torch.compose.database.model.NostrEvent?, + event: press.mantra.compose.database.model.NostrEvent?, streamUrl: String?, image: String?, title: String?, summary: String?, status: String?, - profile: at.torch.compose.database.model.Profile?, + profile: press.mantra.compose.database.model.Profile?, author: String, onProfileClick: ((String) -> Unit)? ) { @@ -130,7 +130,7 @@ internal fun LiveStreamCardContent( verticalAlignment = Alignment.CenterVertically, modifier = Modifier.padding(top = 6.dp) ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = profile, publicKey = event.pubKey, size = 20.dp diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LoadingAsyncImage.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LoadingAsyncImage.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LoadingAsyncImage.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LoadingAsyncImage.kt index ed26a8c2..b64475c0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/LoadingAsyncImage.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/LoadingAsyncImage.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/MediaMeta.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/MediaMeta.kt similarity index 70% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/MediaMeta.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/MediaMeta.kt index 8437314f..7e9b7695 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/MediaMeta.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/MediaMeta.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content data class MediaMeta( val url: String, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/NoteActions.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/NoteActions.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/NoteActions.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/NoteActions.kt index 093a0b48..cd6f09f4 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/NoteActions.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/NoteActions.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content -import at.torch.compose.database.model.NostrEvent +import press.mantra.compose.database.model.NostrEvent data class NoteActions( val onReply: (NostrEvent) -> Unit = {}, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/OgData.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/OgData.kt similarity index 69% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/OgData.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/OgData.kt index 8b2dc7cd..5d501979 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/OgData.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/OgData.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content internal data class OgData( val title: String?, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedAddressableNote.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedAddressableNote.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedAddressableNote.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedAddressableNote.kt index 5f6348a9..62e7f568 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedAddressableNote.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedAddressableNote.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Row @@ -21,7 +21,7 @@ import androidx.compose.ui.unit.dp @Composable internal fun QuotedAddressableNote( - localQuotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent?, + localQuotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent?, kind: Int, dTag: String, author: String, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedNote.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedNote.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedNote.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedNote.kt index 288ec69c..086db724 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/QuotedNote.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/QuotedNote.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.clickable @@ -22,7 +22,7 @@ import com.vitorpamplona.quartz.nip01Core.core.HexKey @Composable fun QuotedNote( - localQuotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent? = null, + localQuotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent? = null, onNavigateToEvent:(HexKey) -> Unit, noteActions: NoteActions? = null ) { @@ -114,14 +114,14 @@ fun QuotedNote( @Preview @Composable private fun QuotedNotePreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { QuotedNote( - localQuotedNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + localQuotedNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6", content = "God is not in the habit of coming down from heaven to solve people’s problems on earth.", pubKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", @@ -129,12 +129,12 @@ private fun QuotedNotePreview() { sig = "hexsig", tags = emptyArray() ), - quotedRelation = _root_ide_package_.at.torch.compose.database.model.QuotedRelation( + quotedRelation = _root_ide_package_.press.mantra.compose.database.model.QuotedRelation( quotingNostrEventId = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a520", quotedProfilePublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", quotedNostrEventId = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6" ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Steve Biko" diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/RichContent.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/RichContent.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/RichContent.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/RichContent.kt index 3a6bbc46..b63231b5 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/RichContent.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/RichContent.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize @@ -34,9 +34,9 @@ import com.vitorpamplona.quartz.nip01Core.core.HexKey @Composable fun RichContent( - nostrEvent: at.torch.compose.database.model.NostrEvent, - localQuotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent?, - mentionedProfiles: List, + nostrEvent: press.mantra.compose.database.model.NostrEvent, + localQuotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent?, + mentionedProfiles: List, style: TextStyle = MaterialTheme.typography.bodyLarge, color: Color = MaterialTheme.colorScheme.onSurface, linkColor: Color = Color.Unspecified, @@ -197,7 +197,7 @@ fun RichContent( onProfileClick?.invoke(pubkey) } ) { - withStyle(SpanStyle(color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(seg.pubkey), textDecoration = linkDecoration)) { + withStyle(SpanStyle(color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(seg.pubkey), textDecoration = linkDecoration)) { append("@${displayName.trimEnd()}") } } @@ -396,7 +396,7 @@ fun RichContent( @Preview @Composable private fun RichContentPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { @@ -405,7 +405,7 @@ private fun RichContentPreview() { ) { RichContent( modifier = Modifier.padding(10.dp), - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a520", content = "Something something something nostr:npub1uh366qnj68a7atvwgwdy4569xd6v5jtferftapqztwjwlzh9553q47pqsx\nhttps://www.brainyquote.com/authors/steven-biko-quotes\nnostr:nevent1qqspcusnzxx5u97xht2udvg3yhcq2cvmc0jrxa90lwwdvjplve0atespzpmhxue69uhkummnw3ezuamfdejsyg8h5g639qhuv803hzwexfwhyud6t6suxfu364anddqvrmn9j4cahvxksr8q", pubKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", @@ -413,8 +413,8 @@ private fun RichContentPreview() { sig = "hexsig", tags = emptyArray() ), - localQuotedNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + localQuotedNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6", content = "God is not in the habit of coming down from heaven to solve people’s problems on earth.", pubKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", @@ -422,24 +422,24 @@ private fun RichContentPreview() { sig = "hexsig", tags = emptyArray() ), - quotedRelation = _root_ide_package_.at.torch.compose.database.model.QuotedRelation( + quotedRelation = _root_ide_package_.press.mantra.compose.database.model.QuotedRelation( quotingNostrEventId = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a520", quotedProfilePublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", quotedNostrEventId = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6" ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Steve Biko" ), ), mentionedProfiles = listOf( - _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalMention( - mention = _root_ide_package_.at.torch.compose.database.model.Mention( + _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalMention( + mention = _root_ide_package_.press.mantra.compose.database.model.Mention( id = 1, mentionedPublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Frank Talk" diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt index 4ee78352..52fc620b 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/content/UnsupportedKindBadge.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.content +package press.mantra.compose.ui.composable.widgets.content import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.fillMaxWidth diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/MetadataEventDetail.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/MetadataEventDetail.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/MetadataEventDetail.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/MetadataEventDetail.kt index 3578623c..0e233fd7 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/MetadataEventDetail.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/MetadataEventDetail.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.detail +package press.mantra.compose.ui.composable.widgets.detail import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -43,18 +43,18 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.database.model.NostrEvent -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.composable.widgets.profile.ProfileAvatar -import at.torch.compose.ui.theme.TorchTheme -import at.torch.compose.ui.view.model.MetadataEventDetailType -import at.torch.compose.ui.view.model.MetadataEventDetailViewModel -import at.torch.compose.ui.view.state.MetadataEventDetailUIState +import press.mantra.compose.database.model.NostrEvent +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar +import press.mantra.compose.ui.theme.TorchTheme +import press.mantra.compose.ui.view.model.MetadataEventDetailType +import press.mantra.compose.ui.view.model.MetadataEventDetailViewModel +import press.mantra.compose.ui.view.state.MetadataEventDetailUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt index 39a5bcb5..518bd386 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/detail/TextNoteEventDetail.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.detail +package press.mantra.compose.ui.composable.widgets.detail import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -44,27 +44,27 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent @OptIn(ExperimentalMaterial3Api::class, ExperimentalMaterial3ExpressiveApi::class) @Composable fun TextNoteEventDetail( - localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent, + localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent, onNavigateBack: () -> Unit, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, onNavigateToWriteAReply: (String) -> Unit, onNavigateToNostrEvent: (HexKey) -> Unit, ) { val scrollBehavior = BottomAppBarDefaults.exitAlwaysScrollBehavior() - val inReplyToNostrEventFeedListViewModel: at.torch.compose.ui.view.model.InReplyToViewModel = viewModel( + val inReplyToNostrEventFeedListViewModel: press.mantra.compose.ui.view.model.InReplyToViewModel = viewModel( key = "replies-${localNostrEvent.nostrEvent.id}", - factory = at.torch.compose.ui.view.model.InReplyToViewModel.factory( + factory = press.mantra.compose.ui.view.model.InReplyToViewModel.factory( nostrEvent = localNostrEvent.nostrEvent, profile = localNostrEvent.profile, - initialFeedListUIState = at.torch.compose.ui.view.state.FeedListUIState.Loading, + initialFeedListUIState = press.mantra.compose.ui.view.state.FeedListUIState.Loading, nostrRepository = nostrRepository, createdAt = localNostrEvent.nostrEvent.createdAt ), @@ -118,7 +118,7 @@ fun TextNoteEventDetail( Icon( Icons.Default.Person, contentDescription = "User profile", - tint = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey("profile") + tint = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey("profile") ) // ProfileAvatar( // profile = localProfile.profile, @@ -202,7 +202,7 @@ fun TextNoteEventDetail( ) { val profile = localNostrEvent.profile - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( profile = localNostrEvent.profile, publicKey = localNostrEvent.nostrEvent.pubKey ) @@ -219,7 +219,7 @@ fun TextNoteEventDetail( Text( text = staticIdentifier, style = MaterialTheme.typography.labelMedium, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromProfile( + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromProfile( profile ) ) @@ -249,7 +249,7 @@ fun TextNoteEventDetail( } } - _root_ide_package_.at.torch.compose.ui.composable.widgets.content.RichContent( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.content.RichContent( modifier = Modifier.fillMaxWidth().padding( horizontal = 20.dp ), @@ -336,7 +336,7 @@ fun TextNoteEventDetail( } when (val inReplyToFeedListUIState = inReplyToNostrEventFeedListViewModel.inReplyToFeedListUIState) { - is at.torch.compose.ui.view.state.FeedListUIState.Loaded -> { + is press.mantra.compose.ui.view.state.FeedListUIState.Loaded -> { if (inReplyToFeedListUIState.localNostrEvents.isEmpty()) { item { Text( @@ -354,14 +354,14 @@ fun TextNoteEventDetail( } } } - at.torch.compose.ui.view.state.FeedListUIState.Error -> { + press.mantra.compose.ui.view.state.FeedListUIState.Error -> { item { Text( text = "Something went wrong" ) } } - at.torch.compose.ui.view.state.FeedListUIState.Loading -> { + press.mantra.compose.ui.view.state.FeedListUIState.Loading -> { item { LoadingIndicator() } @@ -380,13 +380,13 @@ fun TextNoteEventDetail( @Composable private fun TextNoteEventDetailPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { TextNoteEventDetail( - localNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + localNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "eventId", pubKey = "publicKey", content = """Lorem Ipsum is simply dummy text of the printing and typesetting industry. @@ -398,7 +398,7 @@ It has survived not only five centuries, but also the leap into electronic types sig = "", kind = TextNoteEvent.KIND ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "pubKey", displayName = "John Doe", nip05 = "john@doe.me", @@ -408,7 +408,7 @@ It has survived not only five centuries, but also the leap into electronic types onNavigateBack = {}, onNavigateToWriteAReply = {}, onNavigateToNostrEvent = {}, - nostrRepository = at.torch.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY + nostrRepository = press.mantra.compose.repository.NostrRepository.NO_OP_NOSTR_REPOSITORY ) } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt similarity index 98% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt index 9a65850a..e9270375 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/BottomSheetDialog.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package at.torch.compose.ui.composable.widgets.dialogs +package press.mantra.compose.ui.composable.widgets.dialogs import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt index 447b5f5b..7f193c47 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/NewChatBottomSheetDialog.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.dialogs +package press.mantra.compose.ui.composable.widgets.dialogs import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -25,8 +25,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.composable.navigation.routes.Route import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt index d6260381..7c7b93fc 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/dialogs/StartDirectMessageToNpubOrNip05Dialog.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.dialogs +package press.mantra.compose.ui.composable.widgets.dialogs import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -33,11 +33,11 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog -import at.torch.compose.extensions.bech32ToHexOrNull -import at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.theme.TorchTheme +import press.mantra.compose.extensions.bech32ToHexOrNull +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.theme.TorchTheme import com.vitorpamplona.quartz.nip01Core.core.HexKey import fr.acinq.phoenix.utils.Parser import kotlinx.coroutines.CoroutineScope diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/EventListView.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/EventListView.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/EventListView.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/EventListView.kt index 7dff75de..768aa9f2 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/EventListView.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/EventListView.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.feed +package press.mantra.compose.ui.composable.widgets.feed import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -18,14 +18,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent import com.vitorpamplona.quartz.nip18Reposts.RepostEvent import kotlin.time.Instant @Composable -fun at.torch.compose.database.model.intermdiate.LocalNostrEvent.ListView( +fun press.mantra.compose.database.model.intermdiate.LocalNostrEvent.ListView( onNavigateToEvent: (HexKey) -> Unit ) { when (nostrEvent.kind) { @@ -60,7 +60,7 @@ fun at.torch.compose.database.model.intermdiate.LocalNostrEvent.ListView( Text( text = profile?.humanReadableNameOrPubkey() ?: nostrEvent.pubKey, style = MaterialTheme.typography.labelSmall, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(profile?.publicKey ?: nostrEvent.pubKey) + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(profile?.publicKey ?: nostrEvent.pubKey) ) Text( text = "reposted", @@ -121,12 +121,12 @@ fun at.torch.compose.database.model.intermdiate.LocalNostrEvent.ListView( @Preview @Composable private fun EventListViewRepostedPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { - _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Reposting", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -134,13 +134,13 @@ private fun EventListViewRepostedPreview() { sig = "hexsig", tags = emptyArray() ), - localRepostedNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalRepostedNostrEvent( - repostedRelation = _root_ide_package_.at.torch.compose.database.model.RepostedRelation( + localRepostedNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalRepostedNostrEvent( + repostedRelation = _root_ide_package_.press.mantra.compose.database.model.RepostedRelation( repostingNostrEventId = "hex", repostedNostrEventId = "repostedhex", repostedProfilePublicKey = "reposterHex" ), - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Something something something", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -148,7 +148,7 @@ private fun EventListViewRepostedPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "hesd", nostrEventId = "referenced", displayName = "Frank Talk", @@ -156,7 +156,7 @@ private fun EventListViewRepostedPreview() { ), mentionedProfiles = emptyList() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Steve Biko", @@ -172,12 +172,12 @@ private fun EventListViewRepostedPreview() { @Preview @Composable private fun EventListViewInReplyPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { - _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Reposting", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -185,15 +185,15 @@ private fun EventListViewInReplyPreview() { sig = "hexsig", tags = emptyArray() ), - localInReplyToNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalInReplyToNostrEvent( - inReplyToRelation = _root_ide_package_.at.torch.compose.database.model.InReplyToRelation( + localInReplyToNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalInReplyToNostrEvent( + inReplyToRelation = _root_ide_package_.press.mantra.compose.database.model.InReplyToRelation( inReplyToNostrEventId = "nostrEvent", inReplyToRootNostrEventId = "rootId", inReplyToProfilePublicKey = "inReplyToProfileKey", inReplyToRootProfilePublicKey = "rootPubKey", replyingNostrEventId = "hex" ), - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Something something something", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -201,7 +201,7 @@ private fun EventListViewInReplyPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "hesd", nostrEventId = "referenced", displayName = "Frank Talk", @@ -209,7 +209,7 @@ private fun EventListViewInReplyPreview() { ), mentionedProfiles = emptyList() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Steve Biko", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt similarity index 80% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt index e8bf10d6..34001fea 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/feed/TextNoteFeedItem.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.feed +package press.mantra.compose.ui.composable.widgets.feed import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement @@ -22,17 +22,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import at.torch.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.extensions.toFormattedTimeAndDateString import com.vitorpamplona.quartz.nip01Core.core.HexKey @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable internal fun TextNoteFeedItem( - nostrEvent: at.torch.compose.database.model.NostrEvent, - profile: at.torch.compose.database.model.Profile?, - localInReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalInReplyToNostrEvent?, - localQuotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent?, - mentionedProfiles: List, + nostrEvent: press.mantra.compose.database.model.NostrEvent, + profile: press.mantra.compose.database.model.Profile?, + localInReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalInReplyToNostrEvent?, + localQuotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent?, + mentionedProfiles: List, onNavigateToEvent: (HexKey) -> Unit ) { val expended = mutableStateOf(false) @@ -59,7 +59,7 @@ internal fun TextNoteFeedItem( } ), style = MaterialTheme.typography.labelLargeEmphasized, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(localInReplyToNostrEvent.nostrEvent.pubKey), + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromPublicKey(localInReplyToNostrEvent.nostrEvent.pubKey), text = localInReplyToNostrEvent.profile?.humanReadableNameOrPubkey() ?: "loading information..." ) } @@ -88,7 +88,7 @@ internal fun TextNoteFeedItem( horizontalArrangement = Arrangement.spacedBy(10.dp, Alignment.Start), verticalAlignment = Alignment.CenterVertically ) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.profile.ProfileAvatar( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.profile.ProfileAvatar( publicKey = nostrEvent.pubKey, profile = profile ) @@ -105,7 +105,7 @@ internal fun TextNoteFeedItem( Text( text = staticIdentifier, style = MaterialTheme.typography.bodySmall, - color = at.torch.compose.ui.composable.widgets.profile.ProfileColor.fromProfile(profile) + color = press.mantra.compose.ui.composable.widgets.profile.ProfileColor.fromProfile(profile) ) } } @@ -116,7 +116,7 @@ internal fun TextNoteFeedItem( ) } - _root_ide_package_.at.torch.compose.ui.composable.widgets.content.RichContent( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.content.RichContent( modifier = Modifier.fillMaxWidth(), nostrEvent = nostrEvent, localQuotedNostrEvent = localQuotedNostrEvent, @@ -179,12 +179,12 @@ internal fun TextNoteFeedItem( @Preview @Composable private fun TextNoteFeedItemPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { TextNoteFeedItem( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "You are either alive and proud or you are dead, and when you are dead, you can't care anyway. https://www.brainyquote.com/authors/steven-biko-quotes", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -192,7 +192,7 @@ private fun TextNoteFeedItemPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Frank Talk", @@ -210,12 +210,12 @@ private fun TextNoteFeedItemPreview() { @Preview @Composable private fun TextNoteFeedItemInReplyToPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { TextNoteFeedItem( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "It is better to die for an idea that will live, than to live for an idea that will die", pubKey = "hexpubkeypubkeypubkeypubkey", @@ -223,22 +223,22 @@ private fun TextNoteFeedItemInReplyToPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Frank Talk", nip05 = "frank@talk.at" ), localQuotedNostrEvent = null, - localInReplyToNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalInReplyToNostrEvent( - inReplyToRelation = _root_ide_package_.at.torch.compose.database.model.InReplyToRelation( + localInReplyToNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalInReplyToNostrEvent( + inReplyToRelation = _root_ide_package_.press.mantra.compose.database.model.InReplyToRelation( inReplyToNostrEventId = "nostrEvent", inReplyToRootNostrEventId = "rootId", inReplyToProfilePublicKey = "inReplyToProfileKey", inReplyToRootProfilePublicKey = "rootPubKey", replyingNostrEventId = "hex" ), - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Something something something", pubKey = "hexie", @@ -246,7 +246,7 @@ private fun TextNoteFeedItemInReplyToPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "hesd", nostrEventId = "referenced", displayName = "Steve Biko", @@ -264,12 +264,12 @@ private fun TextNoteFeedItemInReplyToPreview() { @Preview @Composable private fun TextNoteFeedItemQuoteNostrEventPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { TextNoteFeedItem( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "The revolutionary sees his task as liberation not only of the oppressed but also of the oppressor. Happiness can never truly exist in a state of tension.\n" + "Read more at nostr:npub1uh366qnj68a7atvwgwdy4569xd6v5jtferftapqztwjwlzh9553q47pqsx\nnostr:nevent1qqspcusnzxx5u97xht2udvg3yhcq2cvmc0jrxa90lwwdvjplve0atespzpmhxue69uhkummnw3ezuamfdejsyg8h5g639qhuv803hzwexfwhyud6t6suxfu364anddqvrmn9j4cahvxksr8q", @@ -278,14 +278,14 @@ private fun TextNoteFeedItemQuoteNostrEventPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Frank Talk", nip05 = "frank@talk.at" ), - localQuotedNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalQuotedNostrEvent( - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + localQuotedNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalQuotedNostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6", content = "God is not in the habit of coming down from heaven to solve people’s problems on earth.", pubKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", @@ -293,26 +293,26 @@ private fun TextNoteFeedItemQuoteNostrEventPreview() { sig = "hexsig", tags = emptyArray() ), - quotedRelation = _root_ide_package_.at.torch.compose.database.model.QuotedRelation( + quotedRelation = _root_ide_package_.press.mantra.compose.database.model.QuotedRelation( quotingNostrEventId = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a520", quotedProfilePublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", quotedNostrEventId = "1c7213118d4e17c6bad5c6b11125f005619bc3e43374affb9cd6483f665fd5e6" ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Steve Biko" ), ), - localInReplyToNostrEvent = _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalInReplyToNostrEvent( - inReplyToRelation = _root_ide_package_.at.torch.compose.database.model.InReplyToRelation( + localInReplyToNostrEvent = _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalInReplyToNostrEvent( + inReplyToRelation = _root_ide_package_.press.mantra.compose.database.model.InReplyToRelation( inReplyToNostrEventId = "nostrEvent", inReplyToRootNostrEventId = "rootId", inReplyToProfilePublicKey = "inReplyToProfileKey", inReplyToRootProfilePublicKey = "rootPubKey", replyingNostrEventId = "hex" ), - nostrEvent = _root_ide_package_.at.torch.compose.database.model.NostrEvent( + nostrEvent = _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = "hex", content = "Something something something", pubKey = "hexie", @@ -320,7 +320,7 @@ private fun TextNoteFeedItemQuoteNostrEventPreview() { sig = "hexsig", tags = emptyArray() ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "hesd", nostrEventId = "referenced", displayName = "Steve Biko", @@ -329,12 +329,12 @@ private fun TextNoteFeedItemQuoteNostrEventPreview() { mentionedProfiles = emptyList() ), mentionedProfiles = listOf( - _root_ide_package_.at.torch.compose.database.model.intermdiate.LocalMention( - mention = _root_ide_package_.at.torch.compose.database.model.Mention( + _root_ide_package_.press.mantra.compose.database.model.intermdiate.LocalMention( + mention = _root_ide_package_.press.mantra.compose.database.model.Mention( mentioningNostrEventId = "000067b3f15cac88ba066b28c370083a4fc80dacc054e554ab1dc0def974c89c", mentionedPublicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522" ), - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "e5e3ad0272d1fbeead8e439a4ad3453374ca4969c8d2be84025ba4ef8ae5a522", nostrEventId = "referenced", displayName = "Steve Biko", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileAvatar.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileAvatar.kt similarity index 83% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileAvatar.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileAvatar.kt index 6922c8cc..c134c913 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileAvatar.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileAvatar.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.profile +package press.mantra.compose.ui.composable.widgets.profile import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size @@ -25,7 +25,7 @@ import coil3.compose.AsyncImage fun ProfileAvatar( size: Dp = 55.dp, shape: Shape = CircleShape, - profile: at.torch.compose.database.model.Profile + profile: press.mantra.compose.database.model.Profile ) { ProfileAvatar( size = size, @@ -40,7 +40,7 @@ fun ProfileAvatar( size: Dp = 55.dp, shape: Shape = CircleShape, publicKey: String, - profile: at.torch.compose.database.model.Profile? + profile: press.mantra.compose.database.model.Profile? ) { val modifier = Modifier.size(size).clip(shape = shape) @@ -58,18 +58,18 @@ fun ProfileAvatar( } else { // Load image... val placeHolderGraphic = - _root_ide_package_.at.torch.compose.ui.composable.widgets.coil.forwardingPainter( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.coil.forwardingPainter( painter = rememberVectorPainter(Icons.Default.Face5), colorFilter = ColorFilter.tint(tintColor) ) val fallbackGraphic = - _root_ide_package_.at.torch.compose.ui.composable.widgets.coil.forwardingPainter( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.coil.forwardingPainter( painter = rememberVectorPainter(Icons.Default.Face5), colorFilter = ColorFilter.tint(tintColor) ) val errorGraphic = - _root_ide_package_.at.torch.compose.ui.composable.widgets.coil.forwardingPainter( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.coil.forwardingPainter( painter = rememberVectorPainter(Icons.Default.FaceRetouchingOff), colorFilter = ColorFilter.tint(tintColor) ) @@ -91,13 +91,13 @@ fun ProfileAvatar( @Preview @Composable fun ProfileAvatarPreview() { - _root_ide_package_.at.torch.compose.ui.theme.TorchTheme { + _root_ide_package_.press.mantra.compose.ui.theme.TorchTheme { Surface( modifier = Modifier.padding(20.dp) ) { ProfileAvatar( publicKey = "hwgwefwase", - profile = _root_ide_package_.at.torch.compose.database.model.Profile( + profile = _root_ide_package_.press.mantra.compose.database.model.Profile( publicKey = "", nostrEventId = "referenced", displayName = "Frank Talk", diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileColor.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileColor.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileColor.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileColor.kt index a3cdd08a..1ad917b9 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/profile/ProfileColor.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/profile/ProfileColor.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.composable.widgets.profile +package press.mantra.compose.ui.composable.widgets.profile import androidx.compose.ui.graphics.Color import com.vitorpamplona.quartz.nip01Core.core.HexKey @@ -15,7 +15,7 @@ object ProfileColor { ) } - fun fromProfile(profile: at.torch.compose.database.model.Profile): Color { + fun fromProfile(profile: press.mantra.compose.database.model.Profile): Color { return fromPublicKey( profile.publicKey ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletAvatar.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletAvatar.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletAvatar.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletAvatar.kt index c06e3fb0..3c90dcbb 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletAvatar.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletAvatar.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package at.torch.compose.ui.composable.widgets.wallet +package press.mantra.compose.ui.composable.widgets.wallet import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -45,7 +45,7 @@ import androidx.compose.ui.unit.TextUnit import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import com.machankura.compose.ui.composable.widgets.buttons.Clickable -import at.torch.compose.ui.composable.widgets.dialogs.ModalBottomSheet +import press.mantra.compose.ui.composable.widgets.dialogs.ModalBottomSheet object WalletAvatars { val list = listOf( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletsSelector.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletsSelector.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletsSelector.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletsSelector.kt index 5d2d0f96..95f87519 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/composable/widgets/wallet/WalletsSelector.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/composable/widgets/wallet/WalletsSelector.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package at.torch.compose.ui.composable.widgets.wallet +package press.mantra.compose.ui.composable.widgets.wallet import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -116,7 +116,7 @@ private fun AvailableWalletView( ) { var showWalletEditDialog by remember { mutableStateOf(false) } if (showWalletEditDialog) { - _root_ide_package_.at.torch.compose.ui.composable.widgets.LoadingDataIndicator( + _root_ide_package_.press.mantra.compose.ui.composable.widgets.LoadingDataIndicator( text = "Edit function coming soon" ) // EditWalletDialog( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Color.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Color.kt similarity index 99% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Color.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Color.kt index dd3074d1..809f631c 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Color.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.theme +package press.mantra.compose.ui.theme import androidx.compose.ui.graphics.Color diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Theme.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Theme.kt similarity index 99% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Theme.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Theme.kt index 72e5a196..804c46b0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Theme.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.theme +package press.mantra.compose.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.ColorScheme diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Type.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Type.kt similarity index 100% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/theme/Type.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/theme/Type.kt diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ActiveProfileViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ActiveProfileViewModel.kt similarity index 69% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ActiveProfileViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ActiveProfileViewModel.kt index a18a2363..8a4d46a3 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ActiveProfileViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ActiveProfileViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -18,14 +18,14 @@ import kotlinx.coroutines.launch class ActiveProfileViewModel( val activeUserPublicKey: HexKey, val nostrEventId: HexKey, - initialActiveProfileUIState: at.torch.compose.ui.view.state.ActiveProfileUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository + initialActiveProfileUIState: press.mantra.compose.ui.view.state.ActiveProfileUIState, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { - var activeProfileUIState: at.torch.compose.ui.view.state.ActiveProfileUIState by mutableStateOf(initialActiveProfileUIState) + var activeProfileUIState: press.mantra.compose.ui.view.state.ActiveProfileUIState by mutableStateOf(initialActiveProfileUIState) private set fun retryLoad() { - activeProfileUIState = at.torch.compose.ui.view.state.ActiveProfileUIState.Loading + activeProfileUIState = press.mantra.compose.ui.view.state.ActiveProfileUIState.Loading loadNostrFeed() } @@ -37,11 +37,11 @@ class ActiveProfileViewModel( nostrEventId ).firstOrNull().let { localNostrEvent -> activeProfileUIState = if (localNostrEvent != null && localNostrEvent.nostrEvent.kind == MetadataEvent.KIND) { - at.torch.compose.ui.view.state.ActiveProfileUIState.Loaded( + press.mantra.compose.ui.view.state.ActiveProfileUIState.Loaded( localNostrEvent = localNostrEvent ) } else { - at.torch.compose.ui.view.state.ActiveProfileUIState.Error + press.mantra.compose.ui.view.state.ActiveProfileUIState.Error } } } @@ -53,8 +53,8 @@ class ActiveProfileViewModel( fun factory( nostrEventId: HexKey, activeUserPublicKey: HexKey, - initialActiveProfileUIState: at.torch.compose.ui.view.state.ActiveProfileUIState = at.torch.compose.ui.view.state.ActiveProfileUIState.Loading, - nostrRepository: at.torch.compose.repository.NostrRepository, + initialActiveProfileUIState: press.mantra.compose.ui.view.state.ActiveProfileUIState = press.mantra.compose.ui.view.state.ActiveProfileUIState.Loading, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { ActiveProfileViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt index e0bf19fe..6109e499 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/AddMemberToChatRoomConfirmationViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue @@ -9,16 +9,15 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.view.state.AddMemberToChatRoomConfirmationUIState +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.view.state.AddMemberToChatRoomConfirmationUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO -import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.launch class AddMemberToChatRoomConfirmationViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatMessageListViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatMessageListViewModel.kt similarity index 97% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatMessageListViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatMessageListViewModel.kt index 61354cf1..42c256de 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatMessageListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatMessageListViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.BoxWithConstraints @@ -42,15 +42,15 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.extensions.toFormattedTimeAndDateString -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.widgets.profile.ProfileColor -import at.torch.compose.ui.view.state.ChatMessageListUIState +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.extensions.toFormattedTimeAndDateString +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.widgets.profile.ProfileColor +import press.mantra.compose.ui.view.state.ChatMessageListUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip17Dm.settings.ChatMessageRelayListEvent diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomCreationViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomCreationViewModel.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomCreationViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomCreationViewModel.kt index e4156d61..8f9a5157 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomCreationViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomCreationViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf @@ -7,14 +7,14 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.extensions.toHex -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute -import at.torch.compose.ui.composable.navigation.routes.ImplementationPendingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.view.state.form.ChatRoomCreationFormState +import press.mantra.compose.extensions.toHex +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute +import press.mantra.compose.ui.composable.navigation.routes.ImplementationPendingRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.view.state.form.ChatRoomCreationFormState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip01Groups.MarmotGroupData import com.vitorpamplona.quartz.marmot.mls.crypto.Ed25519 diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomDetailViewModel.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomDetailViewModel.kt index 4060309a..4c0c8416 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomDetailViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomDetailViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue @@ -9,12 +9,12 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.HomeRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.view.state.ChatRoomDetailUIState +import press.mantra.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.HomeRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.view.state.ChatRoomDetailUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.Dispatchers diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomListViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomListViewModel.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomListViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomListViewModel.kt index a9fd6a53..15b192a0 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomListViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -25,12 +25,12 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.view.state.ChatRoomListUIState +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.view.state.ChatRoomListUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent @@ -133,7 +133,7 @@ class ChatRoomListViewModel( @OptIn(ExperimentalMaterial3ExpressiveApi::class) @Composable fun RenderFeed( - onNavigateToDirectMessageDetail: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToDirectMessageDetail: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Column( modifier = Modifier.fillMaxWidth(), @@ -177,7 +177,7 @@ class ChatRoomListViewModel( modifier = Modifier.fillMaxWidth(), onClick = { onNavigateToDirectMessageDetail.invoke( - _root_ide_package_.at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute( + _root_ide_package_.press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute( activeUserPublicKey = publicKey, chatRoomId = localChatRoom.chatRoom.id, relayHint = localChatRoom.localParticipants.firstOrNull { it.participant.participantPublicKey != localChatRoom.chatRoom.userPublicKey }?.participant?.relayHint diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomMessagingViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomMessagingViewModel.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomMessagingViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomMessagingViewModel.kt index fc0f036b..f865b6c0 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ChatRoomMessagingViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ChatRoomMessagingViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue @@ -9,16 +9,15 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.GENESIS_AT -import at.torch.compose.database.builder.getRoomDatabase -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute -import at.torch.compose.ui.composable.navigation.routes.Route -import at.torch.compose.ui.view.state.ChatRoomMessagingUIState +import press.mantra.compose.database.GENESIS_AT +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.composable.navigation.routes.ChatRoomMessagingRoute +import press.mantra.compose.ui.composable.navigation.routes.Route +import press.mantra.compose.ui.view.state.ChatRoomMessagingUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/CreateProfileViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/CreateProfileViewModel.kt similarity index 93% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/CreateProfileViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/CreateProfileViewModel.kt index 74130058..fd076cc8 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/CreateProfileViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/CreateProfileViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf @@ -7,10 +7,10 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.repository.MarmotRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.view.state.CreateProfileUIState -import at.torch.compose.ui.view.state.form.CreateProfileFormState +import press.mantra.compose.repository.MarmotRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.view.state.CreateProfileUIState +import press.mantra.compose.ui.view.state.form.CreateProfileFormState import co.touchlab.kermit.Logger import fr.acinq.bitcoin.Chain import fr.acinq.bitcoin.MnemonicCode diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FeedListViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FeedListViewModel.kt similarity index 89% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FeedListViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FeedListViewModel.kt index e1000fe6..12c1772c 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FeedListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FeedListViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,9 +24,9 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.ui.composable.widgets.feed.ListView -import at.torch.compose.ui.view.state.FeedListUIState +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.ui.composable.widgets.feed.ListView +import press.mantra.compose.ui.view.state.FeedListUIState import co.touchlab.kermit.Logger import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO @@ -36,8 +36,8 @@ import kotlinx.coroutines.launch class FeedListViewModel( initialFeedListUIState: FeedListUIState, - val synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - val nostrRepository: at.torch.compose.repository.NostrRepository + val synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { val logger = Logger.withTag(TAG) var feedListUIState: FeedListUIState by mutableStateOf(initialFeedListUIState) @@ -45,7 +45,7 @@ class FeedListViewModel( val isSynchronizationPending: MutableState = mutableStateOf(false) - val negentropySynchronizeRequests = at.torch.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> + val negentropySynchronizeRequests = press.mantra.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> NegentropySynchronizeRequest( id = NegentropySynchronizeRequest.computeId( normalizedRelayUrl.url, @@ -103,7 +103,7 @@ class FeedListViewModel( @Composable fun RenderFeed( activeUserPublicKey: String, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Column( modifier = Modifier.fillMaxWidth(), @@ -149,7 +149,7 @@ class FeedListViewModel( localNostrEvent.ListView( onNavigateToEvent = { nostrEventId -> onNavigateToEvent.invoke( - _root_ide_package_.at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute( + _root_ide_package_.press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute( activeUserPublicKey = activeUserPublicKey, nostrEventId = nostrEventId ) @@ -189,8 +189,8 @@ class FeedListViewModel( fun factory( initialFeedListUIState: FeedListUIState = FeedListUIState.Loading, - synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - nostrRepository: at.torch.compose.repository.NostrRepository, + synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { FeedListViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowersListViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowersListViewModel.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowersListViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowersListViewModel.kt index 6eac98aa..f9084455 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowersListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowersListViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -31,13 +31,13 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch class FollowersListViewModel( - initialFollowingListUIState: at.torch.compose.ui.view.state.FollowersListUIState, + initialFollowingListUIState: press.mantra.compose.ui.view.state.FollowersListUIState, val publicKey: String, - val synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - val nostrRepository: at.torch.compose.repository.NostrRepository + val synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { val logger = Logger.withTag(TAG) - var followersListUIState: at.torch.compose.ui.view.state.FollowersListUIState by mutableStateOf(initialFollowingListUIState) + var followersListUIState: press.mantra.compose.ui.view.state.FollowersListUIState by mutableStateOf(initialFollowingListUIState) private set val isSynchronizationPending: MutableState = mutableStateOf(false) @@ -55,7 +55,7 @@ class FollowersListViewModel( nostrRepository.observeProfileWithFollowers( publicKey ).collect { localFollowers -> - followersListUIState = at.torch.compose.ui.view.state.FollowersListUIState.Loaded( + followersListUIState = press.mantra.compose.ui.view.state.FollowersListUIState.Loaded( followers = localFollowers?.followers ?: emptyList() ) } @@ -67,9 +67,9 @@ class FollowersListViewModel( viewModelScope.launch(Dispatchers.IO) { // Sync Notifications... might want to also run this in the background nostrRepository.queueNegentropySynchronizeRequest( - at.torch.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> - _root_ide_package_.at.torch.compose.database.model.NegentropySynchronizeRequest( - id = at.torch.compose.database.model.NegentropySynchronizeRequest.computeId( + press.mantra.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> + _root_ide_package_.press.mantra.compose.database.model.NegentropySynchronizeRequest( + id = press.mantra.compose.database.model.NegentropySynchronizeRequest.computeId( relayURL = normalizedRelayUrl.url, synchronizationFilter = synchronizationFilter ), @@ -97,14 +97,14 @@ class FollowersListViewModel( @Composable fun RenderFeed( activeUserPublicKey: String, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { when (val followersListUIState = followersListUIState) { - at.torch.compose.ui.view.state.FollowersListUIState.Error -> { + press.mantra.compose.ui.view.state.FollowersListUIState.Error -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -117,7 +117,7 @@ class FollowersListViewModel( ) } } - is at.torch.compose.ui.view.state.FollowersListUIState.Loaded -> { + is press.mantra.compose.ui.view.state.FollowersListUIState.Loaded -> { if (followersListUIState.followers.isEmpty()) { Column( modifier = Modifier.fillMaxWidth(), @@ -149,7 +149,7 @@ class FollowersListViewModel( } } - at.torch.compose.ui.view.state.FollowersListUIState.Loading -> { + press.mantra.compose.ui.view.state.FollowersListUIState.Loading -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -176,10 +176,10 @@ class FollowersListViewModel( const val TAG = "FollowersListViewModel" fun factory( - initialFeedListUIState: at.torch.compose.ui.view.state.FollowersListUIState = at.torch.compose.ui.view.state.FollowersListUIState.Loading, + initialFeedListUIState: press.mantra.compose.ui.view.state.FollowersListUIState = press.mantra.compose.ui.view.state.FollowersListUIState.Loading, publicKey: String, - synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - nostrRepository: at.torch.compose.repository.NostrRepository, + synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { FollowersListViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowingListViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowingListViewModel.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowingListViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowingListViewModel.kt index 205f6cda..08be0a15 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/FollowingListViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/FollowingListViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -31,13 +31,13 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.launch class FollowingListViewModel( - initialFollowingListUIState: at.torch.compose.ui.view.state.FollowingListUIState, + initialFollowingListUIState: press.mantra.compose.ui.view.state.FollowingListUIState, val publicKey: String, - val synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - val nostrRepository: at.torch.compose.repository.NostrRepository + val synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { val logger = Logger.withTag(TAG) - var followingListUIState: at.torch.compose.ui.view.state.FollowingListUIState by mutableStateOf(initialFollowingListUIState) + var followingListUIState: press.mantra.compose.ui.view.state.FollowingListUIState by mutableStateOf(initialFollowingListUIState) private set val isSynchronizationPending: MutableState = mutableStateOf(false) @@ -54,7 +54,7 @@ class FollowingListViewModel( nostrRepository.observeProfileWithFollowing( publicKey ).collect { localFollowing -> - followingListUIState = at.torch.compose.ui.view.state.FollowingListUIState.Loaded( + followingListUIState = press.mantra.compose.ui.view.state.FollowingListUIState.Loaded( following = localFollowing?.following ?: emptyList() ) } @@ -66,9 +66,9 @@ class FollowingListViewModel( viewModelScope.launch(Dispatchers.IO) { // Sync Notifications... might want to also run this in the background nostrRepository.queueNegentropySynchronizeRequest( - at.torch.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> - _root_ide_package_.at.torch.compose.database.model.NegentropySynchronizeRequest( - id = at.torch.compose.database.model.NegentropySynchronizeRequest.computeId( + press.mantra.compose.nostr.Relays.DefaultDMRelayList.shuffled().map { normalizedRelayUrl -> + _root_ide_package_.press.mantra.compose.database.model.NegentropySynchronizeRequest( + id = press.mantra.compose.database.model.NegentropySynchronizeRequest.computeId( relayURL = normalizedRelayUrl.url, synchronizationFilter = synchronizationFilter ), @@ -96,14 +96,14 @@ class FollowingListViewModel( @Composable fun RenderFeed( activeUserPublicKey: String, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { when (val feedListUIState = followingListUIState) { - at.torch.compose.ui.view.state.FollowingListUIState.Error -> { + press.mantra.compose.ui.view.state.FollowingListUIState.Error -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -116,7 +116,7 @@ class FollowingListViewModel( ) } } - is at.torch.compose.ui.view.state.FollowingListUIState.Loaded -> { + is press.mantra.compose.ui.view.state.FollowingListUIState.Loaded -> { if (feedListUIState.following.isEmpty()) { Column( modifier = Modifier.fillMaxWidth(), @@ -148,7 +148,7 @@ class FollowingListViewModel( } } - at.torch.compose.ui.view.state.FollowingListUIState.Loading -> { + press.mantra.compose.ui.view.state.FollowingListUIState.Loading -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -175,10 +175,10 @@ class FollowingListViewModel( const val TAG = "FollowingListViewModel" fun factory( - initialFeedListUIState: at.torch.compose.ui.view.state.FollowingListUIState = at.torch.compose.ui.view.state.FollowingListUIState.Loading, + initialFeedListUIState: press.mantra.compose.ui.view.state.FollowingListUIState = press.mantra.compose.ui.view.state.FollowingListUIState.Loading, publicKey: String, - synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - nostrRepository: at.torch.compose.repository.NostrRepository, + synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { FollowingListViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/HomeViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/HomeViewModel.kt similarity index 81% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/HomeViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/HomeViewModel.kt index 3e465cb2..109bbcaf 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/HomeViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/HomeViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.pager.PagerState import androidx.compose.runtime.getValue @@ -9,17 +9,12 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.ui.view.state.HomeScreenUIState +import press.mantra.compose.ui.view.state.HomeScreenUIState import co.touchlab.kermit.Logger -import com.vitorpamplona.quartz.marmot.mip03GroupMessages.GroupEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey -import com.vitorpamplona.quartz.nip59Giftwrap.wraps.GiftWrapEvent import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO import kotlinx.coroutines.launch -import kotlin.time.Clock -import kotlin.time.Duration.Companion.hours enum class HomeScreenType { Messages @@ -28,7 +23,7 @@ enum class HomeScreenType { class HomeViewModel( val activeUserPublicKey: HexKey, val initialHomeScreenUIState: HomeScreenUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository, + val nostrRepository: press.mantra.compose.repository.NostrRepository, val pagerState: PagerState ): ViewModel() { @@ -65,7 +60,7 @@ class HomeViewModel( fun factory( activeUserPublicKey: HexKey, initialHomeScreenUIState: HomeScreenUIState, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, pagerState: PagerState ): ViewModelProvider.Factory = viewModelFactory { initializer { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/InReplyToViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/InReplyToViewModel.kt similarity index 79% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/InReplyToViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/InReplyToViewModel.kt index 2e56021d..692f350f 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/InReplyToViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/InReplyToViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -24,7 +24,7 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.ui.composable.widgets.feed.ListView +import press.mantra.compose.ui.composable.widgets.feed.ListView import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip10Notes.TextNoteEvent import com.vitorpamplona.quartz.nip18Reposts.RepostEvent @@ -36,14 +36,14 @@ import kotlinx.coroutines.launch import kotlin.time.Instant class InReplyToViewModel( - val nostrEvent: at.torch.compose.database.model.NostrEvent, - val profile: at.torch.compose.database.model.Profile?, - initialFeedListUIState: at.torch.compose.ui.view.state.FeedListUIState, - val synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter, - val nostrRepository: at.torch.compose.repository.NostrRepository + val nostrEvent: press.mantra.compose.database.model.NostrEvent, + val profile: press.mantra.compose.database.model.Profile?, + initialFeedListUIState: press.mantra.compose.ui.view.state.FeedListUIState, + val synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { val logger = Logger.withTag(TAG) - var inReplyToFeedListUIState: at.torch.compose.ui.view.state.FeedListUIState by mutableStateOf(initialFeedListUIState) + var inReplyToFeedListUIState: press.mantra.compose.ui.view.state.FeedListUIState by mutableStateOf(initialFeedListUIState) private set val isSynchronizationPending: MutableState = mutableStateOf(false) @@ -61,7 +61,7 @@ class InReplyToViewModel( nostrRepository.observeNostrFeed( synchronizationFilter ).distinctUntilChanged().collect { localNostrEvents -> - inReplyToFeedListUIState = at.torch.compose.ui.view.state.FeedListUIState.Loaded( + inReplyToFeedListUIState = press.mantra.compose.ui.view.state.FeedListUIState.Loaded( localNostrEvents = localNostrEvents ) } @@ -74,12 +74,12 @@ class InReplyToViewModel( // Sync Notifications... might want to also run this in the background val publicRelays = profile?.profilePublicRelays( nostrRepository - ) ?: at.torch.compose.nostr.Relays.DefaultDMRelayList + ) ?: press.mantra.compose.nostr.Relays.DefaultDMRelayList nostrRepository.queueNegentropySynchronizeRequest( publicRelays.take(3).map { normalizedRelayUrl -> - _root_ide_package_.at.torch.compose.database.model.NegentropySynchronizeRequest( - id = at.torch.compose.database.model.NegentropySynchronizeRequest.computeId( + _root_ide_package_.press.mantra.compose.database.model.NegentropySynchronizeRequest( + id = press.mantra.compose.database.model.NegentropySynchronizeRequest.computeId( relayURL = normalizedRelayUrl.url, synchronizationFilter = synchronizationFilter ), @@ -107,14 +107,14 @@ class InReplyToViewModel( @Composable fun RenderFeed( activeUserPublicKey: String, - onNavigateToEvent: (at.torch.compose.ui.composable.navigation.routes.Route) -> Unit + onNavigateToEvent: (press.mantra.compose.ui.composable.navigation.routes.Route) -> Unit ) { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { when (val feedListUIState = inReplyToFeedListUIState) { - at.torch.compose.ui.view.state.FeedListUIState.Error -> { + press.mantra.compose.ui.view.state.FeedListUIState.Error -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -127,7 +127,7 @@ class InReplyToViewModel( ) } } - is at.torch.compose.ui.view.state.FeedListUIState.Loaded -> { + is press.mantra.compose.ui.view.state.FeedListUIState.Loaded -> { if (feedListUIState.localNostrEvents.isEmpty()) { Column( modifier = Modifier.fillMaxWidth(), @@ -153,7 +153,7 @@ class InReplyToViewModel( localNostrEvent.ListView( onNavigateToEvent = { nostrEventId -> onNavigateToEvent.invoke( - _root_ide_package_.at.torch.compose.ui.composable.navigation.routes.NostrEventDetailRoute( + _root_ide_package_.press.mantra.compose.ui.composable.navigation.routes.NostrEventDetailRoute( activeUserPublicKey = activeUserPublicKey, nostrEventId = nostrEventId ) @@ -165,7 +165,7 @@ class InReplyToViewModel( } } - at.torch.compose.ui.view.state.FeedListUIState.Loading -> { + press.mantra.compose.ui.view.state.FeedListUIState.Loading -> { Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally @@ -192,11 +192,11 @@ class InReplyToViewModel( const val TAG = "InReplyToViewModel" fun factory( - nostrEvent: at.torch.compose.database.model.NostrEvent, - profile: at.torch.compose.database.model.Profile?, + nostrEvent: press.mantra.compose.database.model.NostrEvent, + profile: press.mantra.compose.database.model.Profile?, createdAt: Instant, - initialFeedListUIState: at.torch.compose.ui.view.state.FeedListUIState = at.torch.compose.ui.view.state.FeedListUIState.Loading, - synchronizationFilter: at.torch.compose.database.model.types.SynchronizationFilter = _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + initialFeedListUIState: press.mantra.compose.ui.view.state.FeedListUIState = press.mantra.compose.ui.view.state.FeedListUIState.Loading, + synchronizationFilter: press.mantra.compose.database.model.types.SynchronizationFilter = _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( kinds = arrayOf( TextNoteEvent.KIND, ReactionEvent.KIND, @@ -209,7 +209,7 @@ class InReplyToViewModel( ), since = createdAt ), - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { InReplyToViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/KeyPackageManagementViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/KeyPackageManagementViewModel.kt similarity index 91% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/KeyPackageManagementViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/KeyPackageManagementViewModel.kt index 294e7e0a..38e11c5f 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/KeyPackageManagementViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/KeyPackageManagementViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -8,9 +8,9 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.MarmotKeyPackageBundle -import at.torch.compose.repository.MarmotRepository -import at.torch.compose.ui.view.state.KeyPackageManagementUIState +import press.mantra.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.repository.MarmotRepository +import press.mantra.compose.ui.view.state.KeyPackageManagementUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/MetadataEventDetailViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/MetadataEventDetailViewModel.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/MetadataEventDetailViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/MetadataEventDetailViewModel.kt index 11cb18b5..9dfa54df 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/MetadataEventDetailViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/MetadataEventDetailViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.foundation.pager.PagerState import androidx.compose.runtime.MutableState @@ -10,9 +10,9 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.nostr.Relays +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.nostr.Relays import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey @@ -44,16 +44,16 @@ enum class MetadataEventDetailType { } class MetadataEventDetailViewModel( - initialMetadataEventDetailUIState: at.torch.compose.ui.view.state.MetadataEventDetailUIState = at.torch.compose.ui.view.state.MetadataEventDetailUIState.Loading, + initialMetadataEventDetailUIState: press.mantra.compose.ui.view.state.MetadataEventDetailUIState = press.mantra.compose.ui.view.state.MetadataEventDetailUIState.Loading, val activeUserPublicKey: HexKey, val eventPublicKey: HexKey, - val nostrRepository: at.torch.compose.repository.NostrRepository, + val nostrRepository: press.mantra.compose.repository.NostrRepository, val pagerState: PagerState ): ViewModel() { val isActionPending: MutableState = mutableStateOf(false) - var metadataEventDetailUIState: at.torch.compose.ui.view.state.MetadataEventDetailUIState by mutableStateOf(initialMetadataEventDetailUIState) + var metadataEventDetailUIState: press.mantra.compose.ui.view.state.MetadataEventDetailUIState by mutableStateOf(initialMetadataEventDetailUIState) private set val logger = Logger.withTag("MetadataEventDetailViewModel") @@ -99,7 +99,7 @@ class MetadataEventDetailViewModel( ).collect { relations -> logger.d("We found relations: $relations") - metadataEventDetailUIState = at.torch.compose.ui.view.state.MetadataEventDetailUIState.Loaded( + metadataEventDetailUIState = press.mantra.compose.ui.view.state.MetadataEventDetailUIState.Loaded( isActiveUser = isActiveUser(activeUserPublicKey), followingActiveUserConnection = relations.find { connection -> connection.sourcePublicKey == eventPublicKey && connection.destinationPublicKey == activeUserPublicKey }, followedByActiveUserConnection = relations.find { connection -> connection.sourcePublicKey == activeUserPublicKey && connection.destinationPublicKey == eventPublicKey } @@ -127,7 +127,7 @@ class MetadataEventDetailViewModel( metadataEventDetailType: MetadataEventDetailType ) = when (metadataEventDetailType) { MetadataEventDetailType.Posts -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -139,7 +139,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Replies -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -152,7 +152,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Articles -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -163,7 +163,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Followers -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -175,7 +175,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Following -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -186,7 +186,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Zaps -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -198,7 +198,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Photos -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -209,7 +209,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Shorts -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -220,7 +220,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Videos -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -231,7 +231,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Bookmarks -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -242,7 +242,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Reports -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -253,7 +253,7 @@ class MetadataEventDetailViewModel( ) } MetadataEventDetailType.Relays -> { - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf( eventPublicKey ), @@ -298,7 +298,7 @@ class MetadataEventDetailViewModel( followUsers.map { it } nostrRepository.saveUnsignedNostrEvent( - _root_ide_package_.at.torch.compose.database.model.UnsignedNostrEvent( + _root_ide_package_.press.mantra.compose.database.model.UnsignedNostrEvent( pubKey = activeUserPublicKey, kind = ContactListEvent.KIND, tags = contactListTagList.toTypedArray(), @@ -310,7 +310,7 @@ class MetadataEventDetailViewModel( } } - fun unfollow(connection: at.torch.compose.database.model.Connection) { + fun unfollow(connection: press.mantra.compose.database.model.Connection) { isActionPending.value = true viewModelScope.launch(Dispatchers.IO) { @@ -325,7 +325,7 @@ class MetadataEventDetailViewModel( logger.d("User is not being followed so no need to unfollow: $eventPublicKey") } else { nostrRepository.saveUnsignedNostrEvent( - _root_ide_package_.at.torch.compose.database.model.UnsignedNostrEvent( + _root_ide_package_.press.mantra.compose.database.model.UnsignedNostrEvent( pubKey = activeUserPublicKey, kind = ContactListEvent.KIND, tags = contactListEvent.tags.filter { it.size > 1 && it[1] != eventPublicKey } @@ -349,7 +349,7 @@ class MetadataEventDetailViewModel( fun factory( activeUserPublicKey: HexKey, publicKey: HexKey, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, pagerState: PagerState ): ViewModelProvider.Factory = viewModelFactory { initializer { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.kt similarity index 95% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.kt index 583012f0..454feb3d 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.kt @@ -1,12 +1,12 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.intermdiate.LocalAccount -import at.torch.compose.ui.composable.navigation.routes.SovereignWalletStartupRoute -import at.torch.compose.ui.view.state.NavigationUIState +import press.mantra.compose.database.model.intermdiate.LocalAccount +import press.mantra.compose.ui.composable.navigation.routes.SovereignWalletStartupRoute +import press.mantra.compose.ui.view.state.NavigationUIState import co.touchlab.kermit.Logger import fr.acinq.phoenix.data.ActiveWallet import fr.acinq.phoenix.managers.nostrPublicKey @@ -26,7 +26,7 @@ import kotlin.time.Duration.Companion.milliseconds class NavigationViewModel( val activeWalletStateFlow: StateFlow, initialNavigationUIState: NavigationUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository, + val nostrRepository: press.mantra.compose.repository.NostrRepository, val scope: CoroutineScope, ): ViewModel() { @@ -36,7 +36,7 @@ class NavigationViewModel( fun factory( activeWallet: StateFlow, initialNavigationUIState: NavigationUIState, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, scope: CoroutineScope, ): ViewModelProvider.Factory = viewModelFactory { initializer { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NostrEventDetailViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NostrEventDetailViewModel.kt similarity index 72% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NostrEventDetailViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NostrEventDetailViewModel.kt index 3f7cc1bc..fbbe0433 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NostrEventDetailViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NostrEventDetailViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -21,14 +21,14 @@ import kotlinx.coroutines.launch class NostrEventDetailViewModel( val activeUserPublicKey: HexKey, val nostrEventId: HexKey, - initialNostrEventDetailUIState: at.torch.compose.ui.view.state.NostrEventDetailUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository + initialNostrEventDetailUIState: press.mantra.compose.ui.view.state.NostrEventDetailUIState, + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { - var nostrEventDetailUIState: at.torch.compose.ui.view.state.NostrEventDetailUIState by mutableStateOf(initialNostrEventDetailUIState) + var nostrEventDetailUIState: press.mantra.compose.ui.view.state.NostrEventDetailUIState by mutableStateOf(initialNostrEventDetailUIState) private set fun retryLoad() { - nostrEventDetailUIState = at.torch.compose.ui.view.state.NostrEventDetailUIState.Loading + nostrEventDetailUIState = press.mantra.compose.ui.view.state.NostrEventDetailUIState.Loading loadNostrFeed() } @@ -36,11 +36,11 @@ class NostrEventDetailViewModel( viewModelScope.launch(Dispatchers.IO) { // Sync Notifications... might want to also run this in the background nostrRepository.queueSynchronizeNostrEvent( - at.torch.compose.nostr.Relays.DefaultDMRelayList.take(1).map { normalizedRelay -> // TODO: Sync from all relays instead of 1 - _root_ide_package_.at.torch.compose.database.model.SynchronizeNostrEventRequest( + press.mantra.compose.nostr.Relays.DefaultDMRelayList.take(1).map { normalizedRelay -> // TODO: Sync from all relays instead of 1 + _root_ide_package_.press.mantra.compose.database.model.SynchronizeNostrEventRequest( purpose = "detail", synchronizationFilters = arrayOf( - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( kinds = arrayOf( TextNoteEvent.KIND, RepostEvent.KIND, @@ -69,11 +69,11 @@ class NostrEventDetailViewModel( nostrEventId ).collectLatest { localNostrEvent -> nostrEventDetailUIState = if (localNostrEvent != null) { - at.torch.compose.ui.view.state.NostrEventDetailUIState.Loaded( + press.mantra.compose.ui.view.state.NostrEventDetailUIState.Loaded( localNostrEvent = localNostrEvent ) } else { - at.torch.compose.ui.view.state.NostrEventDetailUIState.Error + press.mantra.compose.ui.view.state.NostrEventDetailUIState.Error } } } @@ -85,8 +85,8 @@ class NostrEventDetailViewModel( fun factory( nostrEventId: HexKey, activeUserPublicKey: HexKey, - initialNostrEventDetailUIState: at.torch.compose.ui.view.state.NostrEventDetailUIState = at.torch.compose.ui.view.state.NostrEventDetailUIState.Loading, - nostrRepository: at.torch.compose.repository.NostrRepository, + initialNostrEventDetailUIState: press.mantra.compose.ui.view.state.NostrEventDetailUIState = press.mantra.compose.ui.view.state.NostrEventDetailUIState.Loading, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { NostrEventDetailViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NotaryViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NotaryViewModel.kt similarity index 92% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NotaryViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NotaryViewModel.kt index 89a90cca..86a40937 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/NotaryViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/NotaryViewModel.kt @@ -1,10 +1,10 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.repository.MarmotRepository +import press.mantra.compose.repository.MarmotRepository import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.core.Event import com.vitorpamplona.quartz.nip01Core.core.toHexKey @@ -24,8 +24,8 @@ import kotlin.time.Instant class NotaryViewModel( val activeWalletStateFlow: StateFlow, - val nostrRepository: at.torch.compose.repository.NostrRepository, - val chatRepository: at.torch.compose.repository.ChatRepository, + val nostrRepository: press.mantra.compose.repository.NostrRepository, + val chatRepository: press.mantra.compose.repository.ChatRepository, val marmotRepository: MarmotRepository, val scope: CoroutineScope, ): ViewModel() { @@ -36,8 +36,8 @@ class NotaryViewModel( fun factory( activeWalletStateFlow: StateFlow, - nostrRepository: at.torch.compose.repository.NostrRepository, - chatRepository: at.torch.compose.repository.ChatRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, + chatRepository: press.mantra.compose.repository.ChatRepository, marmotRepository: MarmotRepository, scope: CoroutineScope, ): ViewModelProvider.Factory = viewModelFactory { @@ -99,7 +99,7 @@ class NotaryViewModel( nostrRepository.publishNostrEvent( unsignedNostrEvent, - _root_ide_package_.at.torch.compose.database.model.NostrEvent( + _root_ide_package_.press.mantra.compose.database.model.NostrEvent( id = event.id, pubKey = event.pubKey, kind = event.kind, @@ -109,7 +109,7 @@ class NotaryViewModel( sig = event.sig, unsignedNostrEventId = unsignedNostrEvent.id ), - relayURLs = at.torch.compose.nostr.Relays.DefaultDMRelayList.map { normalizedRelayUrl -> normalizedRelayUrl.url }, + relayURLs = press.mantra.compose.nostr.Relays.DefaultDMRelayList.map { normalizedRelayUrl -> normalizedRelayUrl.url }, activeKeyPair = keyPair ) } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt index cfece857..f97dc8ca 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchMemberToAddToChatRoomViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue @@ -9,13 +9,13 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.NegentropySynchronizeRequest -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.nostr.Relays -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.ui.view.state.SearchMemberToAddToChatRoomUIState +import press.mantra.compose.database.model.NegentropySynchronizeRequest +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.nostr.Relays +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.ui.view.state.SearchMemberToAddToChatRoomUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchResultViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchResultViewModel.kt similarity index 84% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchResultViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchResultViewModel.kt index 1d0fa527..1ae253a3 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchResultViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchResultViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -8,14 +8,11 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.extensions.assureValidNpub -import at.torch.compose.extensions.bech32ToHexOrNull -import at.torch.compose.extensions.bech32ToHexOrThrow -import at.torch.compose.ui.view.state.SearchResultListUIState +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.extensions.bech32ToHexOrNull +import press.mantra.compose.ui.view.state.SearchResultListUIState import co.touchlab.kermit.Logger import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent -import com.vitorpamplona.quartz.nip19Bech32.bech32.bechToBytes import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO import kotlinx.coroutines.flow.distinctUntilChanged @@ -28,8 +25,8 @@ enum class SearchResultType { class SearchResultViewModel( initialSearchResultType: SearchResultType, val searchQuery: String, - val nostrRepository: at.torch.compose.repository.NostrRepository, - val searchRepository: at.torch.compose.repository.SearchRepository, + val nostrRepository: press.mantra.compose.repository.NostrRepository, + val searchRepository: press.mantra.compose.repository.SearchRepository, ): ViewModel() { val logger = Logger.withTag(TAG) @@ -104,8 +101,8 @@ class SearchResultViewModel( viewModelScope.launch(Dispatchers.IO) { // Sync Notifications... might want to also run this in the background searchRepository.submitSearch( - at.torch.compose.nostr.Relays.eventFinderRelaySet.map { normalizedRelay -> // TODO: Search all relays instead of the first - _root_ide_package_.at.torch.compose.database.model.SynchronizeNostrEventRequest( + press.mantra.compose.nostr.Relays.eventFinderRelaySet.map { normalizedRelay -> // TODO: Search all relays instead of the first + _root_ide_package_.press.mantra.compose.database.model.SynchronizeNostrEventRequest( purpose = "search", synchronizationFilters = arrayOf( synchronizationFilter @@ -136,8 +133,8 @@ class SearchResultViewModel( fun factory( initialSearchResultType: SearchResultType = SearchResultType.Profiles, searchQuery: String, - nostrRepository: at.torch.compose.repository.NostrRepository, - searchRepository: at.torch.compose.repository.SearchRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, + searchRepository: press.mantra.compose.repository.SearchRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { SearchResultViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchViewModel.kt similarity index 67% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchViewModel.kt index 3f0aab5f..e910ddd7 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SearchViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SearchViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateListOf @@ -15,22 +15,22 @@ import kotlinx.coroutines.IO import kotlinx.coroutines.launch class SearchViewModel( - initialSearchUIState: at.torch.compose.ui.view.state.SearchUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository, - val searchRepository: at.torch.compose.repository.SearchRepository, + initialSearchUIState: press.mantra.compose.ui.view.state.SearchUIState, + val nostrRepository: press.mantra.compose.repository.NostrRepository, + val searchRepository: press.mantra.compose.repository.SearchRepository, ): ViewModel() { val logger = Logger.withTag(TAG) - var searchUIState: at.torch.compose.ui.view.state.SearchUIState by mutableStateOf(initialSearchUIState) + var searchUIState: press.mantra.compose.ui.view.state.SearchUIState by mutableStateOf(initialSearchUIState) private set - var searchableProfiles = mutableStateListOf() + var searchableProfiles = mutableStateListOf() private set - var filteredProfiles = mutableStateListOf() + var filteredProfiles = mutableStateListOf() private set - var recentSearches = mutableStateListOf() + var recentSearches = mutableStateListOf() private set init { @@ -65,7 +65,7 @@ class SearchViewModel( } } - fun removeRecentSearch(recentSearch: at.torch.compose.database.model.RecentSearch) { + fun removeRecentSearch(recentSearch: press.mantra.compose.database.model.RecentSearch) { viewModelScope.launch(Dispatchers.IO) { nostrRepository.removeRecentSearch(recentSearch) recentSearches.remove(recentSearch) @@ -76,9 +76,9 @@ class SearchViewModel( const val TAG = "SearchViewModel" fun factory( - initialSearchUIState: at.torch.compose.ui.view.state.SearchUIState = at.torch.compose.ui.view.state.SearchUIState.Prompt, - nostrRepository: at.torch.compose.repository.NostrRepository, - searchRepository: at.torch.compose.repository.SearchRepository, + initialSearchUIState: press.mantra.compose.ui.view.state.SearchUIState = press.mantra.compose.ui.view.state.SearchUIState.Prompt, + nostrRepository: press.mantra.compose.repository.NostrRepository, + searchRepository: press.mantra.compose.repository.SearchRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { SearchViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ShareProfileViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ShareProfileViewModel.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ShareProfileViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ShareProfileViewModel.kt index fa9db139..d79938cb 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/ShareProfileViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/ShareProfileViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -8,10 +8,10 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.intermdiate.LocalNostrEvent -import at.torch.compose.nostr.Relays -import at.torch.compose.ui.view.state.ShareProfileUIState +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.intermdiate.LocalNostrEvent +import press.mantra.compose.nostr.Relays +import press.mantra.compose.ui.view.state.ShareProfileUIState import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent import kotlinx.coroutines.Dispatchers @@ -23,7 +23,7 @@ class ShareProfileViewModel( val activeUserPublicKey: HexKey, val nostrEventId: HexKey, initialActiveProfileUIState: ShareProfileUIState, - val nostrRepository: at.torch.compose.repository.NostrRepository + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { var shareProfileUIState: ShareProfileUIState by mutableStateOf(initialActiveProfileUIState) private set @@ -72,7 +72,7 @@ class ShareProfileViewModel( nostrEventId: HexKey, activeUserPublicKey: HexKey, initialActiveProfileUIState: ShareProfileUIState = ShareProfileUIState.Loading, - nostrRepository: at.torch.compose.repository.NostrRepository, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { ShareProfileViewModel( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SignInToProfileViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SignInToProfileViewModel.kt similarity index 77% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SignInToProfileViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SignInToProfileViewModel.kt index ccd0934f..252b693f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SignInToProfileViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SignInToProfileViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf @@ -17,16 +17,16 @@ import kotlinx.coroutines.IO import kotlinx.coroutines.launch class SignInToProfileViewModel( - initialWriteNewNoteUIState: at.torch.compose.ui.view.state.SignInToProfileUIState, - val signInToProfileFormState: at.torch.compose.ui.view.state.form.SignInToProfileFormState = _root_ide_package_.at.torch.compose.ui.view.state.form.SignInToProfileFormState(), - val nostrRepository: at.torch.compose.repository.NostrRepository + initialWriteNewNoteUIState: press.mantra.compose.ui.view.state.SignInToProfileUIState, + val signInToProfileFormState: press.mantra.compose.ui.view.state.form.SignInToProfileFormState = _root_ide_package_.press.mantra.compose.ui.view.state.form.SignInToProfileFormState(), + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { companion object { private const val TAG = "SignInToProfileViewModel" fun factory( - initialWriteNewNoteUIState: at.torch.compose.ui.view.state.SignInToProfileUIState, - nostrRepository: at.torch.compose.repository.NostrRepository + initialWriteNewNoteUIState: press.mantra.compose.ui.view.state.SignInToProfileUIState, + nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModelProvider.Factory = viewModelFactory { initializer { SignInToProfileViewModel( @@ -41,7 +41,7 @@ class SignInToProfileViewModel( val isActionPending: MutableState = mutableStateOf(false) - var signInToProfileUIState: MutableState = mutableStateOf( + var signInToProfileUIState: MutableState = mutableStateOf( initialWriteNewNoteUIState ) @@ -78,7 +78,7 @@ class SignInToProfileViewModel( } else -> { // TODO: Might want to give reasons for the error. - signInToProfileUIState.value = at.torch.compose.ui.view.state.SignInToProfileUIState.Error + signInToProfileUIState.value = press.mantra.compose.ui.view.state.SignInToProfileUIState.Error } } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletStartupViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletStartupViewModel.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletStartupViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletStartupViewModel.kt index 9784fe95..2b9baddb 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletStartupViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletStartupViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel @@ -48,11 +48,11 @@ class SovereignWalletStartupViewModel( state.value = StartupViewState.StartingBusiness(walletId) val startResult: StartBusinessResult = - _root_ide_package_.at.torch.compose.extensions.platformStartupLogic( + _root_ide_package_.press.mantra.compose.extensions.platformStartupLogic( words ) - _root_ide_package_.at.torch.compose.extensions.schedulePlatformLogic( + _root_ide_package_.press.mantra.compose.extensions.schedulePlatformLogic( phoenixGlobal = phoenixGlobal, ) when (startResult) { @@ -69,7 +69,7 @@ class SovereignWalletStartupViewModel( } fun getShowIntroFlow(): Flow { - return _root_ide_package_.at.torch.compose.extensions.getShowIntroFlow(phoenixGlobal) + return _root_ide_package_.press.mantra.compose.extensions.getShowIntroFlow(phoenixGlobal) } companion object { diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletViewModel.kt similarity index 94% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletViewModel.kt index 20fe4ce6..56905778 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SovereignWalletViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SovereignWalletViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -81,17 +81,17 @@ class SovereignWalletViewModel( val exchangeRates = phoenixGlobal.currencyManager.ratesFlow .stateIn(viewModelScope, started = SharingStarted.Lazily, initialValue = emptyList()) - var walletUIState: at.torch.compose.ui.view.state.SovereignWalletUIState by mutableStateOf( - at.torch.compose.ui.view.state.SovereignWalletUIState.Loading) + var walletUIState: press.mantra.compose.ui.view.state.SovereignWalletUIState by mutableStateOf( + press.mantra.compose.ui.view.state.SovereignWalletUIState.Loading) private set fun retryLoad() { - walletUIState = at.torch.compose.ui.view.state.SovereignWalletUIState.Loading + walletUIState = press.mantra.compose.ui.view.state.SovereignWalletUIState.Loading } fun loadSovereignData(walletId: WalletId) { - walletUIState = at.torch.compose.ui.view.state.SovereignWalletUIState.Success( + walletUIState = press.mantra.compose.ui.view.state.SovereignWalletUIState.Success( publicKey = walletId.nodeIdHash, balanceInSatoshis = 0 // TODO: Get balance... ) @@ -158,7 +158,7 @@ class SovereignWalletViewModel( phoenixGlobal = phoenixGlobal, walletId = walletId, name = null, - avatar = at.torch.compose.ui.composable.widgets.wallet.WalletAvatars.list.random(), + avatar = press.mantra.compose.ui.composable.widgets.wallet.WalletAvatars.list.random(), isHidden = false ) } @@ -213,7 +213,7 @@ class SovereignWalletViewModel( } fun getGlobalPrefs(): GlobalPrefs { - return _root_ide_package_.at.torch.compose.extensions.getGlobalPrefs( + return _root_ide_package_.press.mantra.compose.extensions.getGlobalPrefs( phoenixGlobal ) } diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SynchronizationViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SynchronizationViewModel.kt similarity index 96% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SynchronizationViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SynchronizationViewModel.kt index 587f9bb5..74504d20 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/SynchronizationViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/SynchronizationViewModel.kt @@ -1,21 +1,21 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory -import at.torch.compose.database.model.BroadcastNostrEventRequest -import at.torch.compose.database.model.SynchronizeNostrEventRequest -import at.torch.compose.database.model.types.SynchronizationFilter -import at.torch.compose.network.dto.toRelayDTO -import at.torch.compose.network.relays.RelayPool -import at.torch.compose.network.relays.RelaysSocketManager -import at.torch.compose.network.sockets.NostrIncomingMessage -import at.torch.compose.network.sockets.NostrSocketClientFactory -import at.torch.compose.repository.CachingImportRepository -import at.torch.compose.repository.ChatRepository -import at.torch.compose.repository.NostrRepository -import at.torch.compose.repository.RelayRepository +import press.mantra.compose.database.model.BroadcastNostrEventRequest +import press.mantra.compose.database.model.SynchronizeNostrEventRequest +import press.mantra.compose.database.model.types.SynchronizationFilter +import press.mantra.compose.network.dto.toRelayDTO +import press.mantra.compose.network.relays.RelayPool +import press.mantra.compose.network.relays.RelaysSocketManager +import press.mantra.compose.network.sockets.NostrIncomingMessage +import press.mantra.compose.network.sockets.NostrSocketClientFactory +import press.mantra.compose.repository.CachingImportRepository +import press.mantra.compose.repository.ChatRepository +import press.mantra.compose.repository.NostrRepository +import press.mantra.compose.repository.RelayRepository import co.touchlab.kermit.Logger import com.vitorpamplona.negentropy.Negentropy import com.vitorpamplona.negentropy.storage.StorageVector diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt index fff1a721..0ce79a32 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/UnqueuedProfileSynchronizationViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf @@ -24,7 +24,7 @@ import kotlinx.coroutines.launch class UnqueuedProfileSynchronizationViewModel( val unsignedNostrEventId: Long, val profilePublicKey: String, - val nostrRepository: at.torch.compose.repository.NostrRepository + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { companion object { private const val TAG = "UnqueuedProfileSynchronizationViewModel" @@ -32,7 +32,7 @@ class UnqueuedProfileSynchronizationViewModel( fun factory( unsignedNostrEventId: Long, profilePublicKey: String, - nostrRepository: at.torch.compose.repository.NostrRepository + nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModelProvider.Factory = viewModelFactory { initializer { UnqueuedProfileSynchronizationViewModel( @@ -55,11 +55,11 @@ class UnqueuedProfileSynchronizationViewModel( delay(2_000) nostrRepository.queueSynchronizeNostrEvent( - at.torch.compose.nostr.Relays.DefaultDMRelayList.map { normalizedRelayUrl -> - _root_ide_package_.at.torch.compose.database.model.SynchronizeNostrEventRequest( + press.mantra.compose.nostr.Relays.DefaultDMRelayList.map { normalizedRelayUrl -> + _root_ide_package_.press.mantra.compose.database.model.SynchronizeNostrEventRequest( purpose = "sign-in", synchronizationFilters = arrayOf( - _root_ide_package_.at.torch.compose.database.model.types.SynchronizationFilter( + _root_ide_package_.press.mantra.compose.database.model.types.SynchronizationFilter( authors = arrayOf(profilePublicKey), kinds = arrayOf( MetadataEvent.KIND, diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/WriteNewNoteViewModel.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/WriteNewNoteViewModel.kt similarity index 73% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/WriteNewNoteViewModel.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/WriteNewNoteViewModel.kt index 0d7ca900..69a72b38 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/model/WriteNewNoteViewModel.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/model/WriteNewNoteViewModel.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model import androidx.compose.runtime.MutableState import androidx.compose.runtime.getValue @@ -24,9 +24,9 @@ class WriteNewNoteViewModel( val replyToNostrEventId: HexKey?, val quotedNostrEventId: HexKey?, - initialWriteNewNoteUIState: at.torch.compose.ui.view.state.WriteNewNoteUIState, - val writeNewNoteFormState: at.torch.compose.ui.view.state.form.WriteNewNoteFormState = _root_ide_package_.at.torch.compose.ui.view.state.form.WriteNewNoteFormState(), - val nostrRepository: at.torch.compose.repository.NostrRepository + initialWriteNewNoteUIState: press.mantra.compose.ui.view.state.WriteNewNoteUIState, + val writeNewNoteFormState: press.mantra.compose.ui.view.state.form.WriteNewNoteFormState = _root_ide_package_.press.mantra.compose.ui.view.state.form.WriteNewNoteFormState(), + val nostrRepository: press.mantra.compose.repository.NostrRepository ): ViewModel() { companion object { private const val TAG = "WriteNewNoteViewModel" @@ -35,8 +35,8 @@ class WriteNewNoteViewModel( activeUserPublicKey: HexKey, replyToNostrEventId: HexKey?, quotedNostrEventId: HexKey?, - initialWriteNewNoteUIState: at.torch.compose.ui.view.state.WriteNewNoteUIState, - nostrRepository: at.torch.compose.repository.NostrRepository, + initialWriteNewNoteUIState: press.mantra.compose.ui.view.state.WriteNewNoteUIState, + nostrRepository: press.mantra.compose.repository.NostrRepository, ): ViewModelProvider.Factory = viewModelFactory { initializer { WriteNewNoteViewModel( @@ -54,13 +54,13 @@ class WriteNewNoteViewModel( val isActionPending: MutableState = mutableStateOf(false) - var writeNewNoteUIState: at.torch.compose.ui.view.state.WriteNewNoteUIState by mutableStateOf(initialWriteNewNoteUIState) + var writeNewNoteUIState: press.mantra.compose.ui.view.state.WriteNewNoteUIState by mutableStateOf(initialWriteNewNoteUIState) private set - var mentionableProfiles = mutableStateListOf() + var mentionableProfiles = mutableStateListOf() private set - var mentionedProfiles = mutableStateListOf() + var mentionedProfiles = mutableStateListOf() private set var atSymbolRange = mutableStateOf(null) @@ -78,7 +78,7 @@ class WriteNewNoteViewModel( } } - fun addProfileToMentionedProfiles(profile: at.torch.compose.database.model.Profile) { + fun addProfileToMentionedProfiles(profile: press.mantra.compose.database.model.Profile) { atSymbolRange.value?.let { range -> mentionedProfiles.add(profile) writeNewNoteFormState.textFieldForm.textFieldState.edit { @@ -121,27 +121,27 @@ class WriteNewNoteViewModel( activePublicKey ).collect { profileWithFollowing -> writeNewNoteUIState = if (profileWithFollowing != null) { - at.torch.compose.ui.view.state.WriteNewNoteUIState.InputPrompt( + press.mantra.compose.ui.view.state.WriteNewNoteUIState.InputPrompt( localProfile = profileWithFollowing, inReplyToNostrEvent = nostrEventBeingRepliedTo, quotedNostrEvent = nostrEventBeingQuoted ) } else { - at.torch.compose.ui.view.state.WriteNewNoteUIState.Error + press.mantra.compose.ui.view.state.WriteNewNoteUIState.Error } } } } fun confirmNote( - localProfile: at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing, - inReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent?, - quotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? + localProfile: press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing, + inReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent?, + quotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? ) { validateInput().let { isInputValid -> if (isInputValid) { writeNewNoteUIState = - at.torch.compose.ui.view.state.WriteNewNoteUIState.ConfirmNote( + press.mantra.compose.ui.view.state.WriteNewNoteUIState.ConfirmNote( localProfile = localProfile, inReplyToNostrEvent = inReplyToNostrEvent, quotedNostrEvent = quotedNostrEvent, @@ -165,16 +165,16 @@ class WriteNewNoteViewModel( fun createNewNote( activeUserPublicKey: HexKey, onNostrEventPublished: () -> Unit, - inReplyToNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, - quotedNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent? = null, + inReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, + quotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, ) { logger.d { "createAccount" } isActionPending.value = true viewModelScope.launch(Dispatchers.IO) { - val mentionedPublicKeys = at.torch.compose.ui.composable.widgets.content.ContentParser.parse( + val mentionedPublicKeys = press.mantra.compose.ui.composable.widgets.content.ContentParser.parse( writeNewNoteFormState.textFieldForm.textFieldState.text.toString(), - ).filterIsInstance().map { it.pubkey } + ).filterIsInstance().map { it.pubkey } nostrRepository.createNewTextNote( publicKey = activeUserPublicKey, @@ -183,7 +183,7 @@ class WriteNewNoteViewModel( inReplyToNostrEvent = inReplyToNostrEvent, quotedNostrEvent = quotedNostrEvent, onError = { - writeNewNoteUIState = at.torch.compose.ui.view.state.WriteNewNoteUIState.Error + writeNewNoteUIState = press.mantra.compose.ui.view.state.WriteNewNoteUIState.Error }, onSuccess = onNostrEventPublished ) diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ActiveProfileUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ActiveProfileUIState.kt similarity index 63% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ActiveProfileUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ActiveProfileUIState.kt index 5a34849e..25da96db 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ActiveProfileUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ActiveProfileUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface ActiveProfileUIState { data class Loaded( - val localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent + val localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent ): ActiveProfileUIState data object Error: ActiveProfileUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt similarity index 59% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt index 2f7cd429..f13cab88 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/AddMemberToChatRoomConfirmationUIState.kt @@ -1,9 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.MarmotKeyPackage -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalChatRoom -import com.vitorpamplona.quartz.marmot.mip00KeyPackages.KeyPackageEvent +import press.mantra.compose.database.model.MarmotKeyPackage +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalChatRoom sealed interface AddMemberToChatRoomConfirmationUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatMessageListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatMessageListUIState.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatMessageListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatMessageListUIState.kt index e49862da..4c8ff48e 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatMessageListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatMessageListUIState.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.intermdiate.LocalChatMessage +import press.mantra.compose.database.model.intermdiate.LocalChatMessage sealed interface ChatMessageListUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomDetailUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomDetailUIState.kt similarity index 70% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomDetailUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomDetailUIState.kt index 92bef528..aad05287 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomDetailUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomDetailUIState.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.intermdiate.LocalChatRoom sealed interface ChatRoomDetailUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomListUIState.kt similarity index 57% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomListUIState.kt index e1140f1c..276ddf90 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomListUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface ChatRoomListUIState { data class Loaded( - val chatRoomList: List + val chatRoomList: List ): ChatRoomListUIState data object Error: ChatRoomListUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomMessagingUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomMessagingUIState.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomMessagingUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomMessagingUIState.kt index cbbf066d..6ee53c4d 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ChatRoomMessagingUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ChatRoomMessagingUIState.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.intermdiate.LocalChatRoom sealed interface ChatRoomMessagingUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/CreateProfileUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/CreateProfileUIState.kt similarity index 76% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/CreateProfileUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/CreateProfileUIState.kt index afba94e9..f70e5f0f 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/CreateProfileUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/CreateProfileUIState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state abstract class CreateProfileUIState { data object Error: CreateProfileUIState() @@ -13,6 +13,6 @@ abstract class CreateProfileUIState { ) : CreateProfileUIState() data class ProfileReady( - val profile: at.torch.compose.database.model.Profile + val profile: press.mantra.compose.database.model.Profile ) : CreateProfileUIState() } \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FeedListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FeedListUIState.kt similarity index 53% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FeedListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FeedListUIState.kt index 13d0c279..e170eb25 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FeedListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FeedListUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface FeedListUIState { data class Loaded( - val localNostrEvents: List + val localNostrEvents: List ): FeedListUIState data object Error: FeedListUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowersListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowersListUIState.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowersListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowersListUIState.kt index 0c56c37f..8190eecf 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowersListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowersListUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface FollowersListUIState { data class Loaded( - val followers: List + val followers: List ): FollowersListUIState data object Error: FollowersListUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowingListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowingListUIState.kt similarity index 61% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowingListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowingListUIState.kt index e3fd6c76..2918aa01 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/FollowingListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/FollowingListUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface FollowingListUIState { data class Loaded( - val following: List + val following: List ): FollowingListUIState data object Error: FollowingListUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/HomeScreenUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/HomeScreenUIState.kt similarity index 53% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/HomeScreenUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/HomeScreenUIState.kt index 52c0941c..8ef6d95b 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/HomeScreenUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/HomeScreenUIState.kt @@ -1,9 +1,9 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface HomeScreenUIState { data class Loaded( - val profileWithFollowing: at.torch.compose.database.model.intermdiate.LocalProfileWithFollowing + val profileWithFollowing: press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing ): HomeScreenUIState data object Error: HomeScreenUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/KeyPackageManagementUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/KeyPackageManagementUIState.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/KeyPackageManagementUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/KeyPackageManagementUIState.kt index 3a551b3a..7b30dbdb 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/KeyPackageManagementUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/KeyPackageManagementUIState.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.MarmotKeyPackageBundle +import press.mantra.compose.database.model.MarmotKeyPackageBundle sealed interface KeyPackageManagementUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/MetadataEventDetailUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/MetadataEventDetailUIState.kt similarity index 51% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/MetadataEventDetailUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/MetadataEventDetailUIState.kt index 893d4527..e8f34f88 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/MetadataEventDetailUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/MetadataEventDetailUIState.kt @@ -1,11 +1,11 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface MetadataEventDetailUIState { data class Loaded( val isActiveUser: Boolean, - val followingActiveUserConnection: at.torch.compose.database.model.Connection?, - val followedByActiveUserConnection: at.torch.compose.database.model.Connection?, + val followingActiveUserConnection: press.mantra.compose.database.model.Connection?, + val followedByActiveUserConnection: press.mantra.compose.database.model.Connection?, ): MetadataEventDetailUIState data object Error: MetadataEventDetailUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NavigationUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NavigationUIState.kt similarity index 57% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NavigationUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NavigationUIState.kt index af4e8f8f..ad632797 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NavigationUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NavigationUIState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state abstract class NavigationUIState { data object Error: NavigationUIState() @@ -11,28 +11,28 @@ abstract class NavigationUIState { data object Landing: NavigationUIState() data class UnsignedProfile( - val unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent, + val unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent, ) : NavigationUIState() data class UnsyncedProfile( - val unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent, + val unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent, ) : NavigationUIState() data class UnqueuedProfileSynchronization( - val unsignedNostrEvent: at.torch.compose.database.model.UnsignedNostrEvent, + val unsignedNostrEvent: press.mantra.compose.database.model.UnsignedNostrEvent, ) : NavigationUIState() data class UnindexedProfile( - val nostrEvent: at.torch.compose.database.model.NostrEvent, + val nostrEvent: press.mantra.compose.database.model.NostrEvent, ) : NavigationUIState() data class UnqueuedProfile( - val profile: at.torch.compose.database.model.Profile, + val profile: press.mantra.compose.database.model.Profile, ) : NavigationUIState() data class UnannouncedProfile( - val broadcastNostrEventRequest: at.torch.compose.database.model.BroadcastNostrEventRequest, + val broadcastNostrEventRequest: press.mantra.compose.database.model.BroadcastNostrEventRequest, ) : NavigationUIState() diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NostrEventDetailUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NostrEventDetailUIState.kt similarity index 64% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NostrEventDetailUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NostrEventDetailUIState.kt index 8728a72d..dc81b0d3 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/NostrEventDetailUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/NostrEventDetailUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface NostrEventDetailUIState { data class Loaded( - val localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent + val localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent ): NostrEventDetailUIState data object Error: NostrEventDetailUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt similarity index 68% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt index 321507e6..46b07d38 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchMemberToAddToChatRoomUIState.kt @@ -1,7 +1,7 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state -import at.torch.compose.database.model.Profile -import at.torch.compose.database.model.intermdiate.LocalChatRoom +import press.mantra.compose.database.model.Profile +import press.mantra.compose.database.model.intermdiate.LocalChatRoom sealed interface SearchMemberToAddToChatRoomUIState { data class Loaded( diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchResultListUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchResultListUIState.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchResultListUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchResultListUIState.kt index e321a28f..84fe612e 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchResultListUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchResultListUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface SearchResultListUIState { data class Loaded( - val localNostrEvents: List + val localNostrEvents: List ): SearchResultListUIState data object Error: SearchResultListUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchUIState.kt similarity index 58% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchUIState.kt index 04a32035..79361dbf 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SearchUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SearchUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface SearchUIState { data class Loaded( - val localNostrEvents: List + val localNostrEvents: List ): SearchUIState data object Error: SearchUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ShareProfileUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ShareProfileUIState.kt similarity index 62% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ShareProfileUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ShareProfileUIState.kt index 22c55803..e9fd1003 100755 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/ShareProfileUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/ShareProfileUIState.kt @@ -1,8 +1,8 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface ShareProfileUIState { data class Loaded( - val localNostrEvent: at.torch.compose.database.model.intermdiate.LocalNostrEvent + val localNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent ): ShareProfileUIState data object Error: ShareProfileUIState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SignInToProfileUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SignInToProfileUIState.kt similarity index 90% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SignInToProfileUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SignInToProfileUIState.kt index 7983fcee..3e6bbb74 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SignInToProfileUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SignInToProfileUIState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state import com.vitorpamplona.quartz.nip01Core.core.HexKey diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SovereignWalletUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SovereignWalletUIState.kt similarity index 88% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SovereignWalletUIState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SovereignWalletUIState.kt index 3bf5020f..f52aa751 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/SovereignWalletUIState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/SovereignWalletUIState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state +package press.mantra.compose.ui.view.state sealed interface SovereignWalletUIState { data object Uninitialized: SovereignWalletUIState diff --git a/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/WriteNewNoteUIState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/WriteNewNoteUIState.kt new file mode 100644 index 00000000..ab31cbdc --- /dev/null +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/WriteNewNoteUIState.kt @@ -0,0 +1,24 @@ +package press.mantra.compose.ui.view.state + +import com.vitorpamplona.quartz.nip01Core.core.HexKey + +abstract class WriteNewNoteUIState { + data object Loading: WriteNewNoteUIState() + + data object Error: WriteNewNoteUIState() + + data class InputPrompt( + val localProfile: press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing, + val inReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, + val quotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, + val replayToId: HexKey? = null, + ): WriteNewNoteUIState() + + data class ConfirmNote( + val localProfile: press.mantra.compose.database.model.intermdiate.LocalProfileWithFollowing, + val inReplyToNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, + val quotedNostrEvent: press.mantra.compose.database.model.intermdiate.LocalNostrEvent? = null, + val text: String, + ) : WriteNewNoteUIState() + +} \ No newline at end of file diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/ChatRoomCreationFormState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/ChatRoomCreationFormState.kt similarity index 75% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/ChatRoomCreationFormState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/ChatRoomCreationFormState.kt index f711955e..8dc0a3a9 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/ChatRoomCreationFormState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/ChatRoomCreationFormState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state.form +package press.mantra.compose.ui.view.state.form data class ChatRoomCreationFormState( val nameField: TextFieldForm = TextFieldForm(), diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/CreateProfileFormState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/CreateProfileFormState.kt similarity index 74% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/CreateProfileFormState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/CreateProfileFormState.kt index be2d17ba..364e7888 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/CreateProfileFormState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/CreateProfileFormState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state.form +package press.mantra.compose.ui.view.state.form data class CreateProfileFormState( val nameField: TextFieldForm = TextFieldForm(), diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/SignInToProfileFormState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/SignInToProfileFormState.kt similarity index 65% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/SignInToProfileFormState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/SignInToProfileFormState.kt index 83e1ef4a..42a1f041 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/SignInToProfileFormState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/SignInToProfileFormState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state.form +package press.mantra.compose.ui.view.state.form data class SignInToProfileFormState( val textFieldForm: TextFieldForm = TextFieldForm(), diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/TextFieldForm.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/TextFieldForm.kt similarity index 86% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/TextFieldForm.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/TextFieldForm.kt index 056f8897..cdf45d6e 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/TextFieldForm.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/TextFieldForm.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state.form +package press.mantra.compose.ui.view.state.form import androidx.compose.foundation.text.input.TextFieldState import androidx.compose.runtime.MutableState diff --git a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/WriteNewNoteFormState.kt b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/WriteNewNoteFormState.kt similarity index 65% rename from composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/WriteNewNoteFormState.kt rename to composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/WriteNewNoteFormState.kt index 62d76962..e082b419 100644 --- a/composeApp/src/commonMain/kotlin/at/torch/compose/ui/view/state/form/WriteNewNoteFormState.kt +++ b/composeApp/src/commonMain/kotlin/press/mantra/compose/ui/view/state/form/WriteNewNoteFormState.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.view.state.form +package press.mantra.compose.ui.view.state.form data class WriteNewNoteFormState( val textFieldForm: TextFieldForm = TextFieldForm(), diff --git a/composeApp/src/commonTest/kotlin/at/auxiliary/compose/ComposeAppCommonTest.kt b/composeApp/src/commonTest/kotlin/press/auxiliary/compose/ComposeAppCommonTest.kt similarity index 82% rename from composeApp/src/commonTest/kotlin/at/auxiliary/compose/ComposeAppCommonTest.kt rename to composeApp/src/commonTest/kotlin/press/auxiliary/compose/ComposeAppCommonTest.kt index b0a53f74..3e548c4a 100644 --- a/composeApp/src/commonTest/kotlin/at/auxiliary/compose/ComposeAppCommonTest.kt +++ b/composeApp/src/commonTest/kotlin/press/auxiliary/compose/ComposeAppCommonTest.kt @@ -1,4 +1,4 @@ -package at.auxiliary.compose +package press.auxiliary.compose import kotlin.test.Test import kotlin.test.assertEquals diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/PlatformContext.ios.kt b/composeApp/src/iosMain/kotlin/at/torch/compose/PlatformContext.ios.kt deleted file mode 100644 index 1dd7c12d..00000000 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/PlatformContext.ios.kt +++ /dev/null @@ -1,3 +0,0 @@ -package at.torch.compose - -actual class PlatformContext \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/AppVersion.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/AppVersion.ios.kt similarity index 93% rename from composeApp/src/iosMain/kotlin/at/torch/compose/AppVersion.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/AppVersion.ios.kt index f33e7d24..febfa6b7 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/AppVersion.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/AppVersion.ios.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose import platform.Foundation.NSBundle diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/MainViewController.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/MainViewController.kt similarity index 85% rename from composeApp/src/iosMain/kotlin/at/torch/compose/MainViewController.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/MainViewController.kt index ffdd314d..61ce28c7 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/MainViewController.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/MainViewController.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose import androidx.compose.ui.window.ComposeUIViewController import androidx.navigation.compose.rememberNavController @@ -7,9 +7,9 @@ import fr.acinq.phoenix.PhoenixGlobal fun MainViewController() = ComposeUIViewController { val navController = rememberNavController() - TorchApp( + MantraApp( navController = navController, - torchGlobal = TorchGlobal( + mantraGlobal = MantraGlobal( platformContext = PlatformContext() ), phoenixGlobal = PhoenixGlobal( diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/Platform.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/Platform.ios.kt similarity index 72% rename from composeApp/src/iosMain/kotlin/at/torch/compose/Platform.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/Platform.ios.kt index 8ef251b0..cfaf67f8 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/Platform.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/Platform.ios.kt @@ -1,4 +1,4 @@ -package at.torch.compose +package press.mantra.compose import platform.UIKit.UIDevice import kotlin.native.Platform diff --git a/composeApp/src/iosMain/kotlin/press/mantra/compose/PlatformContext.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/PlatformContext.ios.kt new file mode 100644 index 00000000..03bdcd35 --- /dev/null +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/PlatformContext.ios.kt @@ -0,0 +1,3 @@ +package press.mantra.compose + +actual class PlatformContext \ No newline at end of file diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.ios.kt similarity index 88% rename from composeApp/src/iosMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.ios.kt index feb1fa12..b2d1ea73 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/database/builder/PlatformDatabaseBuilder.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/database/builder/PlatformDatabaseBuilder.ios.kt @@ -1,9 +1,9 @@ -package at.torch.compose.database.builder +package press.mantra.compose.database.builder import androidx.room3.Room import androidx.room3.RoomDatabase -import at.torch.compose.PlatformContext -import at.torch.compose.database.TorchDatabase +import press.mantra.compose.PlatformContext +import press.mantra.compose.database.TorchDatabase import kotlinx.cinterop.ExperimentalForeignApi import platform.Foundation.NSDocumentDirectory import platform.Foundation.NSFileManager diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/extensions/Phoenix.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/extensions/Phoenix.ios.kt similarity index 96% rename from composeApp/src/iosMain/kotlin/at/torch/compose/extensions/Phoenix.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/extensions/Phoenix.ios.kt index 19e09497..2b06433b 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/extensions/Phoenix.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/extensions/Phoenix.ios.kt @@ -1,4 +1,4 @@ -package at.torch.compose.extensions +package press.mantra.compose.extensions import co.touchlab.kermit.Logger import fr.acinq.bitcoin.Chain diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/ui/theme/Theme.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/ui/theme/Theme.ios.kt similarity index 89% rename from composeApp/src/iosMain/kotlin/at/torch/compose/ui/theme/Theme.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/ui/theme/Theme.ios.kt index 94f6f69d..1760ce45 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/ui/theme/Theme.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/ui/theme/Theme.ios.kt @@ -1,4 +1,4 @@ -package at.torch.compose.ui.theme +package press.mantra.compose.ui.theme import androidx.compose.material3.ColorScheme import androidx.compose.runtime.Composable diff --git a/composeApp/src/iosMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.ios.kt b/composeApp/src/iosMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.ios.kt similarity index 98% rename from composeApp/src/iosMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.ios.kt rename to composeApp/src/iosMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.ios.kt index 91d03cf2..6399e2ea 100644 --- a/composeApp/src/iosMain/kotlin/at/torch/compose/ui/view/model/NavigationViewModel.ios.kt +++ b/composeApp/src/iosMain/kotlin/press/mantra/compose/ui/view/model/NavigationViewModel.ios.kt @@ -1,6 +1,6 @@ -package at.torch.compose.ui.view.model +package press.mantra.compose.ui.view.model -import at.torch.compose.AppVersion +import press.mantra.compose.AppVersion import co.touchlab.kermit.Logger import fr.acinq.bitcoin.Chain import fr.acinq.bitcoin.MnemonicCode diff --git a/settings.gradle.kts b/settings.gradle.kts index ed402d6b..6e6e3daf 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,4 +1,4 @@ -rootProject.name = "Torch" +rootProject.name = "Mantra" enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") pluginManagement {