diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
index 01b0f1beb..9ff23be26 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Report.kt
@@ -58,6 +58,7 @@ fun RenderReport(
ReportEvent.ReportType.SPAM -> stringRes(R.string.spam)
ReportEvent.ReportType.IMPERSONATION -> stringRes(R.string.impersonation)
ReportEvent.ReportType.ILLEGAL -> stringRes(R.string.illegal_behavior)
+ ReportEvent.ReportType.MALWARE -> stringRes(R.string.report_malware)
ReportEvent.ReportType.OTHER -> stringRes(R.string.other)
}
}.toSet()
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt
index a7d3e1aca..dd231bbdb 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt
@@ -1953,6 +1953,13 @@ fun UserProfileDropDownMenu(
onDismiss()
},
)
+ DropdownMenuItem(
+ text = { Text(stringRes(id = R.string.report_malware)) },
+ onClick = {
+ accountViewModel.report(user, ReportEvent.ReportType.MALWARE)
+ onDismiss()
+ },
+ )
}
}
}
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ReportNoteDialog.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ReportNoteDialog.kt
index 03121a360..9cadd746e 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ReportNoteDialog.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ReportNoteDialog.kt
@@ -77,12 +77,10 @@ fun ReportNoteDialog(
listOf(
Pair(ReportEvent.ReportType.SPAM, stringRes(R.string.report_dialog_spam)),
Pair(ReportEvent.ReportType.PROFANITY, stringRes(R.string.report_dialog_profanity)),
- Pair(
- ReportEvent.ReportType.IMPERSONATION,
- stringRes(R.string.report_dialog_impersonation),
- ),
+ Pair(ReportEvent.ReportType.IMPERSONATION, stringRes(R.string.report_dialog_impersonation)),
Pair(ReportEvent.ReportType.NUDITY, stringRes(R.string.report_dialog_nudity)),
Pair(ReportEvent.ReportType.ILLEGAL, stringRes(R.string.report_dialog_illegal)),
+ Pair(ReportEvent.ReportType.MALWARE, stringRes(R.string.report_malware)),
)
val reasonOptions = remember { reportTypes.map { TitleExplainer(it.second) }.toImmutableList() }
diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml
index 3e9cac723..11610d162 100644
--- a/amethyst/src/main/res/values/strings.xml
+++ b/amethyst/src/main/res/values/strings.xml
@@ -37,6 +37,7 @@
Report Impersonation
Report Explicit Content
Report Illegal Behaviour
+ Report Malware
You are using a public key and public keys are read-only. Login with a Private key to be able to reply
You are using a public key and public keys are read-only. Login with a Private key to be able to boost posts
You are using a public key and public keys are read-only. Login with a Private key to like posts
@@ -283,6 +284,7 @@
Malicious impersonation
Nudity or graphic content
Illegal Behavior
+ Malware
Blocking a user will hide their content in your app. Your notes are still publicly viewable, including to people you block. Blocked users are listed on the Security Filters screen.
Report Abuse
diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/ReportEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/ReportEvent.kt
index 0535c639d..ad2654ab3 100644
--- a/quartz/src/main/java/com/vitorpamplona/quartz/events/ReportEvent.kt
+++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/ReportEvent.kt
@@ -25,7 +25,10 @@ import com.vitorpamplona.quartz.encoders.HexKey
import com.vitorpamplona.quartz.signers.NostrSigner
import com.vitorpamplona.quartz.utils.TimeUtils
-@Immutable data class ReportedKey(val key: String, val reportType: ReportEvent.ReportType)
+@Immutable data class ReportedKey(
+ val key: String,
+ val reportType: ReportEvent.ReportType,
+)
// NIP 56 event.
@Immutable
@@ -119,13 +122,14 @@ class ReportEvent(
}
}
- enum class ReportType() {
+ enum class ReportType {
EXPLICIT, // Not used anymore.
ILLEGAL,
SPAM,
IMPERSONATION,
NUDITY,
PROFANITY,
+ MALWARE,
OTHER,
}
}