mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
Merge pull request #4194 from vitorpamplona/claude/sharp-keller-7itny0
refactor: share the UI settings and toasts, add LocalDisplaySettings, call LocalCache directly
This commit is contained in:
+1
-1
@@ -56,6 +56,7 @@ import com.halilibo.richtext.ui.material3.RichText
|
||||
import com.halilibo.richtext.ui.resolveDefaults
|
||||
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
|
||||
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettingsFlow
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_button_ok
|
||||
import com.vitorpamplona.amethyst.commons.resources.push_server_explainer
|
||||
@@ -71,7 +72,6 @@ import com.vitorpamplona.amethyst.commons.ui.components.SpinnerSelectionDialog
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.TextSpinner
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.TitleExplainer
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.model.UiSettingsFlow
|
||||
import com.vitorpamplona.amethyst.service.notifications.PushDistributorHandler
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.settings.SettingsBlockTile
|
||||
import com.vitorpamplona.quartz.utils.Log
|
||||
|
||||
@@ -22282,7 +22282,7 @@ SPLcom/vitorpamplona/amethyst/AppModules;->getThumbnailDiskCache()Lcom/vitorpamp
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getTorManager()Lcom/vitorpamplona/amethyst/ui/tor/TorManager;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getTorPrefs()Lcom/vitorpamplona/amethyst/model/preferences/TorSharedPreferences;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getUiPrefs()Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getUiState()Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getUiState()Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->getVideoCache()Lcom/vitorpamplona/amethyst/service/playback/diskCache/VideoCache;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->httpUsageInterceptor$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Z
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->httpUsageInterceptor$lambda$1(Lcom/vitorpamplona/amethyst/AppModules;)Z
|
||||
@@ -22301,7 +22301,7 @@ SPLcom/vitorpamplona/amethyst/AppModules;->signerPermissionStore_delegate$lambda
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->thumbnailDiskCache_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/service/images/ThumbnailDiskCache;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->torPrefs_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/model/preferences/TorSharedPreferences;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->uiPrefs_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->uiState_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->uiState_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules;->videoCache_delegate$lambda$0(Lcom/vitorpamplona/amethyst/AppModules;)Lcom/vitorpamplona/amethyst/service/playback/diskCache/VideoCache;
|
||||
Lcom/vitorpamplona/amethyst/AppModules$$ExternalSyntheticLambda0;
|
||||
SPLcom/vitorpamplona/amethyst/AppModules$$ExternalSyntheticLambda0;-><init>(Landroid/content/Context;)V
|
||||
@@ -23107,12 +23107,12 @@ Lcom/vitorpamplona/amethyst/favorites/FavoriteAppsRegistryKt;
|
||||
SPLcom/vitorpamplona/amethyst/favorites/FavoriteAppsRegistryKt;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/favorites/FavoriteAppsRegistryKt;->access$getFavoriteAppsDataStore(Landroid/content/Context;)Landroidx/datastore/core/DataStore;
|
||||
SPLcom/vitorpamplona/amethyst/favorites/FavoriteAppsRegistryKt;->getFavoriteAppsDataStore(Landroid/content/Context;)Landroidx/datastore/core/DataStore;
|
||||
Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/model/AccentColorType;->$values()[Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/model/AccentColorType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/AccentColorType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/model/AccentColorType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/model/AccentColorType;->values()[Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/AccentColorType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/AccentColorType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/AccentColorType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/AccentColorType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/AccentColorType;->values()[Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
Lcom/vitorpamplona/amethyst/model/Account;
|
||||
Lcom/vitorpamplona/amethyst/model/AccountSettings;
|
||||
Lcom/vitorpamplona/amethyst/model/AntiSpamFilter;
|
||||
@@ -23121,44 +23121,44 @@ SPLcom/vitorpamplona/amethyst/model/AntiSpamFilter;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/AntiSpamState;
|
||||
SPLcom/vitorpamplona/amethyst/model/AntiSpamState;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/AntiSpamState;-><init>(Lcom/vitorpamplona/amethyst/model/AntiSpamFilter;)V
|
||||
Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/BooleanType;->$values()[Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/BooleanType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/BooleanType;-><init>(Ljava/lang/String;ILjava/lang/Boolean;II)V
|
||||
SPLcom/vitorpamplona/amethyst/model/BooleanType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/BooleanType;->values()[Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/BooleanType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/BooleanType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/BooleanType;-><init>(Ljava/lang/String;ILjava/lang/Boolean;II)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/BooleanType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/BooleanType;->values()[Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
Lcom/vitorpamplona/amethyst/model/CachePruner;
|
||||
SPLcom/vitorpamplona/amethyst/model/CachePruner;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/CachePruner;-><init>(Lcom/vitorpamplona/amethyst/model/LocalCache;)V
|
||||
Lcom/vitorpamplona/amethyst/model/CacheSearch;
|
||||
SPLcom/vitorpamplona/amethyst/model/CacheSearch;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/CacheSearch;-><init>(Lcom/vitorpamplona/amethyst/model/LocalCache;)V
|
||||
Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ConnectivityType;->$values()[Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ConnectivityType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/ConnectivityType;-><init>(Ljava/lang/String;ILjava/lang/Boolean;II)V
|
||||
SPLcom/vitorpamplona/amethyst/model/ConnectivityType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ConnectivityType;->values()[Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ConnectivityType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ConnectivityType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ConnectivityType;-><init>(Ljava/lang/String;ILjava/lang/Boolean;II)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ConnectivityType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ConnectivityType;->values()[Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
Lcom/vitorpamplona/amethyst/model/Dao;
|
||||
Lcom/vitorpamplona/amethyst/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FeatureSetType;->$values()[Lcom/vitorpamplona/amethyst/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FeatureSetType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/FeatureSetType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/model/FeatureSetType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FeatureSetType;->values()[Lcom/vitorpamplona/amethyst/model/FeatureSetType;
|
||||
Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontFamilyType;->$values()[Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontFamilyType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/FontFamilyType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/model/FontFamilyType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontFamilyType;->values()[Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;->$values()[Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;-><init>(Ljava/lang/String;IFII)V
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;->getScale()F
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/FontSizeType;->values()[Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;->values()[Lcom/vitorpamplona/amethyst/commons/model/FeatureSetType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontFamilyType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontFamilyType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontFamilyType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontFamilyType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontFamilyType;->values()[Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;-><init>(Ljava/lang/String;IFII)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;->getScale()F
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/FontSizeType;->values()[Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
Lcom/vitorpamplona/amethyst/model/ILocalCache;
|
||||
Lcom/vitorpamplona/amethyst/model/LocalCache;
|
||||
SPLcom/vitorpamplona/amethyst/model/LocalCache;-><clinit>()V
|
||||
@@ -23187,119 +23187,119 @@ Lcom/vitorpamplona/amethyst/model/LocalCacheFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/LocalCacheFlow;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/LocalCacheFlow;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/LocalCacheFlow;->getNewEventBundles()Lkotlinx/coroutines/flow/SharedFlow;
|
||||
Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ProfileGalleryType;->$values()[Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ProfileGalleryType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/ProfileGalleryType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/model/ProfileGalleryType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ProfileGalleryType;->values()[Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;
|
||||
Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ThemeType;->$values()[Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ThemeType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/ThemeType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/model/ThemeType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/ThemeType;->values()[Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;-><init>(Lcom/vitorpamplona/amethyst/model/ThemeType;Ljava/lang/String;Lcom/vitorpamplona/amethyst/model/ConnectivityType;Lcom/vitorpamplona/amethyst/model/ConnectivityType;Lcom/vitorpamplona/amethyst/model/BooleanType;Lcom/vitorpamplona/amethyst/model/ConnectivityType;Lcom/vitorpamplona/amethyst/model/BooleanType;Lcom/vitorpamplona/amethyst/model/ConnectivityType;ZZLcom/vitorpamplona/amethyst/model/FeatureSetType;Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;Lcom/vitorpamplona/amethyst/model/BooleanType;Lcom/vitorpamplona/amethyst/model/BooleanType;Lcom/vitorpamplona/amethyst/model/BooleanType;ZZZZZZZZLcom/vitorpamplona/amethyst/model/BooleanType;Lcom/vitorpamplona/amethyst/model/AccentColorType;Lcom/vitorpamplona/amethyst/model/FontFamilyType;Lcom/vitorpamplona/amethyst/model/FontSizeType;Ljava/lang/String;Z)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->equals(Ljava/lang/Object;)Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAccentColor()Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyCreateDrafts()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyHideNavigationBars()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyPlayVideos()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyProposeAiImprovements()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyShowImages()Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyShowProfilePictures()Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyShowUrlPreview()Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getAutomaticallyStartPlayback()Lcom/vitorpamplona/amethyst/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getComposeSignature()Ljava/lang/String;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getDontAskForNotificationPermissions()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getDontShowOnchainPublicWarning()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getDontShowPushNotificationSelector()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getFeatureSet()Lcom/vitorpamplona/amethyst/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getFontFamily()Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getFontSize()Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getGallerySet()Lcom/vitorpamplona/amethyst/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getPreferredLanguage()Ljava/lang/String;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowHomeConversationsTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowHomeEverythingTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowHomeNewThreadsTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowOnchainWallet()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowProfileAppRecommendations()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowProfileBadges()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowProfileFollowersFeed()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getShowProfileZapReceivedFeed()Z
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getSuggestWorkoutsFromHealthConnect()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getTheme()Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings;->getUseTrackedBroadcasts()Lcom/vitorpamplona/amethyst/model/BooleanType;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda0;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda0;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda1;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda1;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda10;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda10;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda11;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda11;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda12;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda12;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda13;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda13;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda14;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda14;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda15;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda15;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda2;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda2;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda3;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda3;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda4;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda4;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda5;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda5;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda6;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda6;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda7;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda7;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda8;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda8;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda9;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$$ExternalSyntheticLambda9;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettings$Companion;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$Companion;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettings$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;-><init>(Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAccentColor()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAutomaticallyPlayVideos()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAutomaticallyShowImages()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAutomaticallyShowProfilePictures()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAutomaticallyShowUrlPreview()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getAutomaticallyStartPlayback()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getFontFamily()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getFontSize()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getPreferredLanguage()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getPropertyWatchFlow()Lkotlinx/coroutines/flow/Flow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->getTheme()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow;->toSettings()Lcom/vitorpamplona/amethyst/model/UiSettings;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$Companion;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$Companion;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$Companion;->build(Lcom/vitorpamplona/amethyst/model/UiSettings;)Lcom/vitorpamplona/amethyst/model/UiSettingsFlow;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1;-><init>([Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$1;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$1;-><init>(Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$2;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$2;-><init>([Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$2;->invoke()Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$2;->invoke()[Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$3;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$3;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$3;->invoke(Lkotlinx/coroutines/flow/FlowCollector;[Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/UiSettingsFlow$special$$inlined$combine$1$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;->values()[Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ThemeType;->$values()[Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ThemeType;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ThemeType;-><init>(Ljava/lang/String;III)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ThemeType;->valueOf(Ljava/lang/String;)Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/ThemeType;->values()[Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;-><init>(Lcom/vitorpamplona/amethyst/commons/model/ThemeType;Ljava/lang/String;Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;Lcom/vitorpamplona/amethyst/commons/model/BooleanType;Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;Lcom/vitorpamplona/amethyst/commons/model/BooleanType;Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;ZZLcom/vitorpamplona/amethyst/commons/model/FeatureSetType;Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;Lcom/vitorpamplona/amethyst/commons/model/BooleanType;Lcom/vitorpamplona/amethyst/commons/model/BooleanType;Lcom/vitorpamplona/amethyst/commons/model/BooleanType;ZZZZZZZZLcom/vitorpamplona/amethyst/commons/model/BooleanType;Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;Ljava/lang/String;Z)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->equals(Ljava/lang/Object;)Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAccentColor()Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyCreateDrafts()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyHideNavigationBars()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyPlayVideos()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyProposeAiImprovements()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyShowImages()Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyShowProfilePictures()Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyShowUrlPreview()Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getAutomaticallyStartPlayback()Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getComposeSignature()Ljava/lang/String;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getDontAskForNotificationPermissions()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getDontShowOnchainPublicWarning()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getDontShowPushNotificationSelector()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getFeatureSet()Lcom/vitorpamplona/amethyst/commons/model/FeatureSetType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getFontFamily()Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getFontSize()Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getGallerySet()Lcom/vitorpamplona/amethyst/commons/model/ProfileGalleryType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getPreferredLanguage()Ljava/lang/String;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowHomeConversationsTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowHomeEverythingTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowHomeNewThreadsTab()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowOnchainWallet()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowProfileAppRecommendations()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowProfileBadges()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowProfileFollowersFeed()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getShowProfileZapReceivedFeed()Z
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getSuggestWorkoutsFromHealthConnect()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getTheme()Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings;->getUseTrackedBroadcasts()Lcom/vitorpamplona/amethyst/commons/model/BooleanType;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda0;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda0;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda1;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda10;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda10;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda11;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda11;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda12;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda12;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda13;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda13;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda14;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda14;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda15;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda15;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda2;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda2;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda3;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda3;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda4;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda4;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda5;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda5;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda6;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda6;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda7;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda7;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda8;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda8;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda9;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$$ExternalSyntheticLambda9;-><init>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettings$Companion;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$Companion;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettings$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;-><init>(Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlinx/coroutines/flow/MutableStateFlow;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAccentColor()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAutomaticallyPlayVideos()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAutomaticallyShowImages()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAutomaticallyShowProfilePictures()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAutomaticallyShowUrlPreview()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getAutomaticallyStartPlayback()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getFontFamily()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getFontSize()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getPreferredLanguage()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getPropertyWatchFlow()Lkotlinx/coroutines/flow/Flow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->getTheme()Lkotlinx/coroutines/flow/MutableStateFlow;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;->toSettings()Lcom/vitorpamplona/amethyst/commons/model/UiSettings;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$Companion;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$Companion;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$Companion;->build(Lcom/vitorpamplona/amethyst/commons/model/UiSettings;)Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1;-><init>([Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$1;-><init>(Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$2;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$2;-><init>([Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$2;->invoke()Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$2;->invoke()[Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$3;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$3;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$3;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$3;->invoke(Lkotlinx/coroutines/flow/FlowCollector;[Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow$special$$inlined$combine$1$3;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/accountsCache/AccountCacheState;
|
||||
SPLcom/vitorpamplona/amethyst/model/accountsCache/AccountCacheState;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/accountsCache/AccountCacheState;-><init>(Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lcom/vitorpamplona/amethyst/model/LocalCache;Lcom/vitorpamplona/quartz/nip01Core/relay/client/INostrClient;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Lcom/vitorpamplona/amethyst/commons/connectedApps/signers/NostrSignerPermissionStore;Lcom/vitorpamplona/amethyst/commons/connectedApps/nip46/Nip46ClientStore;)V
|
||||
@@ -23460,7 +23460,7 @@ SPLcom/vitorpamplona/amethyst/model/preferences/UISharedPreferencesKt;-><clinit>
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UISharedPreferencesKt;->getSharedPreferencesDataStore(Landroid/content/Context;)Landroidx/datastore/core/DataStore;
|
||||
Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;-><init>(Lcom/vitorpamplona/amethyst/model/UiSettings;Landroid/content/Context;Lkotlinx/coroutines/CoroutineScope;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;-><init>(Lcom/vitorpamplona/amethyst/commons/model/UiSettings;Landroid/content/Context;Lkotlinx/coroutines/CoroutineScope;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->access$applyLanguage(Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->access$getUI_ACCENT_COLOR$cp()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->access$getUI_AUTOMATICALLY_CREATE_DRAFTS$cp()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
@@ -23493,7 +23493,7 @@ SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->access$get
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->access$getUI_USE_TRACKED_BROADCASTS$cp()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->applyLanguage(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->getContext()Landroid/content/Context;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->getValue()Lcom/vitorpamplona/amethyst/model/UiSettingsFlow;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;->getValue()Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;
|
||||
Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
@@ -23526,13 +23526,13 @@ SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->getUI_SUGGEST_WORKOUTS_FROM_HEALTH_CONNECT()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->getUI_THEME()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->getUI_USE_TRACKED_BROADCASTS()Landroidx/datastore/preferences/core/Preferences$Key;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->save(Lcom/vitorpamplona/amethyst/model/UiSettings;Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->save(Lcom/vitorpamplona/amethyst/commons/model/UiSettings;Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;->uiPreferences(Landroid/content/Context;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$1;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$1;-><init>(Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion;Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;-><init>(Lcom/vitorpamplona/amethyst/model/UiSettings;Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;-><init>(Lcom/vitorpamplona/amethyst/commons/model/UiSettings;Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;->invoke(Landroidx/datastore/preferences/core/MutablePreferences;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$Companion$save$2;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
@@ -23549,7 +23549,7 @@ SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$languageUpda
|
||||
Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;-><init>(Lcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences;Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;->create(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;->invoke(Lcom/vitorpamplona/amethyst/model/UiSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;->invoke(Lcom/vitorpamplona/amethyst/commons/model/UiSettings;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/model/preferences/UiSharedPreferences$saving$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/model/privacyOptions/IRoleBasedHttpClientBuilder;
|
||||
@@ -24832,49 +24832,49 @@ SPLcom/vitorpamplona/amethyst/ui/screen/ComposableSingletons$AccountScreenKt;->l
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/ComposableSingletons$AccountScreenKt$$ExternalSyntheticLambda0;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/ComposableSingletons$AccountScreenKt$$ExternalSyntheticLambda0;-><init>()V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/ComposableSingletons$AccountScreenKt$$ExternalSyntheticLambda0;->invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState;-><init>(Lcom/vitorpamplona/amethyst/model/UiSettingsFlow;Lkotlinx/coroutines/flow/StateFlow;Lkotlinx/coroutines/CoroutineScope;)V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1;->invoke(Lcom/vitorpamplona/amethyst/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showImages$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1;->invoke(Lcom/vitorpamplona/amethyst/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showProfilePictures$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1;->invoke(Lcom/vitorpamplona/amethyst/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$showUrlPreview$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1;-><init>(Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$1;-><init>(Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2;-><init>(Lkotlinx/coroutines/flow/FlowCollector;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2$1;-><init>(Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$special$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1;->invoke(Lcom/vitorpamplona/amethyst/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/UiSettingsState$startVideoPlayback$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState;-><init>(Lcom/vitorpamplona/amethyst/commons/model/UiSettingsFlow;Lkotlinx/coroutines/flow/StateFlow;Lkotlinx/coroutines/CoroutineScope;)V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1;->invoke(Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showImages$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1;->invoke(Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showProfilePictures$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1;->invoke(Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$showUrlPreview$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1;-><init>(Lkotlinx/coroutines/flow/Flow;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1;->collect(Lkotlinx/coroutines/flow/FlowCollector;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$1;-><init>(Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2;-><init>(Lkotlinx/coroutines/flow/FlowCollector;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2;->emit(Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2$1;-><init>(Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$special$$inlined$map$1$2;Lkotlin/coroutines/Continuation;)V
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1;-><init>(Lkotlin/coroutines/Continuation;)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1;->invoke(Lcom/vitorpamplona/amethyst/commons/model/ConnectivityType;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1$WhenMappings;
|
||||
SPLcom/vitorpamplona/amethyst/commons/state/UiSettingsState$startVideoPlayback$1$WhenMappings;-><clinit>()V
|
||||
Lcom/vitorpamplona/amethyst/ui/screen/loggedIn/apps/recommendations/datasource/ProfileAppRecommendationsFilterAssembler;
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/loggedIn/apps/recommendations/datasource/ProfileAppRecommendationsFilterAssembler;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/ui/screen/loggedIn/apps/recommendations/datasource/ProfileAppRecommendationsFilterAssembler;-><init>(Lcom/vitorpamplona/quartz/nip01Core/relay/client/INostrClient;)V
|
||||
@@ -25638,23 +25638,23 @@ Lcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->$r8$lambda$7JAdMf4levt4F3mr6nvsppu__xY(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)Lkotlin/Unit;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->$r8$lambda$GsT95FSXMVwriWjqAt3KW-oAPpo(Landroid/view/View;ZLandroidx/compose/material3/ColorScheme;)Lkotlin/Unit;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$0(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$1(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$0(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/commons/model/ThemeType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$1(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$10$0(Landroid/view/View;ZLandroidx/compose/material3/ColorScheme;)Lkotlin/Unit;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$2(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$3(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$2(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$3(Landroidx/compose/runtime/State;)Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$9$0(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)Lkotlin/Unit;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme$lambda$9(Landroidx/compose/ui/unit/Density;Landroidx/compose/ui/text/font/FontFamily;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)Lkotlin/Unit;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme(Lcom/vitorpamplona/amethyst/model/ThemeType;Lcom/vitorpamplona/amethyst/model/AccentColorType;Lcom/vitorpamplona/amethyst/model/FontFamilyType;Lcom/vitorpamplona/amethyst/model/FontSizeType;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme(Lcom/vitorpamplona/amethyst/commons/model/ThemeType;Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->AmethystTheme(Lkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;I)V
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->accentContainer-DxMtmZc(JZ)J
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->accentPrimary(Lcom/vitorpamplona/amethyst/model/AccentColorType;Z)J
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->accentSecondary(Lcom/vitorpamplona/amethyst/model/AccentColorType;Z)J
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->darkColors(Lcom/vitorpamplona/amethyst/model/AccentColorType;)Landroidx/compose/material3/ColorScheme;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->accentPrimary(Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;Z)J
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->accentSecondary(Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;Z)J
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->darkColors(Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;)Landroidx/compose/material3/ColorScheme;
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->getPlaceholderText(Landroidx/compose/material3/ColorScheme;)J
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->getTransparentBackground(Landroidx/compose/material3/ColorScheme;)J
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->isLight(Landroidx/compose/material3/ColorScheme;)Z
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->lightColors(Lcom/vitorpamplona/amethyst/model/AccentColorType;)Landroidx/compose/material3/ColorScheme;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->lightColors(Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;)Landroidx/compose/material3/ColorScheme;
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->onAccent-8_81llA(J)J
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/AmethystColorSchemeKt;->onAccentContainer-DxMtmZc(JZ)J
|
||||
Lcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda0;
|
||||
@@ -25669,7 +25669,7 @@ Lcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda3;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda3;-><init>(Landroid/view/View;ZLandroidx/compose/material3/ColorScheme;)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda3;->invoke()Ljava/lang/Object;
|
||||
Lcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda4;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda4;-><init>(Lcom/vitorpamplona/amethyst/model/ThemeType;Lcom/vitorpamplona/amethyst/model/AccentColorType;Lcom/vitorpamplona/amethyst/model/FontFamilyType;Lcom/vitorpamplona/amethyst/model/FontSizeType;Lkotlin/jvm/functions/Function2;II)V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$$ExternalSyntheticLambda4;-><init>(Lcom/vitorpamplona/amethyst/commons/model/ThemeType;Lcom/vitorpamplona/amethyst/commons/model/AccentColorType;Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;Lcom/vitorpamplona/amethyst/commons/model/FontSizeType;Lkotlin/jvm/functions/Function2;II)V
|
||||
Lcom/vitorpamplona/amethyst/ui/theme/ThemeKt$MarkDownStyleOnDark$1;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$MarkDownStyleOnDark$1;-><clinit>()V
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt$MarkDownStyleOnDark$1;-><init>()V
|
||||
@@ -25685,7 +25685,7 @@ SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt;->getDefaultParagraphSpaci
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt;->getFont14SP()J
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt;->getFont17SP()J
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt;->getTypography()Landroidx/compose/material3/Typography;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->toFontFamily(Lcom/vitorpamplona/amethyst/model/FontFamilyType;)Landroidx/compose/ui/text/font/FontFamily;
|
||||
SPLcom/vitorpamplona/amethyst/ui/theme/ThemeKt;->toFontFamily(Lcom/vitorpamplona/amethyst/commons/model/FontFamilyType;)Landroidx/compose/ui/text/font/FontFamily;
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt;->withFontFamily(Landroidx/compose/material3/Typography;Landroidx/compose/ui/text/font/FontFamily;)Landroidx/compose/material3/Typography;
|
||||
Lcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt$$ExternalSyntheticLambda0;
|
||||
SPLcom/vitorpamplona/amethyst/commons/ui/theme/TypeKt$$ExternalSyntheticLambda0;-><init>()V
|
||||
|
||||
@@ -28,6 +28,7 @@ import androidx.security.crypto.EncryptedSharedPreferences
|
||||
import coil3.disk.DiskCache
|
||||
import coil3.memory.MemoryCache
|
||||
import com.vitorpamplona.amethyst.commons.model.NoteState
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.nip03Timestamp.BitcoinExplorerEndpoint
|
||||
import com.vitorpamplona.amethyst.commons.model.nip03Timestamp.IncomingOtsEventVerifier
|
||||
@@ -55,11 +56,11 @@ import com.vitorpamplona.amethyst.commons.service.http.OnionLocationCache
|
||||
import com.vitorpamplona.amethyst.commons.service.lnurl.OkHttpLnurlEndpointResolver
|
||||
import com.vitorpamplona.amethyst.commons.service.pow.PoWPolicy
|
||||
import com.vitorpamplona.amethyst.commons.service.pow.PoWPublishQueue
|
||||
import com.vitorpamplona.amethyst.commons.state.UiSettingsState
|
||||
import com.vitorpamplona.amethyst.commons.tor.TorSettings
|
||||
import com.vitorpamplona.amethyst.connectedApps.DataStoreNostrSignerPermissionStore
|
||||
import com.vitorpamplona.amethyst.connectedApps.nip46.DataStoreNip46ClientStore
|
||||
import com.vitorpamplona.amethyst.model.Account
|
||||
import com.vitorpamplona.amethyst.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.model.accountsCache.AccountCacheState
|
||||
import com.vitorpamplona.amethyst.model.nip11RelayInfo.Nip11CachedRetriever
|
||||
import com.vitorpamplona.amethyst.model.preferences.BuzzAttestationPreferences
|
||||
@@ -132,7 +133,6 @@ import com.vitorpamplona.amethyst.service.uploads.nip95.Nip95CacheFactory
|
||||
import com.vitorpamplona.amethyst.ui.resourceCacheInit
|
||||
import com.vitorpamplona.amethyst.ui.screen.AccountSessionManager
|
||||
import com.vitorpamplona.amethyst.ui.screen.AccountState
|
||||
import com.vitorpamplona.amethyst.ui.screen.UiSettingsState
|
||||
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
||||
import com.vitorpamplona.amethyst.ui.tor.TorService
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Address
|
||||
|
||||
@@ -26,6 +26,7 @@ import android.content.SharedPreferences
|
||||
import androidx.compose.runtime.Immutable
|
||||
import androidx.core.content.edit
|
||||
import com.vitorpamplona.amethyst.commons.model.HomeFeedType
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.commons.model.chats.ChatFeedType
|
||||
import com.vitorpamplona.amethyst.commons.model.clink.ClinkDebitWalletEntry
|
||||
import com.vitorpamplona.amethyst.commons.model.concord.ConcordViewMode
|
||||
@@ -37,7 +38,6 @@ import com.vitorpamplona.amethyst.commons.model.nip47WalletConnect.NwcWalletEntr
|
||||
import com.vitorpamplona.amethyst.commons.model.topNavFeeds.TopFilter
|
||||
import com.vitorpamplona.amethyst.commons.relayauth.RelayAuthPolicy
|
||||
import com.vitorpamplona.amethyst.model.AccountSettings
|
||||
import com.vitorpamplona.amethyst.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.model.backups.BackupConflictStorage
|
||||
import com.vitorpamplona.amethyst.model.nip60Cashu.CashuPreferences
|
||||
import com.vitorpamplona.amethyst.service.checkNotInMainThread
|
||||
|
||||
@@ -27,8 +27,8 @@ import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
import com.vitorpamplona.amethyst.Amethyst
|
||||
import com.vitorpamplona.amethyst.commons.favorites.FavoriteApp
|
||||
import com.vitorpamplona.amethyst.commons.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.napplet.NappletLauncher
|
||||
import com.vitorpamplona.amethyst.napplet.NappletWebViewProfiles
|
||||
import com.vitorpamplona.amethyst.napplet.WebAppNetworkRegistry
|
||||
|
||||
+10
-10
@@ -34,16 +34,16 @@ import androidx.datastore.preferences.core.edit
|
||||
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
import androidx.datastore.preferences.preferencesDataStore
|
||||
import com.vitorpamplona.amethyst.LocalPreferences
|
||||
import com.vitorpamplona.amethyst.model.AccentColorType
|
||||
import com.vitorpamplona.amethyst.model.BooleanType
|
||||
import com.vitorpamplona.amethyst.model.ConnectivityType
|
||||
import com.vitorpamplona.amethyst.model.FeatureSetType
|
||||
import com.vitorpamplona.amethyst.model.FontFamilyType
|
||||
import com.vitorpamplona.amethyst.model.FontSizeType
|
||||
import com.vitorpamplona.amethyst.model.ProfileGalleryType
|
||||
import com.vitorpamplona.amethyst.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.model.UiSettingsFlow
|
||||
import com.vitorpamplona.amethyst.commons.model.AccentColorType
|
||||
import com.vitorpamplona.amethyst.commons.model.BooleanType
|
||||
import com.vitorpamplona.amethyst.commons.model.ConnectivityType
|
||||
import com.vitorpamplona.amethyst.commons.model.FeatureSetType
|
||||
import com.vitorpamplona.amethyst.commons.model.FontFamilyType
|
||||
import com.vitorpamplona.amethyst.commons.model.FontSizeType
|
||||
import com.vitorpamplona.amethyst.commons.model.ProfileGalleryType
|
||||
import com.vitorpamplona.amethyst.commons.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettings
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettingsFlow
|
||||
import com.vitorpamplona.quartz.utils.Log
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
||||
@@ -25,10 +25,10 @@ import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.os.Bundle
|
||||
import com.vitorpamplona.amethyst.Amethyst
|
||||
import com.vitorpamplona.amethyst.commons.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.napplet.NappletArtifactPolicy
|
||||
import com.vitorpamplona.amethyst.commons.napplet.NappletIdentity
|
||||
import com.vitorpamplona.amethyst.model.ThemeType
|
||||
import com.vitorpamplona.amethyst.napplethost.HostProfile
|
||||
import com.vitorpamplona.amethyst.napplethost.NappletHostActivity
|
||||
import com.vitorpamplona.amethyst.napplethost.NappletHostContract
|
||||
|
||||
+3
-4
@@ -27,6 +27,7 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import com.vitorpamplona.amethyst.commons.model.User
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.relayauth.AuthPurposeKind
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.relay_auth_purpose_my_inbox
|
||||
@@ -38,7 +39,6 @@ import com.vitorpamplona.amethyst.commons.resources.relay_auth_purpose_read_outb
|
||||
import com.vitorpamplona.amethyst.commons.resources.relay_auth_purpose_read_venue
|
||||
import com.vitorpamplona.amethyst.commons.resources.relay_auth_purpose_send_dm
|
||||
import com.vitorpamplona.amethyst.commons.resources.relay_auth_purpose_thread
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||
import org.jetbrains.compose.resources.StringResource
|
||||
|
||||
@@ -50,12 +50,11 @@ import org.jetbrains.compose.resources.StringResource
|
||||
@Composable
|
||||
internal fun LoadRelayAuthUser(
|
||||
pubkey: HexKey,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (User?) -> Unit,
|
||||
) {
|
||||
var user by remember(pubkey) { mutableStateOf(accountViewModel.getUserIfExists(pubkey)) }
|
||||
var user by remember(pubkey) { mutableStateOf(LocalCache.getUserIfExists(pubkey)) }
|
||||
if (user == null) {
|
||||
LaunchedEffect(pubkey) { user = accountViewModel.checkGetOrCreateUser(pubkey) }
|
||||
LaunchedEffect(pubkey) { user = LocalCache.checkGetOrCreateUser(pubkey) }
|
||||
}
|
||||
content(user)
|
||||
}
|
||||
|
||||
+10
-9
@@ -99,6 +99,7 @@ import com.vitorpamplona.amethyst.commons.resources.relay_auth_why_thread
|
||||
import com.vitorpamplona.amethyst.commons.resources.relay_auth_why_thread_with
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.pluralStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.RelayIconFilter
|
||||
import com.vitorpamplona.amethyst.model.nip11RelayInfo.loadRelayInfo
|
||||
@@ -404,8 +405,8 @@ private fun RelayHeader(
|
||||
contentDescription = null,
|
||||
colorFilter = RelayIconFilter,
|
||||
modifier = Modifier.size(34.dp).clip(MaterialTheme.shapes.small),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
Column {
|
||||
Text(
|
||||
@@ -466,7 +467,7 @@ private fun ReasonSentence(
|
||||
InlineTextContent(
|
||||
Placeholder(22.sp, 22.sp, PlaceholderVerticalAlign.TextCenter),
|
||||
) {
|
||||
LoadRelayAuthUser(face, accountViewModel) { user ->
|
||||
LoadRelayAuthUser(face) { user ->
|
||||
if (user != null) ClickableUserPicture(user, 20.dp, accountViewModel)
|
||||
}
|
||||
},
|
||||
@@ -602,9 +603,9 @@ private fun rememberCounterpartyName(
|
||||
pubkey: HexKey,
|
||||
accountViewModel: AccountViewModel,
|
||||
): String {
|
||||
var user by remember(pubkey) { mutableStateOf(accountViewModel.getUserIfExists(pubkey)) }
|
||||
var user by remember(pubkey) { mutableStateOf(LocalCache.getUserIfExists(pubkey)) }
|
||||
if (user == null) {
|
||||
LaunchedEffect(pubkey) { user = accountViewModel.checkGetOrCreateUser(pubkey) }
|
||||
LaunchedEffect(pubkey) { user = LocalCache.checkGetOrCreateUser(pubkey) }
|
||||
}
|
||||
val loaded = user ?: return stringRes(Res.string.relay_auth_someone_unloaded)
|
||||
val metadata by observeUserInfo(loaded, accountViewModel)
|
||||
@@ -649,11 +650,11 @@ private fun rememberVenueLabel(
|
||||
?: when {
|
||||
venueId.length == 64 ->
|
||||
if (kind == AuthPurposeKind.POST_VENUE) {
|
||||
accountViewModel.checkGetOrCreatePublicChatChannel(venueId)
|
||||
LocalCache.getOrCreatePublicChatChannel(venueId)
|
||||
} else {
|
||||
LocalCache.getPublicChatChannelIfExists(venueId)
|
||||
}
|
||||
venueId.startsWith("30311:") -> Address.parse(venueId)?.let { accountViewModel.checkGetOrCreateLiveActivityChannel(it) }
|
||||
venueId.startsWith("30311:") -> Address.parse(venueId)?.let { LocalCache.getOrCreateLiveChannel(it) }
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
@@ -702,9 +703,9 @@ private fun rememberDisplayName(
|
||||
pubkey: HexKey,
|
||||
accountViewModel: AccountViewModel,
|
||||
): String {
|
||||
var user by remember(pubkey) { mutableStateOf(accountViewModel.getUserIfExists(pubkey)) }
|
||||
var user by remember(pubkey) { mutableStateOf(LocalCache.getUserIfExists(pubkey)) }
|
||||
if (user == null) {
|
||||
LaunchedEffect(pubkey) { user = accountViewModel.checkGetOrCreateUser(pubkey) }
|
||||
LaunchedEffect(pubkey) { user = LocalCache.checkGetOrCreateUser(pubkey) }
|
||||
}
|
||||
val loaded = user ?: return stringRes(Res.string.relay_auth_someone_unloaded)
|
||||
// Reading the observed metadata registers a snapshot read, so the name updates when it arrives.
|
||||
|
||||
+2
-1
@@ -27,6 +27,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.commons.model.Channel
|
||||
import com.vitorpamplona.amethyst.commons.model.ChannelState
|
||||
import com.vitorpamplona.amethyst.commons.model.User
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.nip53LiveActivities.LiveActivitiesChannel
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
@@ -102,7 +103,7 @@ private fun channelToParticipatingUsers(
|
||||
val pKeys = channel.info?.participantKeys() ?: emptyList()
|
||||
|
||||
pKeys.forEach {
|
||||
val u = accountViewModel.checkGetOrCreateUser(it)
|
||||
val u = LocalCache.checkGetOrCreateUser(it)
|
||||
if (u != null) {
|
||||
users.add(u)
|
||||
}
|
||||
|
||||
@@ -45,12 +45,12 @@ import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.copy_stack_to_clipboard
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_button_ok
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ThrowableToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ThrowableToastMsg2
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.util.setText
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.Size16dp
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.StdHorzSpacer
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.ThrowableToastMsg
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.ThrowableToastMsg2
|
||||
import kotlinx.coroutines.launch
|
||||
import java.io.PrintWriter
|
||||
import java.io.StringWriter
|
||||
|
||||
+1
-1
@@ -38,9 +38,9 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.Amethyst
|
||||
import com.vitorpamplona.amethyst.commons.model.BooleanType
|
||||
import com.vitorpamplona.amethyst.commons.service.broadcast.BroadcastEvent
|
||||
import com.vitorpamplona.amethyst.commons.service.pow.PoWJobState
|
||||
import com.vitorpamplona.amethyst.model.BooleanType
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
|
||||
@@ -193,7 +193,7 @@ fun PeerAvatarCell(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.Center,
|
||||
) {
|
||||
LoadUser(baseUserHex = peerPubKey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = peerPubKey) { user ->
|
||||
if (user != null) {
|
||||
ClickableUserPicture(
|
||||
baseUser = user,
|
||||
@@ -235,7 +235,7 @@ fun GroupCallPictures(
|
||||
0 -> {}
|
||||
|
||||
1 -> {
|
||||
LoadUser(baseUserHex = userList[0], accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = userList[0]) { user ->
|
||||
if (user != null) {
|
||||
ClickableUserPicture(
|
||||
baseUser = user,
|
||||
@@ -350,7 +350,7 @@ fun GroupCallNames(
|
||||
0 -> {}
|
||||
|
||||
1 -> {
|
||||
LoadUser(baseUserHex = userList[0], accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = userList[0]) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
@@ -378,7 +378,7 @@ fun GroupCallNames(
|
||||
color = textColor,
|
||||
)
|
||||
}
|
||||
LoadUser(baseUserHex = userList[i], accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = userList[i]) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
||||
import com.vitorpamplona.amethyst.commons.model.ImmutableListOfLists
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.User
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.Route
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.routeFor
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
@@ -101,7 +102,7 @@ fun LoadOrCreateNote(
|
||||
content: @Composable (Note?) -> Unit,
|
||||
) {
|
||||
var note by
|
||||
remember(event.id) { mutableStateOf(accountViewModel.getNoteIfExists(event.id)) }
|
||||
remember(event.id) { mutableStateOf(LocalCache.getNoteIfExists(event.id)) }
|
||||
|
||||
if (note == null) {
|
||||
LaunchedEffect(key1 = event.id) {
|
||||
@@ -146,7 +147,7 @@ fun DisplayEvent(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(hex, accountViewModel) {
|
||||
LoadNote(hex) {
|
||||
if (it != null) {
|
||||
DisplayNoteLink(it, hex, additionalChars, accountViewModel, nav)
|
||||
} else {
|
||||
@@ -224,11 +225,11 @@ private fun DisplayAddress(
|
||||
return
|
||||
}
|
||||
|
||||
var noteBase by remember(nip19) { mutableStateOf(accountViewModel.getNoteIfExists(nip19.aTag())) }
|
||||
var noteBase by remember(nip19) { mutableStateOf(LocalCache.getNoteIfExists(nip19.aTag())) }
|
||||
|
||||
if (noteBase == null) {
|
||||
LaunchedEffect(key1 = nip19) {
|
||||
noteBase = accountViewModel.getOrCreateAddressableNote(nip19.address())
|
||||
noteBase = LocalCache.getOrCreateAddressableNote(nip19.address())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -271,13 +272,13 @@ fun DisplayUser(
|
||||
var userBase by
|
||||
remember(userHex) {
|
||||
mutableStateOf(
|
||||
accountViewModel.getUserIfExists(userHex),
|
||||
LocalCache.getUserIfExists(userHex),
|
||||
)
|
||||
}
|
||||
|
||||
if (userBase == null) {
|
||||
LaunchedEffect(key1 = userHex) {
|
||||
userBase = accountViewModel.checkGetOrCreateUser(userHex)
|
||||
userBase = LocalCache.checkGetOrCreateUser(userHex)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -51,6 +51,7 @@ import com.vitorpamplona.amethyst.commons.resources.concord_invite_card_join
|
||||
import com.vitorpamplona.amethyst.commons.resources.concord_invite_card_subtitle
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.quartz.concord.cord05Invites.CommunityInvite
|
||||
@@ -139,8 +140,8 @@ fun ConcordInvitePreviewRow(
|
||||
.size(52.dp)
|
||||
.clip(CircleShape)
|
||||
.border(1.5.dp, MaterialTheme.colorScheme.primary.copy(alpha = 0.35f), CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif = autoPlayGif,
|
||||
)
|
||||
Column(Modifier.weight(1f)) {
|
||||
|
||||
@@ -56,6 +56,7 @@ import com.vitorpamplona.amethyst.commons.resources.relay_group_open
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.pluralStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.relayGroup.LoadRelayGroupChannel
|
||||
@@ -86,7 +87,7 @@ fun RelayGroupCard(
|
||||
|
||||
val groupId = remember(invite) { invite.toGroupId() }
|
||||
|
||||
LoadRelayGroupChannel(groupId, accountViewModel) { channel ->
|
||||
LoadRelayGroupChannel(groupId) { channel ->
|
||||
RelayGroupCardContent(channel, invite.code, accountViewModel, nav)
|
||||
}
|
||||
}
|
||||
@@ -148,8 +149,8 @@ private fun RelayGroupCardContent(
|
||||
.size(52.dp)
|
||||
.clip(CircleShape)
|
||||
.border(1.5.dp, MaterialTheme.colorScheme.primary.copy(alpha = 0.35f), CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif = autoPlayGif,
|
||||
)
|
||||
|
||||
|
||||
+1
-1
@@ -57,6 +57,7 @@ import com.vitorpamplona.amethyst.commons.resources.no_wallet_found
|
||||
import com.vitorpamplona.amethyst.commons.resources.no_zap_amount_setup_long_press_to_change
|
||||
import com.vitorpamplona.amethyst.commons.resources.thank_you
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.CrossfadeIfEnabled
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ZapIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ZappedIcon
|
||||
@@ -67,7 +68,6 @@ import com.vitorpamplona.amethyst.commons.ui.theme.Size20Modifier
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.Size35dp
|
||||
import com.vitorpamplona.amethyst.service.ZapPaymentHandler
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinderFilterAssemblerSubscription
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.ui.note.ObserveZapIcon
|
||||
import com.vitorpamplona.amethyst.ui.note.ZapAmountChoicePopup
|
||||
import com.vitorpamplona.amethyst.ui.note.payViaIntent
|
||||
|
||||
@@ -862,7 +862,7 @@ fun TagLink(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(baseUserHex = word.hex, accountViewModel) {
|
||||
LoadUser(baseUserHex = word.hex) {
|
||||
if (it == null) {
|
||||
Text(text = word.segmentText)
|
||||
} else {
|
||||
@@ -879,15 +879,14 @@ fun TagLink(
|
||||
@Composable
|
||||
fun LoadNote(
|
||||
baseNoteHex: String,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (Note?) -> Unit,
|
||||
) {
|
||||
var note by
|
||||
remember(baseNoteHex) { mutableStateOf(accountViewModel.getNoteIfExists(baseNoteHex)) }
|
||||
remember(baseNoteHex) { mutableStateOf(LocalCache.getNoteIfExists(baseNoteHex)) }
|
||||
|
||||
if (note == null) {
|
||||
LaunchedEffect(key1 = baseNoteHex) {
|
||||
note = accountViewModel.checkGetOrCreateNote(baseNoteHex)
|
||||
note = LocalCache.checkGetOrCreateNote(baseNoteHex)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,7 +902,7 @@ fun TagLink(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(baseNoteHex = word.hex, accountViewModel) {
|
||||
LoadNote(baseNoteHex = word.hex) {
|
||||
if (it == null) {
|
||||
Text(text = remember { word.segmentText.toShortDisplay() })
|
||||
} else {
|
||||
|
||||
+10
-3
@@ -22,10 +22,16 @@ package com.vitorpamplona.amethyst.ui.components.toasts
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ActionableStringToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ResourceToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.StringToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ThrowableToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ThrowableToastMsg2
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ToastManager
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.MultiErrorToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.actions.InformationDialog
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.multiline.MultiErrorToastMsg
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.multiline.MultiUserErrorMessageDialog
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
|
||||
@@ -40,10 +46,11 @@ fun DisplayErrorMessages(
|
||||
openDialogMsg.value?.let { obj ->
|
||||
when (obj) {
|
||||
is ResourceToastMsg -> {
|
||||
if (obj.params != null) {
|
||||
val params = obj.params
|
||||
if (params != null) {
|
||||
InformationDialog(
|
||||
stringRes(obj.titleResId),
|
||||
stringRes(obj.resourceId, *obj.params),
|
||||
stringRes(obj.resourceId, *params),
|
||||
) {
|
||||
toastManager.clearToasts()
|
||||
}
|
||||
|
||||
+2
@@ -48,6 +48,8 @@ import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_talk_to_user
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_talk_to_user_name
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_zap_error
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.MultiErrorToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.EmptyNav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
|
||||
+1
@@ -34,6 +34,7 @@ import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_button_ok
|
||||
import com.vitorpamplona.amethyst.commons.resources.error_dialog_zap_error
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.MultiErrorToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.EmptyNav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
|
||||
+3
-2
@@ -42,6 +42,7 @@ import com.vitorpamplona.amethyst.commons.model.nip29RelayGroups.RelayGroupChann
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.concord_home_title
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.model.nip11RelayInfo.loadRelayInfo
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderFilterAssemblerSubscription
|
||||
@@ -279,8 +280,8 @@ fun GroupEntryAvatar(
|
||||
model = display.model,
|
||||
contentDescription = display.label,
|
||||
modifier = Modifier.size(size).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif = false,
|
||||
)
|
||||
}
|
||||
|
||||
+3
-2
@@ -75,6 +75,7 @@ import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncIma
|
||||
import com.vitorpamplona.amethyst.commons.ui.loadPluralStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.pluralStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.richtext.CreateTextWithEmoji
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.AccountPictureModifier
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.Size10dp
|
||||
@@ -238,8 +239,8 @@ private fun AccountPicture(
|
||||
model = userInfo?.info?.profilePicture(),
|
||||
contentDescription = stringRes(Res.string.profile_image),
|
||||
modifier = AccountPictureModifier,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
|
||||
+3
-2
@@ -121,6 +121,7 @@ import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncIma
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.EmptyNav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.richtext.CreateTextWithEmoji
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.DividerThickness
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.DoubleHorzSpacer
|
||||
@@ -315,8 +316,8 @@ fun ProfileContentTemplate(
|
||||
.clip(shape = CircleShape)
|
||||
.border(3.dp, MaterialTheme.colorScheme.onBackground, CircleShape)
|
||||
.clickable(onClick = onClick),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
|
||||
+3
-2
@@ -42,6 +42,7 @@ import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.topbars.ShorterTopAppBar
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ArrowBackIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.SearchIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.HeaderPictureModifier
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.Size22Modifier
|
||||
@@ -142,8 +143,8 @@ internal fun LoggedInUserPictureDrawer(
|
||||
contentDescription = stringRes(id = Res.string.your_profile_image),
|
||||
modifier = HeaderPictureModifier,
|
||||
contentScale = ContentScale.Crop,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
|
||||
@@ -34,6 +34,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.vitorpamplona.amethyst.Amethyst
|
||||
import com.vitorpamplona.amethyst.commons.model.AddressableNote
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.emphChat.EphemeralChatChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.nip03Timestamp.earliestOtsVerifiedTime
|
||||
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatChannel
|
||||
@@ -91,14 +92,13 @@ fun LoadDecryptedContentOrNull(
|
||||
@Composable
|
||||
fun LoadAddressableNote(
|
||||
address: Address,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (AddressableNote?) -> Unit,
|
||||
) {
|
||||
val note by produceState(
|
||||
accountViewModel.getAddressableNoteIfExists(address),
|
||||
LocalCache.getAddressableNoteIfExists(address),
|
||||
address,
|
||||
) {
|
||||
val newNote = accountViewModel.getOrCreateAddressableNote(address)
|
||||
val newNote = LocalCache.getOrCreateAddressableNote(address)
|
||||
if (newNote != value) {
|
||||
value = newNote
|
||||
}
|
||||
@@ -149,11 +149,10 @@ fun LoadOts(
|
||||
@Composable
|
||||
fun LoadPublicChatChannel(
|
||||
id: String,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (PublicChatChannel) -> Unit,
|
||||
) {
|
||||
val channel by produceStateIfNotNull(accountViewModel.getPublicChatChannelIfExists(id), id) {
|
||||
value = accountViewModel.checkGetOrCreatePublicChatChannel(id)
|
||||
val channel by produceStateIfNotNull(LocalCache.getPublicChatChannelIfExists(id), id) {
|
||||
value = LocalCache.getOrCreatePublicChatChannel(id)
|
||||
}
|
||||
|
||||
channel?.let { content(it) }
|
||||
@@ -162,12 +161,11 @@ fun LoadPublicChatChannel(
|
||||
@Composable
|
||||
fun LoadEphemeralChatChannel(
|
||||
id: RoomId,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (EphemeralChatChannel) -> Unit,
|
||||
) {
|
||||
val channel =
|
||||
produceStateIfNotNull(accountViewModel.getEphemeralChatChannelIfExists(id), id) {
|
||||
value = accountViewModel.checkGetOrCreateEphemeralChatChannel(id)
|
||||
produceStateIfNotNull(LocalCache.getEphemeralChatChannelIfExists(id), id) {
|
||||
value = LocalCache.getOrCreateEphemeralChannel(id)
|
||||
}
|
||||
|
||||
channel.value?.let { content(it) }
|
||||
@@ -176,12 +174,11 @@ fun LoadEphemeralChatChannel(
|
||||
@Composable
|
||||
fun LoadLiveActivityChannel(
|
||||
id: Address,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (LiveActivitiesChannel) -> Unit,
|
||||
) {
|
||||
val channel =
|
||||
produceStateIfNotNull(accountViewModel.getLiveActivityChannelIfExists(id), id) {
|
||||
value = accountViewModel.checkGetOrCreateLiveActivityChannel(id)
|
||||
produceStateIfNotNull(LocalCache.getLiveActivityChannelIfExists(id), id) {
|
||||
value = LocalCache.getOrCreateLiveChannel(id)
|
||||
}
|
||||
|
||||
channel.value?.let { content(it) }
|
||||
|
||||
@@ -87,6 +87,7 @@ import com.vitorpamplona.amethyst.commons.ui.note.RepostedIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ScoreTagSmall
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ZappedIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.richtext.InLineIconRenderer
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.BitcoinOrange
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.HalfTopPadding
|
||||
@@ -806,8 +807,8 @@ fun WatchUserMetadataAndFollowsAndRenderUserProfilePicture(
|
||||
contentDescription = stringRes(id = Res.string.profile_image),
|
||||
modifier = MaterialTheme.colorScheme.profile35dpModifier,
|
||||
contentScale = ContentScale.Crop,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif = autoPlayGif,
|
||||
)
|
||||
}
|
||||
|
||||
+3
-3
@@ -315,7 +315,7 @@ fun DisplayStatusInner(
|
||||
}
|
||||
|
||||
nostrATag != null -> {
|
||||
LoadAddressableNote(nostrATag, accountViewModel) { note ->
|
||||
LoadAddressableNote(nostrATag) { note ->
|
||||
if (note != null) {
|
||||
Spacer(modifier = StdHorzSpacer)
|
||||
IconButton(
|
||||
@@ -339,7 +339,7 @@ fun DisplayStatusInner(
|
||||
}
|
||||
|
||||
nostrETag != null -> {
|
||||
LoadNote(baseNoteHex = nostrETag.eventId, accountViewModel) {
|
||||
LoadNote(baseNoteHex = nostrETag.eventId) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = StdHorzSpacer)
|
||||
IconButton(
|
||||
@@ -363,7 +363,7 @@ fun DisplayStatusInner(
|
||||
}
|
||||
|
||||
nostrPTag != null -> {
|
||||
LoadUser(baseUserHex = nostrPTag, accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = nostrPTag) { user ->
|
||||
if (user != null) {
|
||||
Spacer(modifier = StdHorzSpacer)
|
||||
IconButton(
|
||||
|
||||
@@ -96,6 +96,7 @@ import com.vitorpamplona.amethyst.commons.ui.note.RenderCashuMint
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.RenderFedimint
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.RenderMintRecommendation
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.elements.StaleRelayHint
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.state.produceCachedStateAsync
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.DoubleVertSpacer
|
||||
@@ -922,7 +923,7 @@ private fun RenderApprovalIfNeeded(
|
||||
baseNote.event?.communityAddress()
|
||||
}
|
||||
communityAddress?.let {
|
||||
LoadAddressableNote(it, accountViewModel) { community ->
|
||||
LoadAddressableNote(it) { community ->
|
||||
if (community != null) {
|
||||
val showApproveButton by observeCommunityApprovalNeedStatus(baseNote, community, accountViewModel)
|
||||
if (showApproveButton == true) {
|
||||
@@ -2427,7 +2428,7 @@ fun RenderAuthorImages(
|
||||
if (noteEvent is ChannelMessageEvent) {
|
||||
val baseChannelHex = noteEvent.channelId()
|
||||
if (baseChannelHex != null) {
|
||||
LoadPublicChatChannel(baseChannelHex, accountViewModel) { channel ->
|
||||
LoadPublicChatChannel(baseChannelHex) { channel ->
|
||||
ChannelNotePicture(
|
||||
channel,
|
||||
accountViewModel,
|
||||
@@ -2449,8 +2450,8 @@ private fun ChannelNotePicture(
|
||||
model = model,
|
||||
contentDescription = stringRes(Res.string.group_picture),
|
||||
modifier = MaterialTheme.colorScheme.channelNotePictureModifier,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
|
||||
@@ -154,6 +154,7 @@ import com.vitorpamplona.amethyst.commons.ui.components.AnimatedBorderTextCorner
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.ClickableBox
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.CrossfadeIfEnabled
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.GenericLoadable
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.util.setText
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ChangeReactionIcon
|
||||
@@ -228,7 +229,6 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUse
|
||||
import com.vitorpamplona.amethyst.ui.actions.uploads.FloatingRecordingIndicator
|
||||
import com.vitorpamplona.amethyst.ui.actions.uploads.MAX_VOICE_RECORD_SECONDS
|
||||
import com.vitorpamplona.amethyst.ui.actions.uploads.RecordAudioBox
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.ui.navigation.routes.routeReplyTo
|
||||
import com.vitorpamplona.amethyst.ui.note.elements.ShareOptionsBottomSheet
|
||||
import com.vitorpamplona.amethyst.ui.note.types.EditState
|
||||
@@ -428,7 +428,7 @@ fun PayReaction(
|
||||
val authorPubkey = baseNote.author?.pubkeyHex ?: return
|
||||
val address = remember(authorPubkey) { PaymentTargetsEvent.createAddress(authorPubkey) }
|
||||
|
||||
LoadAddressableNote(address, accountViewModel) { note ->
|
||||
LoadAddressableNote(address) { note ->
|
||||
var expanded by remember { mutableStateOf(false) }
|
||||
|
||||
ClickableBox(
|
||||
|
||||
@@ -58,6 +58,7 @@ import com.vitorpamplona.amethyst.commons.ui.components.ClickableBox
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.util.setText
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.LargeRelayIconModifier
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.RelayIconFilter
|
||||
@@ -161,9 +162,9 @@ fun RenderRelay(
|
||||
RenderRelayIcon(
|
||||
displayUrl = relayInfo.id ?: relay.url,
|
||||
iconUrl = relayInfo.icon,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
pingInMs = 0,
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
iconModifier = iconModifier,
|
||||
)
|
||||
}
|
||||
|
||||
+1
-2
@@ -359,7 +359,6 @@ private fun EmojiSelector(
|
||||
) {
|
||||
LoadAddressableNote(
|
||||
accountViewModel.account.emoji.getEmojiPackSelectionAddress(),
|
||||
accountViewModel,
|
||||
) { emptyNote ->
|
||||
emptyNote?.let { usersEmojiList ->
|
||||
val collections by observeNoteEventAndMapNotNull(usersEmojiList, accountViewModel) { event: EmojiPackSelectionEvent ->
|
||||
@@ -387,7 +386,7 @@ fun EmojiCollectionGallery(
|
||||
state = listState,
|
||||
) {
|
||||
itemsIndexed(emojiCollections, key = { _, item -> item }) { _, item ->
|
||||
LoadAddressableNote(item, accountViewModel) {
|
||||
LoadAddressableNote(item) {
|
||||
it?.let { WatchAndRenderNote(it, bgColor, accountViewModel, nav, onClick) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ import com.vitorpamplona.amethyst.commons.ui.components.UserAvatar
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.FollowingIcon
|
||||
import com.vitorpamplona.amethyst.commons.ui.note.ScoreTag
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.ThemeComparisonColumn
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserContactCardsScore
|
||||
@@ -105,7 +106,7 @@ fun DisplayBlankAuthor(
|
||||
robot = "authornotfound",
|
||||
contentDescription = stringRes(Res.string.unknown_author),
|
||||
modifier = nullModifier,
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -117,7 +118,7 @@ fun UserPicture(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(baseUserHex = userHex, accountViewModel) {
|
||||
LoadUser(baseUserHex = userHex) {
|
||||
if (it != null) {
|
||||
UserPicture(
|
||||
user = it,
|
||||
@@ -241,7 +242,7 @@ fun NonClickableUserPictures(
|
||||
0 -> {}
|
||||
|
||||
1 -> {
|
||||
LoadUser(baseUserHex = userHexList.first(), accountViewModel) {
|
||||
LoadUser(baseUserHex = userHexList.first()) {
|
||||
it?.let { BaseUserPicture(it, size, accountViewModel, outerModifier = Modifier) }
|
||||
}
|
||||
}
|
||||
@@ -249,7 +250,7 @@ fun NonClickableUserPictures(
|
||||
2 -> {
|
||||
val userList = userHexList
|
||||
|
||||
LoadUser(baseUserHex = userList[0], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[0]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -259,7 +260,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[1], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[1]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -274,7 +275,7 @@ fun NonClickableUserPictures(
|
||||
3 -> {
|
||||
val userList = userHexList
|
||||
|
||||
LoadUser(baseUserHex = userList[0], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[0]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -284,7 +285,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[1], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[1]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -294,7 +295,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[2], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[2]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -309,7 +310,7 @@ fun NonClickableUserPictures(
|
||||
else -> {
|
||||
val userList = userHexList
|
||||
|
||||
LoadUser(baseUserHex = userList[0], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[0]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -319,7 +320,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[1], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[1]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -329,7 +330,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[2], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[2]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -339,7 +340,7 @@ fun NonClickableUserPictures(
|
||||
)
|
||||
}
|
||||
}
|
||||
LoadUser(baseUserHex = userList[3], accountViewModel) {
|
||||
LoadUser(baseUserHex = userList[3]) {
|
||||
it?.let {
|
||||
BaseUserPicture(
|
||||
it,
|
||||
@@ -370,7 +371,6 @@ fun BaseUserPicture(
|
||||
userName = userName,
|
||||
size = size,
|
||||
modifier = innerModifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -393,7 +393,7 @@ fun BaseUserPicture(
|
||||
outerModifier: Modifier = Modifier.size(size),
|
||||
) {
|
||||
Box(outerModifier, contentAlignment = Alignment.TopEnd) {
|
||||
LoadUser(baseUserHex, accountViewModel) {
|
||||
LoadUser(baseUserHex) {
|
||||
if (it != null) {
|
||||
ObserveAndDrawInnerUserPicture(it, size, accountViewModel, innerModifier)
|
||||
|
||||
@@ -405,7 +405,6 @@ fun BaseUserPicture(
|
||||
userName = null,
|
||||
size = size,
|
||||
modifier = innerModifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -433,7 +432,6 @@ fun ObserveAndDrawInnerUserPicture(
|
||||
userName = userProfile?.info?.bestName(),
|
||||
size = size,
|
||||
modifier = innerModifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -455,7 +453,6 @@ fun ScoreTag55Preview() {
|
||||
userName = PREVIEW_USER_NAME,
|
||||
size = size,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
FollowingIcon(Modifier.size(size.div(3.5f)))
|
||||
ScoreTag(100, size, Modifier.align(Alignment.BottomCenter))
|
||||
@@ -468,7 +465,6 @@ fun ScoreTag55Preview() {
|
||||
userName = PREVIEW_USER_NAME,
|
||||
size = size,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
FollowingIcon(Modifier.size(size.div(3.5f)))
|
||||
ScoreTag(100, size, Modifier.align(Alignment.BottomCenter))
|
||||
@@ -481,7 +477,6 @@ fun ScoreTag55Preview() {
|
||||
userName = PREVIEW_USER_NAME,
|
||||
size = size,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
FollowingIcon(Modifier.size(size.div(3.5f)))
|
||||
ScoreTag(100, size, Modifier.align(Alignment.BottomCenter))
|
||||
@@ -494,7 +489,6 @@ fun ScoreTag55Preview() {
|
||||
userName = PREVIEW_USER_NAME,
|
||||
size = size,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
FollowingIcon(Modifier.size(size.div(3.5f)))
|
||||
ScoreTag(100, size, Modifier.align(Alignment.BottomCenter))
|
||||
@@ -507,7 +501,6 @@ fun ScoreTag55Preview() {
|
||||
userName = PREVIEW_USER_NAME,
|
||||
size = size,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
FollowingIcon(Modifier.size(size.div(3.5f)))
|
||||
ScoreTag(100, size, Modifier.align(Alignment.BottomCenter))
|
||||
@@ -534,7 +527,6 @@ fun InnerUserPicture(
|
||||
userName: String?,
|
||||
size: Dp,
|
||||
modifier: Modifier,
|
||||
accountViewModel: AccountViewModel,
|
||||
) {
|
||||
UserAvatar(
|
||||
userHex = userHex,
|
||||
@@ -547,12 +539,6 @@ fun InnerUserPicture(
|
||||
} else {
|
||||
stringRes(id = Res.string.profile_image)
|
||||
},
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
.value,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ import com.vitorpamplona.amethyst.commons.resources.zap_type_private
|
||||
import com.vitorpamplona.amethyst.commons.resources.zap_type_private_explainer
|
||||
import com.vitorpamplona.amethyst.commons.resources.zap_type_public
|
||||
import com.vitorpamplona.amethyst.commons.resources.zap_type_public_explainer
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.commons.ui.insets.imePaddingSafe
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.topbars.TopBarWithBackButton
|
||||
@@ -113,7 +114,6 @@ import com.vitorpamplona.amethyst.commons.ui.theme.ZeroPadding
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.placeholderText
|
||||
import com.vitorpamplona.amethyst.model.Account
|
||||
import com.vitorpamplona.amethyst.service.ZapPaymentHandler
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.multiline.UserBasedErrorMessage
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.wallet.OnchainZapSendDialog
|
||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||
|
||||
@@ -89,6 +89,7 @@ import com.vitorpamplona.amethyst.commons.resources.poll_is_closed_explainer
|
||||
import com.vitorpamplona.amethyst.commons.resources.poll_unable_to_vote
|
||||
import com.vitorpamplona.amethyst.commons.resources.read_only_user
|
||||
import com.vitorpamplona.amethyst.commons.resources.zaps
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.StringToastMsg
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.EmptyNav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
@@ -107,7 +108,6 @@ import com.vitorpamplona.amethyst.commons.ui.theme.subtleBorder
|
||||
import com.vitorpamplona.amethyst.service.ZapPaymentHandler
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.observeNoteZaps
|
||||
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.StringToastMsg
|
||||
import com.vitorpamplona.amethyst.ui.navigation.routes.routeToMessage
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
|
||||
|
||||
+1
-2
@@ -34,7 +34,6 @@ import kotlinx.collections.immutable.toImmutableList
|
||||
fun WatchAndLoadMyEmojiList(accountViewModel: AccountViewModel) {
|
||||
LoadAddressableNote(
|
||||
EmojiPackSelectionEvent.createAddress(accountViewModel.userProfile().pubkeyHex),
|
||||
accountViewModel,
|
||||
) { emptyNote ->
|
||||
emptyNote?.let { usersEmojiList ->
|
||||
val collections by observeNoteEventAndMapNotNull(usersEmojiList, accountViewModel) { event: EmojiPackSelectionEvent ->
|
||||
@@ -42,7 +41,7 @@ fun WatchAndLoadMyEmojiList(accountViewModel: AccountViewModel) {
|
||||
}
|
||||
|
||||
collections?.forEach { address ->
|
||||
LoadAddressableNote(address, accountViewModel) { note ->
|
||||
LoadAddressableNote(address) { note ->
|
||||
if (note != null) {
|
||||
EventFinderFilterAssemblerSubscription(note, accountViewModel)
|
||||
}
|
||||
|
||||
+1
-1
@@ -244,7 +244,7 @@ private fun OfferRecipientRow(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(baseUserHex = pubKey, accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = pubKey) { user ->
|
||||
if (user != null) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
|
||||
-1
@@ -106,7 +106,6 @@ fun ObserveRelayListForDMs(
|
||||
) {
|
||||
LoadAddressableNote(
|
||||
ChatMessageRelayListEvent.createAddress(pubkey),
|
||||
accountViewModel,
|
||||
) { relayList ->
|
||||
if (relayList != null) {
|
||||
val relayListEvent by observeNoteEvent<ChatMessageRelayListEvent>(relayList, accountViewModel)
|
||||
|
||||
@@ -49,13 +49,13 @@ fun ShowForkInformation(
|
||||
val forkedAddress = remember(noteEvent) { noteEvent.forkFromAddress() }
|
||||
val forkedEvent = remember(noteEvent) { noteEvent.forkFromVersion() }
|
||||
if (forkedAddress != null) {
|
||||
LoadAddressableNote(forkedAddress, accountViewModel) { addressableNote ->
|
||||
LoadAddressableNote(forkedAddress) { addressableNote ->
|
||||
if (addressableNote != null) {
|
||||
ForkMark(addressableNote, modifier, accountViewModel, nav)
|
||||
}
|
||||
}
|
||||
} else if (forkedEvent != null) {
|
||||
LoadNote(forkedEvent, accountViewModel) { event ->
|
||||
LoadNote(forkedEvent) { event ->
|
||||
if (event != null) {
|
||||
ForkMark(event, modifier, accountViewModel, nav)
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,12 +29,12 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.vitorpamplona.amethyst.commons.model.FeatureSetType
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.GenericLoadable
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.EmptyNav
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.ThemeComparisonColumn
|
||||
import com.vitorpamplona.amethyst.model.FeatureSetType
|
||||
import com.vitorpamplona.amethyst.service.location.CachedReversedGeoLocations
|
||||
import com.vitorpamplona.amethyst.ui.note.FirstUserInfoRow
|
||||
import com.vitorpamplona.amethyst.ui.note.types.EditState
|
||||
|
||||
+1
-1
@@ -721,7 +721,7 @@ open class CommentPostViewModel :
|
||||
if (replyingToEvent is CommunityDefinitionEvent) {
|
||||
replyingToEvent.moderatorKeys().mapNotNull {
|
||||
if (it != replyingToEvent.pubKey) {
|
||||
accountViewModel.checkGetOrCreateUser(it)?.toPTag()
|
||||
LocalCache.checkGetOrCreateUser(it)?.toPTag()
|
||||
} else {
|
||||
null
|
||||
}
|
||||
|
||||
+4
-3
@@ -65,6 +65,7 @@ import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.vitorpamplona.amethyst.commons.icons.symbols.Icon
|
||||
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
|
||||
import com.vitorpamplona.amethyst.commons.model.AddressableNote
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.composer.AudienceSelection
|
||||
import com.vitorpamplona.amethyst.commons.nip30CustomEmojis.ui.ShowEmojiSuggestionList
|
||||
import com.vitorpamplona.amethyst.commons.relayClient.communities.CommunityFilterAssemblerSubscription
|
||||
@@ -149,13 +150,13 @@ fun ReplyCommentPostScreen(
|
||||
val context = LocalContext.current
|
||||
|
||||
LaunchedEffect(postViewModel, accountViewModel) {
|
||||
replyId?.let { accountViewModel.getNoteIfExists(it) }?.let {
|
||||
replyId?.let { LocalCache.getNoteIfExists(it) }?.let {
|
||||
postViewModel.reply(it)
|
||||
}
|
||||
draftId?.let { accountViewModel.getNoteIfExists(it) }?.let {
|
||||
draftId?.let { LocalCache.getNoteIfExists(it) }?.let {
|
||||
postViewModel.editFromDraft(it)
|
||||
}
|
||||
quoteId?.let { accountViewModel.getNoteIfExists(it) }?.let {
|
||||
quoteId?.let { LocalCache.getNoteIfExists(it) }?.let {
|
||||
postViewModel.quote(it)
|
||||
}
|
||||
message?.ifBlank { null }?.let {
|
||||
|
||||
+2
-2
@@ -123,7 +123,7 @@ fun ShareNoteAsImageScreen(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(id, accountViewModel) { note ->
|
||||
LoadNote(id) { note ->
|
||||
if (note != null) {
|
||||
ShareNoteAsImageScreen(note, accountViewModel, nav)
|
||||
}
|
||||
@@ -142,7 +142,7 @@ fun ShareNoteAsImageFileScreen(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(id, accountViewModel) { note ->
|
||||
LoadNote(id) { note ->
|
||||
if (note != null) {
|
||||
ShareNoteAsImageFileScreen(note, accountViewModel, nav)
|
||||
}
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ fun ShareNoteAsQrScreen(
|
||||
Scaffold(
|
||||
topBar = { TopBarWithBackButton(stringRes(Res.string.share_as_qr), nav) },
|
||||
) { pad ->
|
||||
LoadNote(id, accountViewModel) { note ->
|
||||
LoadNote(id) { note ->
|
||||
if (note != null) {
|
||||
ShareNoteAsQrScreenContent(note, accountViewModel, nav, pad)
|
||||
}
|
||||
|
||||
@@ -585,7 +585,7 @@ private fun RelatedEventRow(
|
||||
val address = remember(aTag) { Address(aTag.kind, aTag.pubKeyHex, aTag.dTag) }
|
||||
val shape = RoundedCornerShape(8.dp)
|
||||
|
||||
LoadAddressableNote(address, accountViewModel) { note ->
|
||||
LoadAddressableNote(address) { note ->
|
||||
if (note == null) return@LoadAddressableNote
|
||||
|
||||
val noteState by observeNote(note, accountViewModel)
|
||||
@@ -709,7 +709,7 @@ fun ByAuthorChip(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(baseUserHex = authorHex, accountViewModel = accountViewModel) { author ->
|
||||
LoadUser(baseUserHex = authorHex) { author ->
|
||||
if (author == null) return@LoadUser
|
||||
|
||||
Surface(
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ fun RenderAppRecommendation(
|
||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||
) {
|
||||
recommendations.forEach { recommendation ->
|
||||
LoadAddressableNote(recommendation.address, accountViewModel) { appNote ->
|
||||
LoadAddressableNote(recommendation.address) { appNote ->
|
||||
appNote?.let {
|
||||
if (it.event == null) {
|
||||
EventFinderFilterAssemblerSubscription(it, accountViewModel)
|
||||
|
||||
@@ -221,7 +221,7 @@ fun RenderAttestation(
|
||||
|
||||
if (quotesLeft > 0) {
|
||||
if (aboutAddress != null) {
|
||||
LoadAddressableNote(aboutAddress, accountViewModel) {
|
||||
LoadAddressableNote(aboutAddress) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
NoteCompose(
|
||||
@@ -238,7 +238,7 @@ fun RenderAttestation(
|
||||
}
|
||||
}
|
||||
} else if (aboutEvent != null) {
|
||||
LoadNote(aboutEvent, accountViewModel) {
|
||||
LoadNote(aboutEvent) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
NoteCompose(
|
||||
@@ -345,7 +345,7 @@ fun RenderAttestationRequest(
|
||||
if (quotesLeft > 0) {
|
||||
when {
|
||||
aboutAddress != null -> {
|
||||
LoadAddressableNote(aboutAddress, accountViewModel) {
|
||||
LoadAddressableNote(aboutAddress) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
Text(
|
||||
@@ -369,7 +369,7 @@ fun RenderAttestationRequest(
|
||||
}
|
||||
|
||||
aboutEvent != null -> {
|
||||
LoadNote(aboutEvent, accountViewModel) {
|
||||
LoadNote(aboutEvent) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
Text(
|
||||
@@ -393,7 +393,7 @@ fun RenderAttestationRequest(
|
||||
}
|
||||
|
||||
aboutPubkey != null -> {
|
||||
LoadUser(aboutPubkey, accountViewModel) {
|
||||
LoadUser(aboutPubkey) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
Text(
|
||||
@@ -458,7 +458,7 @@ fun RenderAttestorRecommendation(
|
||||
)
|
||||
}
|
||||
|
||||
LoadUser(aboutPubKey, accountViewModel) {
|
||||
LoadUser(aboutPubKey) {
|
||||
if (it != null) {
|
||||
Spacer(modifier = DoubleVertSpacer)
|
||||
UserCompose(it, accountViewModel = accountViewModel, nav = nav)
|
||||
|
||||
@@ -315,8 +315,8 @@ fun AcceptBadgeControls(
|
||||
val amAwardee = remember(award, myPubkey) { award.awardeeIds().contains(myPubkey) }
|
||||
if (!amAwardee) return
|
||||
|
||||
val newNote = accountViewModel.getOrCreateAddressableNote(ProfileBadgesEvent.createAddress(myPubkey))
|
||||
val oldNote = accountViewModel.getOrCreateAddressableNote(AcceptedBadgeSetEvent.createAddress(myPubkey))
|
||||
val newNote = LocalCache.getOrCreateAddressableNote(ProfileBadgesEvent.createAddress(myPubkey))
|
||||
val oldNote = LocalCache.getOrCreateAddressableNote(AcceptedBadgeSetEvent.createAddress(myPubkey))
|
||||
|
||||
val newState by newNote
|
||||
.flow()
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ private fun LoadAppointmentBehind(
|
||||
) {
|
||||
val address = remember(event) { event.calendarEventAddress() } ?: return
|
||||
|
||||
LoadAddressableNote(address, accountViewModel) { appointment ->
|
||||
LoadAddressableNote(address) { appointment ->
|
||||
if (appointment != null) {
|
||||
EventFinderFilterAssemblerSubscription(appointment, accountViewModel)
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ fun RenderChessGame(
|
||||
ChessGameViewer(
|
||||
pgnContent = event.pgn(),
|
||||
playerContent = { playerHex ->
|
||||
LoadUser(playerHex, accountViewModel) { user ->
|
||||
LoadUser(playerHex) { user ->
|
||||
if (user != null) {
|
||||
UserChip(user = user, accountViewModel = accountViewModel, nav = nav)
|
||||
} else {
|
||||
@@ -196,7 +196,7 @@ fun RenderLiveChessChallenge(
|
||||
fontWeight = FontWeight.Bold,
|
||||
)
|
||||
event.opponentPubkey()?.let { opponentHex ->
|
||||
LoadUser(opponentHex, accountViewModel) { user ->
|
||||
LoadUser(opponentHex) { user ->
|
||||
if (user != null) {
|
||||
UserChip(user = user, accountViewModel = accountViewModel, nav = nav)
|
||||
}
|
||||
@@ -313,7 +313,7 @@ fun RenderLiveChessGameEnd(
|
||||
)
|
||||
|
||||
event.opponentPubkey()?.let { opponentHex ->
|
||||
LoadUser(opponentHex, accountViewModel) { user ->
|
||||
LoadUser(opponentHex) { user ->
|
||||
if (user != null) {
|
||||
UserChip(user = user, accountViewModel = accountViewModel, nav = nav)
|
||||
}
|
||||
@@ -340,7 +340,7 @@ fun RenderLiveChessGameEnd(
|
||||
ChessGameViewer(
|
||||
pgnContent = pgn,
|
||||
playerContent = { playerHex ->
|
||||
LoadUser(playerHex, accountViewModel) { user ->
|
||||
LoadUser(playerHex) { user ->
|
||||
if (user != null) {
|
||||
UserChip(user = user, accountViewModel = accountViewModel, nav = nav)
|
||||
} else {
|
||||
|
||||
@@ -79,6 +79,7 @@ import com.vitorpamplona.amethyst.commons.resources.quick_action_share
|
||||
import com.vitorpamplona.amethyst.commons.resources.quick_action_share_browser_link
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.ButtonBorder
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.ButtonPadding
|
||||
@@ -338,8 +339,8 @@ fun ShortCommunityHeader(
|
||||
contentDescription = stringRes(Res.string.profile_image),
|
||||
contentScale = ContentScale.Crop,
|
||||
modifier = HeaderPictureModifier,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
@@ -393,8 +394,8 @@ fun ShortCommunityHeaderNoActions(
|
||||
contentDescription = stringRes(Res.string.profile_image),
|
||||
contentScale = ContentScale.Crop,
|
||||
modifier = HeaderPictureModifier,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif =
|
||||
accountViewModel.settings.autoPlayVideosFlow
|
||||
.collectAsStateWithLifecycle()
|
||||
|
||||
@@ -182,7 +182,6 @@ private fun EmojiListOptions(
|
||||
) {
|
||||
LoadAddressableNote(
|
||||
accountViewModel.account.emoji.getEmojiPackSelectionAddress(),
|
||||
accountViewModel,
|
||||
) {
|
||||
it?.let { usersEmojiList ->
|
||||
val hasAddedThis by observeNoteAndMap(usersEmojiList, accountViewModel) {
|
||||
|
||||
@@ -127,7 +127,7 @@ fun RenderEntityRating(
|
||||
|
||||
Column(Modifier.fillMaxWidth()) {
|
||||
if (targetAddress != null) {
|
||||
LoadAddressableNote(targetAddress, accountViewModel) { targetNote ->
|
||||
LoadAddressableNote(targetAddress) { targetNote ->
|
||||
targetNote?.let {
|
||||
RatedPublicationCard(
|
||||
targetNote = it,
|
||||
@@ -142,7 +142,7 @@ fun RenderEntityRating(
|
||||
// The spec's default mark is `event`, and such a rating names its target by event id
|
||||
// rather than by coordinate. Without this the card printed the raw 64-hex id as its
|
||||
// title, which tells a reader nothing about what was rated.
|
||||
LoadNote(targetEventId, accountViewModel) { targetNote ->
|
||||
LoadNote(targetEventId) { targetNote ->
|
||||
if (targetNote != null) {
|
||||
RatedNoteCard(targetNote, mark, accountViewModel, nav)
|
||||
} else {
|
||||
|
||||
@@ -50,7 +50,7 @@ fun FileStorageHeaderDisplay(
|
||||
val eventHeader = (baseNote.event as? FileStorageHeaderEvent) ?: return
|
||||
val dataEventId = eventHeader.dataEventId() ?: return
|
||||
|
||||
LoadNote(baseNoteHex = dataEventId, accountViewModel) { contentNote ->
|
||||
LoadNote(baseNoteHex = dataEventId) { contentNote ->
|
||||
if (contentNote != null) {
|
||||
ObserverAndRenderNIP95(baseNote, contentNote, roundedCorner, contentScale, accountViewModel)
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ fun RenderGeocacheFoundLog(
|
||||
|
||||
// Loaded even for an unverified log: the cache's name is what tells a reader in a feed what
|
||||
// was actually found, and "Found it!" on its own says nothing.
|
||||
LoadAddressableNote(address, accountViewModel) { cacheNote ->
|
||||
LoadAddressableNote(address) { cacheNote ->
|
||||
if (cacheNote == null) {
|
||||
GeocacheFoundLogCard(noteEvent, showImages, if (hasProof) FoundLogProof.UNKNOWN else FoundLogProof.NONE)
|
||||
} else {
|
||||
|
||||
@@ -451,7 +451,7 @@ private fun RenderGitPatchEvent(
|
||||
val repository = remember(noteEvent) { noteEvent.repositoryAddress() }
|
||||
if (repository != null) {
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
LoadAddressableNote(repository, accountViewModel) {
|
||||
LoadAddressableNote(repository) {
|
||||
if (it != null) {
|
||||
RenderShortRepositoryHeader(it, accountViewModel, nav)
|
||||
}
|
||||
@@ -550,7 +550,7 @@ private fun RenderGitIssueEvent(
|
||||
val repository = remember(noteEvent) { noteEvent.repositoryAddress() }
|
||||
if (repository != null) {
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
LoadAddressableNote(repository, accountViewModel) {
|
||||
LoadAddressableNote(repository) {
|
||||
if (it != null) {
|
||||
RenderShortRepositoryHeader(it, accountViewModel, nav)
|
||||
}
|
||||
@@ -610,7 +610,7 @@ private fun RenderGitPullRequestEvent(
|
||||
GitCardContainer {
|
||||
val repository = remember(noteEvent) { noteEvent.repositoryAddress() }
|
||||
if (repository != null) {
|
||||
LoadAddressableNote(repository, accountViewModel) {
|
||||
LoadAddressableNote(repository) {
|
||||
if (it != null) {
|
||||
RenderShortRepositoryHeader(it, accountViewModel, nav)
|
||||
}
|
||||
@@ -751,7 +751,7 @@ private fun RenderGitPullRequestUpdateEvent(
|
||||
val repository = remember(noteEvent) { noteEvent.repositoryAddress() }
|
||||
if (repository != null) {
|
||||
Spacer(modifier = StdVertSpacer)
|
||||
LoadAddressableNote(repository, accountViewModel) {
|
||||
LoadAddressableNote(repository) {
|
||||
if (it != null) {
|
||||
RenderShortRepositoryHeader(it, accountViewModel, nav)
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
||||
import com.vitorpamplona.amethyst.commons.model.ImmutableListOfLists
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.User
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.highlights.HighlightQuote
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.routeFor
|
||||
import com.vitorpamplona.amethyst.commons.model.toImmutableListOfLists
|
||||
@@ -308,23 +309,23 @@ private fun DisplayQuoteAuthor(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
var userBase by remember { mutableStateOf(authorHex?.let { accountViewModel.getUserIfExists(it) }) }
|
||||
var userBase by remember { mutableStateOf(authorHex?.let { LocalCache.getUserIfExists(it) }) }
|
||||
|
||||
if (userBase == null && authorHex != null) {
|
||||
LaunchedEffect(authorHex) {
|
||||
userBase = accountViewModel.checkGetOrCreateUser(authorHex)
|
||||
userBase = LocalCache.checkGetOrCreateUser(authorHex)
|
||||
}
|
||||
}
|
||||
|
||||
var addressable by remember {
|
||||
mutableStateOf(postAddress?.let { accountViewModel.getAddressableNoteIfExists(it) })
|
||||
mutableStateOf(postAddress?.let { LocalCache.getAddressableNoteIfExists(it) })
|
||||
}
|
||||
|
||||
if (addressable == null && postAddress != null) {
|
||||
LaunchedEffect(key1 = postAddress) {
|
||||
val newNote =
|
||||
withContext(Dispatchers.IO) {
|
||||
accountViewModel.getOrCreateAddressableNote(postAddress)
|
||||
LocalCache.getOrCreateAddressableNote(postAddress)
|
||||
}
|
||||
if (addressable != newNote) {
|
||||
addressable = newNote
|
||||
@@ -333,14 +334,14 @@ private fun DisplayQuoteAuthor(
|
||||
}
|
||||
|
||||
var version by remember {
|
||||
mutableStateOf(postVersion?.let { accountViewModel.getNoteIfExists(it.eventId) })
|
||||
mutableStateOf(postVersion?.let { LocalCache.getNoteIfExists(it.eventId) })
|
||||
}
|
||||
|
||||
if (version == null && postVersion != null) {
|
||||
LaunchedEffect(key1 = postVersion) {
|
||||
val newNote =
|
||||
withContext(Dispatchers.IO) {
|
||||
accountViewModel.getOrCreateNote(postVersion.eventId)
|
||||
LocalCache.getOrCreateNote(postVersion.eventId)
|
||||
}
|
||||
if (version != newNote) {
|
||||
version = newNote
|
||||
|
||||
@@ -79,7 +79,7 @@ fun RenderInteractiveStory(
|
||||
val currentScene = readingState?.currentScene()
|
||||
|
||||
if (currentScene != null && currentScene != rootEvent.address()) {
|
||||
LoadAddressableNote(currentScene, accountViewModel) { currentSceneBaseNote ->
|
||||
LoadAddressableNote(currentScene) { currentSceneBaseNote ->
|
||||
currentSceneBaseNote?.let {
|
||||
val currentSceneEvent by observeNoteEvent<InteractiveStoryBaseEvent>(it, accountViewModel)
|
||||
|
||||
@@ -168,7 +168,7 @@ fun RenderInteractiveStory(
|
||||
if (options.isNotEmpty()) {
|
||||
Column(Modifier.padding(top = 10.dp)) {
|
||||
options.forEach { opt ->
|
||||
LoadAddressableNote(opt.address, accountViewModel) { note ->
|
||||
LoadAddressableNote(opt.address) { note ->
|
||||
if (note != null) {
|
||||
EventFinderFilterAssemblerSubscription(note, accountViewModel)
|
||||
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ fun RenderLiveActivityChatMessage(
|
||||
}
|
||||
|
||||
showChannelInfo?.let {
|
||||
LoadLiveActivityChannel(it, accountViewModel) {
|
||||
LoadLiveActivityChannel(it) {
|
||||
LiveActivitiesChannelHeader(
|
||||
baseChannel = it,
|
||||
showVideo = false,
|
||||
|
||||
@@ -340,7 +340,6 @@ private fun ParentMeetingSpaceLink(
|
||||
|
||||
com.vitorpamplona.amethyst.ui.note.LoadAddressableNote(
|
||||
address = spaceAddress,
|
||||
accountViewModel = accountViewModel,
|
||||
) { spaceNote ->
|
||||
spaceNote ?: return@LoadAddressableNote
|
||||
val spaceEvent = spaceNote.event as? MeetingSpaceEvent
|
||||
|
||||
@@ -260,7 +260,7 @@ fun MusicPlaylistHeader(
|
||||
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.06f),
|
||||
)
|
||||
}
|
||||
LoadAddressableNote(address, accountViewModel) { trackNote ->
|
||||
LoadAddressableNote(address) { trackNote ->
|
||||
if (trackNote != null) {
|
||||
PlaylistTrackRow(
|
||||
position = index + 1,
|
||||
@@ -678,7 +678,7 @@ private fun RenderMusicPlaylistPreview() {
|
||||
}
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let {
|
||||
RenderMusicPlaylist(
|
||||
note = it,
|
||||
@@ -710,7 +710,7 @@ private fun RenderMusicPlaylistCollaborativePrivatePreview() {
|
||||
remember(event) { runBlocking { withContext(Dispatchers.IO) { LocalCache.justConsume(event, null, true) } } }
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let {
|
||||
RenderMusicPlaylist(
|
||||
note = it,
|
||||
@@ -740,7 +740,7 @@ private fun MusicPlaylistCoverPreview() {
|
||||
remember(event) { runBlocking { withContext(Dispatchers.IO) { LocalCache.justConsume(event, null, true) } } }
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let {
|
||||
MusicPlaylistCover(
|
||||
image = null,
|
||||
|
||||
@@ -517,7 +517,7 @@ private fun RenderMusicTrackPreview() {
|
||||
remember(event) { runBlocking { withContext(Dispatchers.IO) { LocalCache.justConsume(event, null, true) } } }
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let {
|
||||
RenderMusicTrack(
|
||||
note = it,
|
||||
@@ -549,7 +549,7 @@ private fun RenderMusicTrackExplicitPreview() {
|
||||
remember(event) { runBlocking { withContext(Dispatchers.IO) { LocalCache.justConsume(event, null, true) } } }
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let {
|
||||
RenderMusicTrack(
|
||||
note = it,
|
||||
@@ -571,7 +571,7 @@ private fun MusicTrackCoverPreview() {
|
||||
remember(event) { runBlocking { withContext(Dispatchers.IO) { LocalCache.justConsume(event, null, true) } } }
|
||||
|
||||
ThemeComparisonColumn {
|
||||
LoadNote(baseNoteHex = event.address().toValue(), accountViewModel = mockAccountViewModel()) { note ->
|
||||
LoadNote(baseNoteHex = event.address().toValue()) { note ->
|
||||
note?.let { MusicTrackCover(image = null, note = it, accountViewModel = mockAccountViewModel()) }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.podcast_hosts_and_guests
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.Size5dp
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.grayText
|
||||
@@ -104,7 +105,7 @@ private fun PersonItem(
|
||||
val pubKey = remember(person) { person.nostrPubKey() }
|
||||
|
||||
if (pubKey != null) {
|
||||
LoadUser(pubKey, accountViewModel) { user ->
|
||||
LoadUser(pubKey) { user ->
|
||||
if (user != null) {
|
||||
NostrPersonCard(user, person.role, accountViewModel, nav)
|
||||
} else {
|
||||
@@ -157,8 +158,8 @@ private fun FreeTextPersonCard(
|
||||
model = person.img,
|
||||
contentDescription = person.name,
|
||||
modifier = Modifier.size(56.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
},
|
||||
name = {
|
||||
|
||||
@@ -319,7 +319,7 @@ internal fun PublicationSectionRow(
|
||||
val address = ref.address
|
||||
|
||||
if (address != null) {
|
||||
LoadAddressableNote(address, accountViewModel) { sectionNote ->
|
||||
LoadAddressableNote(address) { sectionNote ->
|
||||
if (sectionNote != null) {
|
||||
ObservedSectionRow(position, ref, sectionNote, accountViewModel, nav)
|
||||
} else {
|
||||
@@ -327,7 +327,7 @@ internal fun PublicationSectionRow(
|
||||
}
|
||||
}
|
||||
} else if (ref.eventId != null) {
|
||||
LoadNote(ref.eventId!!, accountViewModel) { sectionNote ->
|
||||
LoadNote(ref.eventId!!) { sectionNote ->
|
||||
if (sectionNote != null) {
|
||||
ObservedSectionRow(position, ref, sectionNote, accountViewModel, nav)
|
||||
} else {
|
||||
|
||||
+4
-4
@@ -113,7 +113,7 @@ fun RenderPublicationSection(
|
||||
// A chapter arrived at from a search, a mention or a wikilink has nothing around it to say
|
||||
// what it is a chapter *of*. The index names itself, so show it above the title.
|
||||
noteEvent.publicationAddress()?.let { address ->
|
||||
LoadAddressableNote(address, accountViewModel) { indexNote ->
|
||||
LoadAddressableNote(address) { indexNote ->
|
||||
indexNote?.let { PublicationCrumb(it, accountViewModel, nav) }
|
||||
}
|
||||
}
|
||||
@@ -142,7 +142,7 @@ fun RenderPublicationSection(
|
||||
}
|
||||
|
||||
noteEvent.publicationAddress()?.let { address ->
|
||||
LoadAddressableNote(address, accountViewModel) { indexNote ->
|
||||
LoadAddressableNote(address) { indexNote ->
|
||||
indexNote?.let { PublicationPager(noteEvent, it, accountViewModel, nav) }
|
||||
}
|
||||
}
|
||||
@@ -253,11 +253,11 @@ private fun PagerEnd(
|
||||
// The index's own title shows immediately; the neighbour is still observed, because observing
|
||||
// is what fetches it and it carries the better title.
|
||||
if (address != null) {
|
||||
LoadAddressableNote(address, accountViewModel) { target ->
|
||||
LoadAddressableNote(address) { target ->
|
||||
target?.let { PagerButton(ref, it, isBack, accountViewModel, nav, modifier) }
|
||||
}
|
||||
} else if (eventId != null) {
|
||||
LoadNote(eventId, accountViewModel) { target ->
|
||||
LoadNote(eventId) { target ->
|
||||
target?.let { PagerButton(ref, it, isBack, accountViewModel, nav, modifier) }
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -51,6 +51,7 @@ import com.vitorpamplona.amethyst.commons.nip29RelayGroups.ui.RelayNameChip
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.GenericLoadable
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.StdVertSpacer
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.replyModifier
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserName
|
||||
@@ -135,8 +136,8 @@ fun RelayGroupChannelHeader(
|
||||
model = channel.profilePicture(),
|
||||
contentDescription = channel.toBestDisplayName(),
|
||||
modifier = Modifier.size(28.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
|
||||
if (dmOther != null) {
|
||||
|
||||
+2
-1
@@ -24,6 +24,7 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.key
|
||||
import androidx.compose.runtime.remember
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.nip71Video.CaptionTrack
|
||||
import com.vitorpamplona.amethyst.commons.model.nip71Video.captionTracks
|
||||
import com.vitorpamplona.amethyst.commons.model.nip71Video.mergeCaptionTracks
|
||||
@@ -60,7 +61,7 @@ fun rememberCaptionTracks(
|
||||
val resolved =
|
||||
refs.pending.map { pending ->
|
||||
key(pending.address.toValue()) {
|
||||
val note = remember(pending.address) { accountViewModel.getOrCreateAddressableNote(pending.address) }
|
||||
val note = remember(pending.address) { LocalCache.getOrCreateAddressableNote(pending.address) }
|
||||
val trackEvent by observeNoteEvent<TextTrackEvent>(note, accountViewModel)
|
||||
trackEvent?.toCaptionTrack(pending.tag)
|
||||
}
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ fun RenderPostApproval(
|
||||
|
||||
Column(Modifier.fillMaxWidth()) {
|
||||
noteEvent.communityAddresses().forEach { tag ->
|
||||
LoadAddressableNote(tag, accountViewModel) { baseNote ->
|
||||
LoadAddressableNote(tag) { baseNote ->
|
||||
baseNote?.let {
|
||||
RenderCommunity(
|
||||
baseNote = it,
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ fun RenderVideoCollaboration(
|
||||
// quotesLeft guards the recursion: the embedded video can itself credit other work, and
|
||||
// NoteCompose is what decrements it on the way down.
|
||||
if (video != null && quotesLeft > 0) {
|
||||
LoadAddressableNote(video, accountViewModel) { videoNote ->
|
||||
LoadAddressableNote(video) { videoNote ->
|
||||
videoNote?.let {
|
||||
NoteCompose(
|
||||
baseNote = it,
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ private fun RenderVideoCredit(
|
||||
) {
|
||||
when (val target = credit.target) {
|
||||
is CreditTarget.Person ->
|
||||
LoadUser(target.pubKey, accountViewModel) { user ->
|
||||
LoadUser(target.pubKey) { user ->
|
||||
// Until the profile arrives there is no name to print, and a hex key in the
|
||||
// credits reads as noise rather than as a person.
|
||||
user?.let {
|
||||
|
||||
+2
-2
@@ -169,12 +169,12 @@ private fun VideoListMemberPoster(
|
||||
) {
|
||||
when (item) {
|
||||
is AddressBookmark ->
|
||||
LoadAddressableNote(item.address, accountViewModel) { note ->
|
||||
LoadAddressableNote(item.address) { note ->
|
||||
note?.let { VideoPoster(it, accountViewModel) { nav.nav(Route.Note(addressTag(item.address))) } }
|
||||
}
|
||||
|
||||
is EventBookmark ->
|
||||
LoadNote(item.eventId, accountViewModel) { note ->
|
||||
LoadNote(item.eventId) { note ->
|
||||
note?.let { VideoPoster(it, accountViewModel) { nav.nav(Route.Note(item.eventId)) } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ fun WithSnoPalette(
|
||||
is NEvent -> LoadPaletteNote(entity.hex, accountViewModel, content)
|
||||
is NNote -> LoadPaletteNote(entity.hex, accountViewModel, content)
|
||||
is NAddress ->
|
||||
LoadAddressableNote(entity.address(), accountViewModel) { note ->
|
||||
LoadAddressableNote(entity.address()) { note ->
|
||||
content(remember(note?.event) { note?.event?.let { SnoPaletteEventReader.read(it) } })
|
||||
}
|
||||
// A reference the parser accepted as well-formed but that names nothing
|
||||
@@ -91,7 +91,7 @@ private fun LoadPaletteNote(
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (SnoPalette?) -> Unit,
|
||||
) {
|
||||
LoadNote(hex, accountViewModel) { note ->
|
||||
LoadNote(hex) { note ->
|
||||
// The kind is deliberately not checked: §1.3b says this format "does
|
||||
// not define a palette kind and does not want one", and a reader that
|
||||
// accepts the shape reads whatever convention wins. An event that is
|
||||
|
||||
@@ -587,7 +587,7 @@ private fun BundledAssetsList(
|
||||
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
|
||||
assetIds.forEach { id ->
|
||||
key(id) {
|
||||
LoadAssetNote(id, accountViewModel) { assetNote ->
|
||||
LoadAssetNote(id) { assetNote ->
|
||||
if (assetNote != null) {
|
||||
SoftwareAssetRow(assetNote, accountViewModel)
|
||||
}
|
||||
@@ -600,12 +600,11 @@ private fun BundledAssetsList(
|
||||
@Composable
|
||||
private fun LoadAssetNote(
|
||||
eventId: String,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (Note?) -> Unit,
|
||||
) {
|
||||
val note by produceState<Note?>(initialValue = accountViewModel.getNoteIfExists(eventId), eventId) {
|
||||
val note by produceState<Note?>(initialValue = LocalCache.getNoteIfExists(eventId), eventId) {
|
||||
if (value == null) {
|
||||
value = accountViewModel.checkGetOrCreateNote(eventId)
|
||||
value = LocalCache.checkGetOrCreateNote(eventId)
|
||||
}
|
||||
}
|
||||
content(note)
|
||||
|
||||
@@ -45,6 +45,7 @@ import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.vitorpamplona.amethyst.commons.model.EmptyTagList
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.routeFor
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.accept_the_suggestion
|
||||
@@ -88,13 +89,13 @@ fun RenderTextModificationEvent(
|
||||
val isAuthorTheLoggedUser =
|
||||
remember {
|
||||
val authorOfTheOriginalNote =
|
||||
noteEvent.editedNote()?.let { accountViewModel.getNoteIfExists(it.eventId)?.author?.pubkeyHex ?: it.author }
|
||||
noteEvent.editedNote()?.let { LocalCache.getNoteIfExists(it.eventId)?.author?.pubkeyHex ?: it.author }
|
||||
|
||||
mutableStateOf(accountViewModel.isLoggedUser(authorOfTheOriginalNote))
|
||||
}
|
||||
|
||||
noteEvent.editedNote()?.let {
|
||||
LoadNote(baseNoteHex = it.eventId, accountViewModel = accountViewModel) { baseOriginalNote ->
|
||||
LoadNote(baseNoteHex = it.eventId) { baseOriginalNote ->
|
||||
baseOriginalNote?.let {
|
||||
}
|
||||
}
|
||||
@@ -132,7 +133,7 @@ fun RenderTextModificationEvent(
|
||||
}
|
||||
|
||||
noteEvent.editedNote()?.let {
|
||||
LoadNote(baseNoteHex = it.eventId, accountViewModel = accountViewModel) { baseNote ->
|
||||
LoadNote(baseNoteHex = it.eventId) { baseNote ->
|
||||
baseNote?.let {
|
||||
val noteState by observeNote(baseNote, accountViewModel)
|
||||
|
||||
|
||||
@@ -212,7 +212,7 @@ fun TorrentHeader(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(baseNoteHex = torrentHex, accountViewModel = accountViewModel) {
|
||||
LoadNote(baseNoteHex = torrentHex) {
|
||||
if (it != null) {
|
||||
ShortTorrentHeader(it, modifier, accountViewModel, nav)
|
||||
}
|
||||
|
||||
+2
-2
@@ -213,7 +213,7 @@ private fun WikiArticleRow(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadAddressableNote(address, accountViewModel) { articleNote ->
|
||||
LoadAddressableNote(address) { articleNote ->
|
||||
if (articleNote != null) {
|
||||
val article by observeNoteEvent<WikiNoteEvent>(articleNote, accountViewModel)
|
||||
|
||||
@@ -238,7 +238,7 @@ private fun WikiVersionRow(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(eventId, accountViewModel) { versionNote ->
|
||||
LoadNote(eventId) { versionNote ->
|
||||
if (versionNote != null) {
|
||||
val article by observeNoteEvent<WikiNoteEvent>(versionNote, accountViewModel)
|
||||
|
||||
|
||||
+3
-3
@@ -58,7 +58,7 @@ fun UserMemberRow(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(pubKey, accountViewModel) { user ->
|
||||
LoadUser(pubKey) { user ->
|
||||
user?.let {
|
||||
Column(modifier = Modifier.fillMaxWidth()) {
|
||||
UserCompose(it, accountViewModel = accountViewModel, nav = nav)
|
||||
@@ -88,7 +88,7 @@ fun BookmarkMemberRow(
|
||||
is AddressBookmark -> AddressMemberRow(item.address, quotesLeft, backgroundColor, accountViewModel, nav)
|
||||
|
||||
is EventBookmark ->
|
||||
LoadNote(item.eventId, accountViewModel) { note ->
|
||||
LoadNote(item.eventId) { note ->
|
||||
note?.let {
|
||||
NoteCompose(
|
||||
baseNote = it,
|
||||
@@ -114,7 +114,7 @@ fun AddressMemberRow(
|
||||
) {
|
||||
if (quotesLeft <= 0) return
|
||||
|
||||
LoadAddressableNote(address, accountViewModel) { note ->
|
||||
LoadAddressableNote(address) { note ->
|
||||
note?.let {
|
||||
NoteCompose(
|
||||
baseNote = it,
|
||||
|
||||
@@ -95,7 +95,7 @@ private fun MutedThreadRow(
|
||||
) {
|
||||
if (quotesLeft <= 0) return
|
||||
|
||||
LoadNote(eventId, accountViewModel) { note ->
|
||||
LoadNote(eventId) { note ->
|
||||
note?.let {
|
||||
NoteCompose(
|
||||
baseNote = it,
|
||||
|
||||
+3
-33
@@ -46,18 +46,17 @@ import com.vitorpamplona.amethyst.commons.model.AddressableNote
|
||||
import com.vitorpamplona.amethyst.commons.model.Dao
|
||||
import com.vitorpamplona.amethyst.commons.model.LiveHiddenUsers
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.UiSettingsFlow
|
||||
import com.vitorpamplona.amethyst.commons.model.User
|
||||
import com.vitorpamplona.amethyst.commons.model.backups.ReplaceableBackupConflict
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.concord.ConcordChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.emphChat.EphemeralChatChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.geohashChat.GeohashChatChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.BottomBarEntry
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.NavBarItem
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.Route
|
||||
import com.vitorpamplona.amethyst.commons.model.nip28PublicChats.PublicChatChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.nip29RelayGroups.RelayGroupChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.nip53LiveActivities.LiveActivitiesChannel
|
||||
import com.vitorpamplona.amethyst.commons.model.nip56Reports.UserReportWarningState
|
||||
import com.vitorpamplona.amethyst.commons.model.nip56Reports.dmReportWarningFor
|
||||
import com.vitorpamplona.amethyst.commons.model.observables.CreatedAtComparator
|
||||
@@ -101,8 +100,10 @@ import com.vitorpamplona.amethyst.commons.service.broadcast.BroadcastTracker
|
||||
import com.vitorpamplona.amethyst.commons.service.http.EmptyRoleBasedHttpClientBuilder
|
||||
import com.vitorpamplona.amethyst.commons.service.http.IRoleBasedHttpClientBuilder
|
||||
import com.vitorpamplona.amethyst.commons.service.pow.PoWCategory
|
||||
import com.vitorpamplona.amethyst.commons.state.UiSettingsState
|
||||
import com.vitorpamplona.amethyst.commons.tor.TorType
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.UrlPreviewState
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.toasts.ToastManager
|
||||
import com.vitorpamplona.amethyst.commons.ui.loadStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.notifications.CardFeedState
|
||||
import com.vitorpamplona.amethyst.commons.ui.state.GenericBaseCache
|
||||
@@ -111,7 +112,6 @@ import com.vitorpamplona.amethyst.logTime
|
||||
import com.vitorpamplona.amethyst.model.Account
|
||||
import com.vitorpamplona.amethyst.model.AccountSettings
|
||||
import com.vitorpamplona.amethyst.model.LatestKeyPackageOwner
|
||||
import com.vitorpamplona.amethyst.model.UiSettingsFlow
|
||||
import com.vitorpamplona.amethyst.model.UrlCachedPreviewer
|
||||
import com.vitorpamplona.amethyst.model.privacyOptions.RoleBasedHttpClientBuilder
|
||||
import com.vitorpamplona.amethyst.service.ClinkDebitPayer
|
||||
@@ -127,13 +127,11 @@ import com.vitorpamplona.amethyst.service.pow.powKindLabelRes
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.RelaySubscriptionsCoordinator
|
||||
import com.vitorpamplona.amethyst.ui.actions.MediaSaverToDisk
|
||||
import com.vitorpamplona.amethyst.ui.actions.NewMessageTagger
|
||||
import com.vitorpamplona.amethyst.ui.components.toasts.ToastManager
|
||||
import com.vitorpamplona.amethyst.ui.note.ZapAmountCommentNotification
|
||||
import com.vitorpamplona.amethyst.ui.note.ZapraiserStatus
|
||||
import com.vitorpamplona.amethyst.ui.note.payViaIntent
|
||||
import com.vitorpamplona.amethyst.ui.note.showAmount
|
||||
import com.vitorpamplona.amethyst.ui.note.showAmountInteger
|
||||
import com.vitorpamplona.amethyst.ui.screen.UiSettingsState
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.marmotGroup.send.MarmotGroupIconChange
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.marmotGroup.send.MarmotGroupIconUpload
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.marmotGroup.send.MarmotGroupIconUploader
|
||||
@@ -146,7 +144,6 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.wallet.ReloadMintRequest
|
||||
import com.vitorpamplona.amethyst.ui.tor.TorSettingsFlow
|
||||
import com.vitorpamplona.quartz.experimental.clink.debits.DebitResponse
|
||||
import com.vitorpamplona.quartz.experimental.clink.pointers.NDebit
|
||||
import com.vitorpamplona.quartz.experimental.ephemChat.chat.RoomId
|
||||
import com.vitorpamplona.quartz.experimental.interactiveStories.InteractiveStoryBaseEvent
|
||||
import com.vitorpamplona.quartz.experimental.interactiveStories.InteractiveStoryReadingStateEvent
|
||||
import com.vitorpamplona.quartz.marmot.appComponents.EncryptedMediaReferenceV2
|
||||
@@ -195,7 +192,6 @@ import com.vitorpamplona.quartz.nip19Bech32.entities.NPub
|
||||
import com.vitorpamplona.quartz.nip19Bech32.entities.NRelay
|
||||
import com.vitorpamplona.quartz.nip19Bech32.entities.NSec
|
||||
import com.vitorpamplona.quartz.nip25Reactions.ReactionEvent
|
||||
import com.vitorpamplona.quartz.nip29RelayGroups.GroupId
|
||||
import com.vitorpamplona.quartz.nip37Drafts.DraftWrapEvent
|
||||
import com.vitorpamplona.quartz.nip47WalletConnect.Nip47WalletConnect
|
||||
import com.vitorpamplona.quartz.nip47WalletConnect.rpc.IErrorResponseLike
|
||||
@@ -2266,32 +2262,6 @@ class AccountViewModel(
|
||||
|
||||
override fun getOrCreateAddressableNote(address: Address): AddressableNote = LocalCache.getOrCreateAddressableNote(address)
|
||||
|
||||
fun getAddressableNoteIfExists(key: String): AddressableNote? = LocalCache.getAddressableNoteIfExists(key)
|
||||
|
||||
fun getAddressableNoteIfExists(key: Address): AddressableNote? = LocalCache.getAddressableNoteIfExists(key)
|
||||
|
||||
fun checkGetOrCreatePublicChatChannel(key: HexKey): PublicChatChannel = LocalCache.getOrCreatePublicChatChannel(key)
|
||||
|
||||
fun checkGetOrCreateLiveActivityChannel(key: Address): LiveActivitiesChannel = LocalCache.getOrCreateLiveChannel(key)
|
||||
|
||||
fun checkGetOrCreateEphemeralChatChannel(key: RoomId): EphemeralChatChannel = LocalCache.getOrCreateEphemeralChannel(key)
|
||||
|
||||
fun getPublicChatChannelIfExists(hex: HexKey) = LocalCache.getPublicChatChannelIfExists(hex)
|
||||
|
||||
fun getEphemeralChatChannelIfExists(key: RoomId) = LocalCache.getEphemeralChatChannelIfExists(key)
|
||||
|
||||
fun checkGetOrCreateGeohashChannel(geohash: String): GeohashChatChannel = LocalCache.getOrCreateGeohashChannel(geohash)
|
||||
|
||||
fun getGeohashChannelIfExists(geohash: String) = LocalCache.getGeohashChannelIfExists(geohash)
|
||||
|
||||
fun checkGetOrCreateRelayGroupChannel(key: GroupId): RelayGroupChannel = LocalCache.getOrCreateRelayGroupChannel(key)
|
||||
|
||||
fun getRelayGroupChannelIfExists(key: GroupId) = LocalCache.getRelayGroupChannelIfExists(key)
|
||||
|
||||
fun getRelayGroupChannelsOnRelay(relay: NormalizedRelayUrl) = LocalCache.getRelayGroupChannelsOnRelay(relay)
|
||||
|
||||
fun getLiveActivityChannelIfExists(key: Address) = LocalCache.getLiveActivityChannelIfExists(key)
|
||||
|
||||
fun <T : PubKeyReferenceTag> loadParticipants(
|
||||
participants: List<T>,
|
||||
onReady: (ImmutableList<Pair<T, User>>) -> Unit,
|
||||
|
||||
+12
-11
@@ -72,6 +72,7 @@ import com.vitorpamplona.amethyst.commons.model.navigation.routeFor
|
||||
import com.vitorpamplona.amethyst.commons.model.nip29RelayGroups.RelayGroupChannel
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.placeholderText
|
||||
import com.vitorpamplona.amethyst.commons.util.toShortDisplay
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.observeChannel
|
||||
@@ -269,7 +270,7 @@ private fun PersonCell(
|
||||
Badge.ADDED -> "+" to tones.added
|
||||
Badge.CHANGED -> "~" to tones.changed
|
||||
}
|
||||
LoadUser(pubKey, accountViewModel) { user ->
|
||||
LoadUser(pubKey) { user ->
|
||||
Column(
|
||||
modifier.clip(RoundedCornerShape(12.dp)).clickable { nav.nav(Route.Profile(pubKey)) }.padding(vertical = 4.dp),
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
@@ -437,7 +438,7 @@ private fun LazyListScope.muteListItems(
|
||||
if (threads.isNotEmpty()) {
|
||||
item(key = "mute-threads-caption", contentType = "caption") { SectionCaption(stringRes(R.string.backup_entry_thread), Pad.padding(top = 18.dp)) }
|
||||
items(threads, key = { "mute-thread-$it" }, contentType = { "note" }) { id ->
|
||||
LoadNote(id, accountViewModel) { note ->
|
||||
LoadNote(id) { note ->
|
||||
if (note != null) {
|
||||
NoteCompose(note, modifier = Modifier.padding(horizontal = 16.dp, vertical = 6.dp), makeItShort = true, quotesLeft = 1, accountViewModel = accountViewModel, nav = nav)
|
||||
} else {
|
||||
@@ -489,8 +490,8 @@ private fun FacePile(
|
||||
model = observedPicture(pubKey, accountViewModel),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(42.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -515,9 +516,9 @@ internal fun observedUserInfo(
|
||||
pubKey: HexKey,
|
||||
accountViewModel: AccountViewModel,
|
||||
): UserMetadata? {
|
||||
var user by remember(pubKey) { mutableStateOf(accountViewModel.getUserIfExists(pubKey)) }
|
||||
var user by remember(pubKey) { mutableStateOf(LocalCache.getUserIfExists(pubKey)) }
|
||||
if (user == null) {
|
||||
LaunchedEffect(pubKey) { user = accountViewModel.checkGetOrCreateUser(pubKey) }
|
||||
LaunchedEffect(pubKey) { user = LocalCache.checkGetOrCreateUser(pubKey) }
|
||||
}
|
||||
val loaded = user ?: return null
|
||||
val info by observeUserInfo(loaded, accountViewModel)
|
||||
@@ -688,8 +689,8 @@ private fun MiniProfileCard(
|
||||
model = meta.picture,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(46.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
}
|
||||
Column(Modifier.offset(y = (-20).dp), verticalArrangement = Arrangement.spacedBy(3.dp)) {
|
||||
@@ -1122,7 +1123,7 @@ private fun GroupTileCard(
|
||||
GroupTileContent(tile, tile.group.name ?: tile.group.groupId, null, accountViewModel, modifier, null)
|
||||
return
|
||||
}
|
||||
LoadRelayGroupChannel(GroupId(tile.group.groupId, relay), accountViewModel) { channel ->
|
||||
LoadRelayGroupChannel(GroupId(tile.group.groupId, relay)) { channel ->
|
||||
// Subscribes to the group's relay-signed metadata (even when not joined) and recomposes
|
||||
// when its name or picture arrives.
|
||||
val state by observeChannel(channel, accountViewModel)
|
||||
@@ -1158,8 +1159,8 @@ private fun GroupTileContent(
|
||||
model = picture,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(44.dp).clip(RoundedCornerShape(14.dp)),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
Column {
|
||||
Text(name, style = MaterialTheme.typography.titleSmall, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
|
||||
+10
-8
@@ -60,10 +60,12 @@ import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbol
|
||||
import com.vitorpamplona.amethyst.commons.icons.symbols.MaterialSymbols
|
||||
import com.vitorpamplona.amethyst.commons.model.backups.BackupEventType
|
||||
import com.vitorpamplona.amethyst.commons.model.backups.ReplaceableBackupConflict
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.Route
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.routeFor
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.placeholderText
|
||||
import com.vitorpamplona.amethyst.commons.util.toShortDisplay
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.observeChannel
|
||||
@@ -424,8 +426,8 @@ private fun SpaceTile(
|
||||
model = picture,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(48.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
Column {
|
||||
Text(name, style = MaterialTheme.typography.titleSmall, maxLines = 1, overflow = TextOverflow.Ellipsis)
|
||||
@@ -451,7 +453,7 @@ private fun LazyListScope.publicChatItems(
|
||||
) {
|
||||
val saved = (conflict.saved as? ChannelListEvent)?.tags?.channels().orEmpty()
|
||||
spaceGrid("chat-", fates(saved, diff.channels) { it.eventId }, { it.eventId }) { tag, fate, modifier ->
|
||||
LoadPublicChatChannel(tag.eventId, accountViewModel) { channel ->
|
||||
LoadPublicChatChannel(tag.eventId) { channel ->
|
||||
// Subscribes to the channel's metadata on relays and recomposes when it arrives.
|
||||
val state by observeChannel(channel, accountViewModel)
|
||||
val current = state?.channel ?: channel
|
||||
@@ -492,7 +494,7 @@ private fun LazyListScope.favoriteFeedItems(
|
||||
val saved = (conflict.saved as? FavoriteAlgoFeedsListEvent)?.publicFavoriteAlgoFeeds().orEmpty()
|
||||
spaceGrid("feed-", fates(saved, diff.feeds) { it.address }, { it.address.toValue() }) { bookmark, fate, modifier ->
|
||||
AddressableSpaceTile(bookmark.address, fate, accountViewModel, modifier) {
|
||||
nav.nav { accountViewModel.getAddressableNoteIfExists(bookmark.address)?.let { routeFor(it, accountViewModel.account) } }
|
||||
nav.nav { LocalCache.getAddressableNoteIfExists(bookmark.address)?.let { routeFor(it, accountViewModel.account) } }
|
||||
}
|
||||
}
|
||||
privateItemsCard(diff.privateItems)
|
||||
@@ -507,7 +509,7 @@ private fun AddressableSpaceTile(
|
||||
modifier: Modifier,
|
||||
onClick: () -> Unit,
|
||||
) {
|
||||
LoadAddressableNote(address, accountViewModel) { note ->
|
||||
LoadAddressableNote(address) { note ->
|
||||
val event =
|
||||
if (note != null) {
|
||||
val state by observeNote(note, accountViewModel)
|
||||
@@ -788,7 +790,7 @@ private fun ProviderCell(
|
||||
Text("—", modifier, color = MaterialTheme.colorScheme.placeholderText)
|
||||
return
|
||||
}
|
||||
LoadUser(pubKey, accountViewModel) { user ->
|
||||
LoadUser(pubKey) { user ->
|
||||
Row(
|
||||
modifier.clip(RoundedCornerShape(8.dp)).clickable { nav.nav(Route.Profile(pubKey)) },
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
@@ -800,8 +802,8 @@ private fun ProviderCell(
|
||||
model = observedPicture(pubKey, accountViewModel),
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(22.dp).clip(CircleShape),
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
ProvideTextStyle(MaterialTheme.typography.labelMedium.copy(color = if (struck) color else MaterialTheme.colorScheme.onSurface, textDecoration = if (struck) TextDecoration.LineThrough else null)) {
|
||||
if (user != null) {
|
||||
|
||||
+4
-4
@@ -422,7 +422,7 @@ internal fun ReviewEntry(
|
||||
when (item) {
|
||||
is ReviewItem.Person -> PersonEntry(item, accountViewModel, nav)
|
||||
is ReviewItem.Thread ->
|
||||
LoadNote(item.eventId, accountViewModel) { note ->
|
||||
LoadNote(item.eventId) { note ->
|
||||
if (note != null) {
|
||||
Column(EntryPadding) {
|
||||
NoteCompose(note, makeItShort = true, quotesLeft = 1, accountViewModel = accountViewModel, nav = nav)
|
||||
@@ -433,7 +433,7 @@ internal fun ReviewEntry(
|
||||
}
|
||||
}
|
||||
is ReviewItem.Addressable ->
|
||||
LoadAddressableNote(item.address, accountViewModel) { note ->
|
||||
LoadAddressableNote(item.address) { note ->
|
||||
if (note != null) {
|
||||
Column(EntryPadding) {
|
||||
NoteCompose(note, makeItShort = true, quotesLeft = 1, accountViewModel = accountViewModel, nav = nav)
|
||||
@@ -457,7 +457,7 @@ private fun PersonEntry(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadUser(item.pubKey, accountViewModel) { user ->
|
||||
LoadUser(item.pubKey) { user ->
|
||||
if (user == null) {
|
||||
TextEntry(item.pubKey.toShortDisplay(), item.detail)
|
||||
} else {
|
||||
@@ -482,7 +482,7 @@ private fun PublicChatEntry(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadPublicChatChannel(item.channelId, accountViewModel) { channel ->
|
||||
LoadPublicChatChannel(item.channelId) { channel ->
|
||||
// Subscribes to the channel's metadata on relays and recomposes when it arrives.
|
||||
val state by observeChannel(channel, accountViewModel)
|
||||
val name = state?.channel?.toBestDisplayName() ?: channel.toBestDisplayName()
|
||||
|
||||
+3
-3
@@ -86,8 +86,8 @@ fun ProfileBadgesScreen(
|
||||
// historic awards land in cache while this screen is open.
|
||||
ProfileBadgesFilterAssemblerSubscription(accountViewModel)
|
||||
|
||||
val newNote = accountViewModel.getOrCreateAddressableNote(ProfileBadgesEvent.createAddress(myPubkey))
|
||||
val oldNote = accountViewModel.getOrCreateAddressableNote(AcceptedBadgeSetEvent.createAddress(myPubkey))
|
||||
val newNote = LocalCache.getOrCreateAddressableNote(ProfileBadgesEvent.createAddress(myPubkey))
|
||||
val oldNote = LocalCache.getOrCreateAddressableNote(AcceptedBadgeSetEvent.createAddress(myPubkey))
|
||||
|
||||
val newState by newNote
|
||||
.flow()
|
||||
@@ -208,7 +208,7 @@ private fun AwardRow(
|
||||
return
|
||||
}
|
||||
|
||||
LoadAddressableNote(defAddr, accountViewModel) { defNote ->
|
||||
LoadAddressableNote(defAddr) { defNote ->
|
||||
if (defNote == null) {
|
||||
StaticAwardRow(
|
||||
definition = null,
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ fun ArticleBookmarkListManagementScreen(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadAddressableNote(address = articleAddress, accountViewModel = accountViewModel) {
|
||||
LoadAddressableNote(address = articleAddress) {
|
||||
it?.let {
|
||||
ListManagementView(
|
||||
modifier = Modifier.fillMaxSize().recalculateWindowInsets(),
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ fun PostBookmarkListManagementScreen(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadNote(baseNoteHex = postId, accountViewModel = accountViewModel) {
|
||||
LoadNote(baseNoteHex = postId) {
|
||||
it?.let {
|
||||
ListManagementView(
|
||||
modifier = Modifier.fillMaxSize().recalculateWindowInsets(),
|
||||
|
||||
+1
-1
@@ -450,7 +450,7 @@ private fun Person(
|
||||
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(5.dp)) {
|
||||
Text(prefix, style = MaterialTheme.typography.labelSmall, color = MaterialTheme.colorScheme.onSurfaceVariant)
|
||||
UserPicture(userHex = hex, size = Size20dp, accountViewModel = accountViewModel, nav = nav)
|
||||
LoadUser(baseUserHex = hex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = hex) { user ->
|
||||
if (user != null) UsernameDisplay(baseUser = user, fontWeight = FontWeight.Medium, accountViewModel = accountViewModel)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -387,7 +387,7 @@ private fun Person(
|
||||
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(5.dp)) {
|
||||
Text(prefix, style = MaterialTheme.typography.labelSmall, color = MaterialTheme.colorScheme.onSurfaceVariant)
|
||||
UserPicture(userHex = hex, size = Size20dp, accountViewModel = accountViewModel, nav = nav)
|
||||
LoadUser(baseUserHex = hex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = hex) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(baseUser = user, fontWeight = FontWeight.Medium, accountViewModel = accountViewModel)
|
||||
}
|
||||
|
||||
+1
-1
@@ -741,7 +741,7 @@ private fun Person(
|
||||
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(5.dp)) {
|
||||
Text(prefix, style = MaterialTheme.typography.labelSmall, color = MaterialTheme.colorScheme.onSurfaceVariant)
|
||||
UserPicture(userHex = hex, size = Size20dp, accountViewModel = accountViewModel, nav = nav)
|
||||
LoadUser(baseUserHex = hex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = hex) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(baseUser = user, fontWeight = FontWeight.Medium, accountViewModel = accountViewModel)
|
||||
}
|
||||
|
||||
+1
-1
@@ -373,7 +373,7 @@ private fun ParticipantsRow(
|
||||
size = Size30dp,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
LoadUser(baseUserHex = pubKey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = pubKey) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
|
||||
+1
-1
@@ -774,7 +774,7 @@ private fun UserRow(
|
||||
nav: INav,
|
||||
trailing: (@Composable () -> Unit)?,
|
||||
) {
|
||||
LoadUser(baseUserHex = pubKey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = pubKey) { user ->
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
|
||||
+1
-1
@@ -292,7 +292,7 @@ private fun RecipientDeliveryRow(
|
||||
horizontalArrangement = Arrangement.spacedBy(8.dp),
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
) {
|
||||
LoadUser(baseUserHex = recipient.recipient, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = recipient.recipient) { user ->
|
||||
if (user != null) {
|
||||
UserPicture(user, Size20dp, Modifier, accountViewModel, nav)
|
||||
Row(modifier = Modifier.weight(1f)) {
|
||||
|
||||
-1
@@ -103,7 +103,6 @@ private fun WatchAndDisplayUser(
|
||||
userName = displayName,
|
||||
size = Size20dp,
|
||||
modifier = Modifier,
|
||||
accountViewModel = accountViewModel,
|
||||
)
|
||||
|
||||
WatchUserFollows(author.pubkeyHex, accountViewModel) { newFollowingState ->
|
||||
|
||||
+3
-2
@@ -28,6 +28,7 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import com.vitorpamplona.amethyst.commons.chats.ui.ChatSystemMessage
|
||||
import com.vitorpamplona.amethyst.commons.model.Note
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.navigation.Route
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.buzz_system_channel_archived
|
||||
@@ -219,10 +220,10 @@ fun observeUserNameByHex(
|
||||
): String {
|
||||
if (pubkey == null) return ""
|
||||
|
||||
var user by remember(pubkey) { mutableStateOf(accountViewModel.getUserIfExists(pubkey)) }
|
||||
var user by remember(pubkey) { mutableStateOf(LocalCache.getUserIfExists(pubkey)) }
|
||||
|
||||
if (user == null) {
|
||||
LaunchedEffect(pubkey) { user = accountViewModel.checkGetOrCreateUser(pubkey) }
|
||||
LaunchedEffect(pubkey) { user = LocalCache.checkGetOrCreateUser(pubkey) }
|
||||
}
|
||||
|
||||
val loaded = user ?: return remember(pubkey) { pubkey.take(8) }
|
||||
|
||||
+1
-1
@@ -72,7 +72,7 @@ fun RenderChatClip(
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
UserPicture(authorHex, Size20dp, Modifier, accountViewModel, nav)
|
||||
Spacer(StdHorzSpacer)
|
||||
LoadUser(baseUserHex = authorHex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = authorHex) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
|
||||
+2
-2
@@ -84,7 +84,7 @@ fun RenderChatRaid(
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
UserPicture(from.pubKeyHex, Size20dp, Modifier, accountViewModel, nav)
|
||||
Spacer(StdHorzSpacer)
|
||||
LoadUser(baseUserHex = from.pubKeyHex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = from.pubKeyHex) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
@@ -104,7 +104,7 @@ fun RenderChatRaid(
|
||||
|
||||
UserPicture(to.pubKeyHex, Size20dp, Modifier, accountViewModel, nav)
|
||||
Spacer(StdHorzSpacer)
|
||||
LoadUser(baseUserHex = to.pubKeyHex, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = to.pubKeyHex) { user ->
|
||||
if (user != null) {
|
||||
UsernameDisplay(
|
||||
baseUser = user,
|
||||
|
||||
+4
-3
@@ -69,6 +69,7 @@ import com.vitorpamplona.amethyst.commons.ui.feeds.WatchLifecycleAndUpdateModel
|
||||
import com.vitorpamplona.amethyst.commons.ui.insets.imePaddingSafe
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.topbars.TopBarExtensibleWithBackButton
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.service.location.LocationState
|
||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserPicture
|
||||
import com.vitorpamplona.amethyst.ui.layouts.DisappearingScaffold
|
||||
@@ -115,7 +116,7 @@ fun GeohashChatScreen(
|
||||
accountViewModel: AccountViewModel,
|
||||
nav: INav,
|
||||
) {
|
||||
LoadGeohashChannel(geohash, accountViewModel) { channel ->
|
||||
LoadGeohashChannel(geohash) { channel ->
|
||||
GeohashChatRoom(channel, teleported, accountViewModel, nav)
|
||||
}
|
||||
}
|
||||
@@ -317,8 +318,8 @@ private fun GeohashIdentityAvatar(
|
||||
model = picture,
|
||||
contentDescription = "Posting as yourself — tap to go anonymous, long-press for a nickname",
|
||||
modifier = avatarModifier,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
autoPlayGif = false,
|
||||
)
|
||||
} else {
|
||||
|
||||
+3
-4
@@ -21,9 +21,9 @@
|
||||
package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.geohashChat
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.model.geohashChat.GeohashChatChannel
|
||||
import com.vitorpamplona.amethyst.ui.note.produceStateIfNotNull
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
|
||||
/**
|
||||
* Resolves the [GeohashChatChannel] for [geohash] from LocalCache, creating an
|
||||
@@ -34,12 +34,11 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
@Composable
|
||||
fun LoadGeohashChannel(
|
||||
geohash: String,
|
||||
accountViewModel: AccountViewModel,
|
||||
content: @Composable (GeohashChatChannel) -> Unit,
|
||||
) {
|
||||
val channel =
|
||||
produceStateIfNotNull(accountViewModel.getGeohashChannelIfExists(geohash), geohash) {
|
||||
value = accountViewModel.checkGetOrCreateGeohashChannel(geohash)
|
||||
produceStateIfNotNull(LocalCache.getGeohashChannelIfExists(geohash), geohash) {
|
||||
value = LocalCache.getOrCreateGeohashChannel(geohash)
|
||||
}
|
||||
|
||||
channel.value?.let { content(it) }
|
||||
|
||||
+2
-1
@@ -49,6 +49,7 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.vitorpamplona.amethyst.commons.chats.ui.ThinSendButton
|
||||
import com.vitorpamplona.amethyst.commons.model.cache.LocalCache
|
||||
import com.vitorpamplona.amethyst.commons.resources.Res
|
||||
import com.vitorpamplona.amethyst.commons.resources.marmot_group_composer_disbanding
|
||||
import com.vitorpamplona.amethyst.commons.resources.marmot_group_composer_leaving
|
||||
@@ -121,7 +122,7 @@ fun MarmotGroupChatView(
|
||||
// landed in LocalCache. checkGetOrCreateNote is a no-op for unknown ids.
|
||||
if (replyToInnerNote != null) {
|
||||
LaunchedEffect(replyToInnerNote) {
|
||||
val parent = accountViewModel.checkGetOrCreateNote(replyToInnerNote)
|
||||
val parent = LocalCache.checkGetOrCreateNote(replyToInnerNote)
|
||||
if (parent != null) {
|
||||
newMessageModel.reply(parent)
|
||||
}
|
||||
|
||||
+3
-2
@@ -45,6 +45,7 @@ import com.vitorpamplona.amethyst.commons.resources.marmot_change_photo
|
||||
import com.vitorpamplona.amethyst.commons.resources.marmot_group_icon
|
||||
import com.vitorpamplona.amethyst.commons.resources.marmot_remove_photo
|
||||
import com.vitorpamplona.amethyst.commons.ui.components.RobohashFallbackAsyncImage
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectedMedia
|
||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||
@@ -99,8 +100,8 @@ fun MarmotGroupIconEditor(
|
||||
.size(96.dp)
|
||||
.clip(CircleShape)
|
||||
.let { if (enabled) it.clickable { launcher.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.ImageOnly)) } else it },
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
)
|
||||
|
||||
Row(
|
||||
|
||||
+7
-6
@@ -132,6 +132,7 @@ import com.vitorpamplona.amethyst.commons.ui.insets.imePaddingSafe
|
||||
import com.vitorpamplona.amethyst.commons.ui.loadStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.navigation.navs.INav
|
||||
import com.vitorpamplona.amethyst.commons.ui.pluralStringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.screen.LocalDisplaySettings
|
||||
import com.vitorpamplona.amethyst.commons.ui.stringRes
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.MediumRelayIconModifier
|
||||
import com.vitorpamplona.amethyst.commons.ui.theme.SuggestionListDefaultHeightChat
|
||||
@@ -760,7 +761,7 @@ fun MemberRow(
|
||||
nav = nav,
|
||||
)
|
||||
Column(modifier = Modifier.weight(1f)) {
|
||||
LoadUser(baseUserHex = member.pubkey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = member.pubkey) { user ->
|
||||
val displayName = user?.toBestDisplayName() ?: stringRes(Res.string.marmot_user_fallback_name, member.pubkey.take(16))
|
||||
val youSuffix = stringRes(Res.string.marmot_member_suffix_you)
|
||||
val adminSuffix = stringRes(Res.string.marmot_member_suffix_admin)
|
||||
@@ -875,7 +876,7 @@ private fun ConfirmRemoveMemberDialog(
|
||||
onDismissRequest = onDismiss,
|
||||
title = { Text(stringRes(Res.string.marmot_remove_member)) },
|
||||
text = {
|
||||
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = memberPubkey) { user ->
|
||||
val name = user?.toBestDisplayName() ?: stringRes(Res.string.marmot_user_fallback_name, memberPubkey.take(16))
|
||||
Text(stringRes(Res.string.marmot_remove_member_confirm, name))
|
||||
}
|
||||
@@ -904,7 +905,7 @@ private fun ConfirmGrantAdminDialog(
|
||||
onDismissRequest = onDismiss,
|
||||
title = { Text(stringRes(Res.string.marmot_grant_admin_title)) },
|
||||
text = {
|
||||
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = memberPubkey) { user ->
|
||||
val name = user?.toBestDisplayName() ?: stringRes(Res.string.marmot_user_fallback_name, memberPubkey.take(16))
|
||||
Text(stringRes(Res.string.marmot_grant_admin_confirm, name))
|
||||
}
|
||||
@@ -933,7 +934,7 @@ private fun ConfirmRevokeAdminDialog(
|
||||
onDismissRequest = onDismiss,
|
||||
title = { Text(stringRes(Res.string.marmot_revoke_admin_title)) },
|
||||
text = {
|
||||
LoadUser(baseUserHex = memberPubkey, accountViewModel = accountViewModel) { user ->
|
||||
LoadUser(baseUserHex = memberPubkey) { user ->
|
||||
val name = user?.toBestDisplayName() ?: stringRes(Res.string.marmot_user_fallback_name, memberPubkey.take(16))
|
||||
Text(stringRes(Res.string.marmot_revoke_admin_confirm, name))
|
||||
}
|
||||
@@ -1025,9 +1026,9 @@ fun GroupRelayTile(
|
||||
RenderRelayIcon(
|
||||
displayUrl = relayInfo.id ?: fallbackUrl,
|
||||
iconUrl = relayInfo.icon,
|
||||
loadProfilePicture = accountViewModel.settings.showProfilePictures(),
|
||||
loadProfilePicture = LocalDisplaySettings.current.showProfilePictures,
|
||||
pingInMs = 0,
|
||||
loadRobohash = accountViewModel.settings.isNotPerformanceMode(),
|
||||
loadRobohash = LocalDisplaySettings.current.loadRobohash,
|
||||
iconModifier = MediumRelayIconModifier,
|
||||
)
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user