diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/nip01UserMetadata/UserMetadataState.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/nip01UserMetadata/UserMetadataState.kt
index d64ec40bd..503eb1c4c 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/nip01UserMetadata/UserMetadataState.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/nip01UserMetadata/UserMetadataState.kt
@@ -50,6 +50,7 @@ class UserMetadataState(
suspend fun sendNewUserMetadata(
name: String? = null,
+ displayName: String? = null,
picture: String? = null,
banner: String? = null,
website: String? = null,
@@ -69,7 +70,7 @@ class UserMetadataState(
MetadataEvent.updateFromPast(
latest = latest,
name = name,
- displayName = name,
+ displayName = displayName,
picture = picture,
banner = banner,
website = website,
@@ -85,7 +86,7 @@ class UserMetadataState(
} else {
MetadataEvent.createNew(
name = name,
- displayName = name,
+ displayName = displayName,
picture = picture,
banner = banner,
website = website,
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataScreen.kt
index 0fa2fd845..14c841ad2 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataScreen.kt
@@ -70,11 +70,12 @@ fun NewUserMetadataScreen(
SavingTopBar(
titleRes = R.string.profile,
onCancel = {
- postViewModel.clear()
nav.popBack()
},
onPost = {
- postViewModel.create()
+ accountViewModel.launchSigner {
+ postViewModel.create()
+ }
nav.popBack()
},
)
@@ -95,7 +96,27 @@ fun NewUserMetadataScreen(
modifier = Modifier.padding(10.dp).verticalScroll(rememberScrollState()),
) {
OutlinedTextField(
- label = { Text(text = stringRes(R.string.profile_name)) },
+ label = { Text(text = stringRes(R.string.profile_name_with_explainer)) },
+ modifier = Modifier.fillMaxWidth(),
+ value = postViewModel.name.value,
+ onValueChange = { postViewModel.name.value = it },
+ placeholder = {
+ Text(
+ text = stringRes(R.string.my_name),
+ color = MaterialTheme.colorScheme.placeholderText,
+ )
+ },
+ keyboardOptions =
+ KeyboardOptions.Default.copy(
+ capitalization = KeyboardCapitalization.Sentences,
+ ),
+ singleLine = true,
+ )
+
+ Spacer(modifier = Modifier.height(10.dp))
+
+ OutlinedTextField(
+ label = { Text(text = stringRes(R.string.display_name)) },
modifier = Modifier.fillMaxWidth(),
value = postViewModel.displayName.value,
onValueChange = { postViewModel.displayName.value = it },
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt
index 139bf9587..32dddea67 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewUserMetadataViewModel.kt
@@ -47,7 +47,7 @@ class NewUserMetadataViewModel : ViewModel() {
private lateinit var accountViewModel: AccountViewModel
private lateinit var account: Account
- // val userName = mutableStateOf("")
+ val name = mutableStateOf("")
val displayName = mutableStateOf("")
val about = mutableStateOf("")
@@ -74,8 +74,8 @@ class NewUserMetadataViewModel : ViewModel() {
fun load() {
account.userProfile().let {
- // userName.value = it.bestUsername() ?: ""
- displayName.value = it.info?.bestName() ?: ""
+ name.value = it.info?.name ?: ""
+ displayName.value = it.info?.displayName ?: ""
about.value = it.info?.about ?: ""
picture.value = it.info?.picture ?: ""
banner.value = it.info?.banner ?: ""
@@ -100,33 +100,31 @@ class NewUserMetadataViewModel : ViewModel() {
}
}
- fun create() {
- // Tries to not delete any existing attribute that we do not work with.
- accountViewModel.launchSigner {
- val metadata =
- account.userMetadata.sendNewUserMetadata(
- name = displayName.value,
- picture = picture.value,
- banner = banner.value,
- website = website.value,
- pronouns = pronouns.value,
- about = about.value,
- nip05 = nip05.value,
- lnAddress = lnAddress.value,
- lnURL = lnURL.value,
- twitter = twitter.value,
- mastodon = mastodon.value,
- github = github.value,
- )
+ suspend fun create() {
+ val metadata =
+ account.userMetadata.sendNewUserMetadata(
+ name = name.value,
+ displayName = displayName.value,
+ picture = picture.value,
+ banner = banner.value,
+ website = website.value,
+ pronouns = pronouns.value,
+ about = about.value,
+ nip05 = nip05.value,
+ lnAddress = lnAddress.value,
+ lnURL = lnURL.value,
+ twitter = twitter.value,
+ mastodon = mastodon.value,
+ github = github.value,
+ )
- account.sendLiterallyEverywhere(metadata)
+ account.sendLiterallyEverywhere(metadata)
- clear()
- }
+ clear()
}
fun clear() {
- // userName.value = ""
+ name.value = ""
displayName.value = ""
about.value = ""
picture.value = ""
diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml
index 212407e46..d033e2736 100644
--- a/amethyst/src/main/res/values/strings.xml
+++ b/amethyst/src/main/res/values/strings.xml
@@ -147,6 +147,8 @@
Add a User
Add a Relay
Name
+ Name (for @tagging)
+ My @tag name
Display Name
My display name
Ostrich McAwesome