mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-11-10 13:57:10 +01:00
Make a method specially for cloning/copying. Refactor createListWithDescription().
This commit is contained in:
@@ -191,11 +191,10 @@ class FollowSetFeedViewModel(
|
||||
println("You are in read-only mode. Please login to make modifications.")
|
||||
} else {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
PeopleListEvent.createListWithDescription(
|
||||
PeopleListEvent.copy(
|
||||
dTag = UUID.randomUUID().toString(),
|
||||
title = customCloneName ?: currentFollowSet.title,
|
||||
description = customCloneDescription ?: currentFollowSet.description,
|
||||
isPrivate = false,
|
||||
firstPublicMembers = currentFollowSet.publicProfiles.toList(),
|
||||
firstPrivateMembers = currentFollowSet.privateProfiles.toList(),
|
||||
signer = account.signer,
|
||||
|
||||
@@ -229,53 +229,55 @@ class PeopleListEvent(
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
onReady: (PeopleListEvent) -> Unit,
|
||||
) {
|
||||
if (description == null) {
|
||||
val newListTemplate =
|
||||
build(
|
||||
name = title,
|
||||
publicPeople =
|
||||
if (!isPrivate && firstPublicMembers.isNotEmpty()) {
|
||||
firstPublicMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
privatePeople =
|
||||
if (isPrivate && firstPrivateMembers.isNotEmpty()) {
|
||||
firstPrivateMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
signer = signer,
|
||||
dTag = dTag,
|
||||
createdAt = createdAt,
|
||||
)
|
||||
val newList = signer.sign(newListTemplate)
|
||||
onReady(newList)
|
||||
} else {
|
||||
val event =
|
||||
build(
|
||||
name = title,
|
||||
publicPeople =
|
||||
if (!isPrivate && firstPublicMembers.isNotEmpty()) {
|
||||
firstPublicMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
privatePeople =
|
||||
if (isPrivate && firstPrivateMembers.isNotEmpty()) {
|
||||
firstPrivateMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
signer = signer,
|
||||
dTag = dTag,
|
||||
createdAt = createdAt,
|
||||
) {
|
||||
addUnique(DescriptionTag.assemble(description))
|
||||
}
|
||||
val list = signer.sign(event)
|
||||
onReady(list)
|
||||
}
|
||||
val newListTemplate =
|
||||
build(
|
||||
name = title,
|
||||
publicPeople =
|
||||
if (!isPrivate && firstPublicMembers.isNotEmpty()) {
|
||||
firstPublicMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
privatePeople =
|
||||
if (isPrivate && firstPrivateMembers.isNotEmpty()) {
|
||||
firstPrivateMembers.map { UserTag(pubKey = it) }
|
||||
} else {
|
||||
emptyList()
|
||||
},
|
||||
signer = signer,
|
||||
dTag = dTag,
|
||||
createdAt = createdAt,
|
||||
) {
|
||||
if (description != null) addUnique(DescriptionTag.assemble(description))
|
||||
}
|
||||
val newList = signer.sign(newListTemplate)
|
||||
onReady(newList)
|
||||
}
|
||||
|
||||
suspend fun copy(
|
||||
dTag: String,
|
||||
title: String,
|
||||
description: String? = null,
|
||||
firstPublicMembers: List<String> = emptyList(),
|
||||
firstPrivateMembers: List<String> = emptyList(),
|
||||
signer: NostrSigner,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
onReady: (PeopleListEvent) -> Unit,
|
||||
) {
|
||||
val cloneTemplate =
|
||||
build(
|
||||
name = title,
|
||||
publicPeople = firstPublicMembers.map { UserTag(pubKey = it) },
|
||||
privatePeople = firstPrivateMembers.map { UserTag(pubKey = it) },
|
||||
signer = signer,
|
||||
dTag = dTag,
|
||||
createdAt = createdAt,
|
||||
) {
|
||||
if (description != null) addUnique(DescriptionTag.assemble(description))
|
||||
}
|
||||
|
||||
val listClone = signer.sign(cloneTemplate)
|
||||
onReady(listClone)
|
||||
}
|
||||
|
||||
suspend fun createListWithUser(
|
||||
|
||||
Reference in New Issue
Block a user