diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt
index 99ef50f22..e47bcb546 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt
@@ -295,24 +295,22 @@ fun LoginPage(
}
Spacer(modifier = Modifier.height(10.dp))
- if (PackageUtils.isOrbotInstalled(context)) {
- OrbotCheckBox(
- torSettings = torSettings.value,
- onCheckedChange = {
- torSettings.value = it
- },
- onError = {
- scope.launch {
- Toast
- .makeText(
- context,
- it,
- Toast.LENGTH_LONG,
- ).show()
- }
- },
- )
- }
+ TorSettingsSetup(
+ torSettings = torSettings.value,
+ onCheckedChange = {
+ torSettings.value = it
+ },
+ onError = {
+ scope.launch {
+ Toast
+ .makeText(
+ context,
+ it,
+ Toast.LENGTH_LONG,
+ ).show()
+ }
+ },
+ )
if (isNFCOrQR.value) {
OfferTemporaryAccount(
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt
index d24cfe66d..f9b7cac89 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt
@@ -60,7 +60,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel
import com.vitorpamplona.amethyst.R
import com.vitorpamplona.amethyst.commons.hashtags.Amethyst
import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons
-import com.vitorpamplona.amethyst.service.PackageUtils
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.theme.Size10dp
@@ -181,24 +180,22 @@ fun SignUpPage(
)
}
- if (PackageUtils.isOrbotInstalled(context)) {
- OrbotCheckBox(
- torSettings = torSettings.value,
- onCheckedChange = {
- torSettings.value = it
- },
- onError = {
- scope.launch {
- Toast
- .makeText(
- context,
- it,
- Toast.LENGTH_LONG,
- ).show()
- }
- },
- )
- }
+ TorSettingsSetup(
+ torSettings = torSettings.value,
+ onCheckedChange = {
+ torSettings.value = it
+ },
+ onError = {
+ scope.launch {
+ Toast
+ .makeText(
+ context,
+ it,
+ Toast.LENGTH_LONG,
+ ).show()
+ }
+ },
+ )
Spacer(modifier = Modifier.height(Size10dp))
diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt
similarity index 74%
rename from amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt
rename to amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt
index 9ff26f26c..295a8d45a 100644
--- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt
+++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt
@@ -20,23 +20,27 @@
*/
package com.vitorpamplona.amethyst.ui.screen.loggedOff
-import androidx.compose.foundation.layout.Row
-import androidx.compose.material3.Checkbox
-import androidx.compose.material3.Text
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
-import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.buildAnnotatedString
+import androidx.compose.ui.text.withStyle
+import androidx.compose.ui.unit.dp
import com.vitorpamplona.amethyst.R
+import com.vitorpamplona.amethyst.ui.components.ClickableText
import com.vitorpamplona.amethyst.ui.stringRes
import com.vitorpamplona.amethyst.ui.tor.ConnectTorDialog
import com.vitorpamplona.amethyst.ui.tor.TorSettings
import com.vitorpamplona.amethyst.ui.tor.TorType
@Composable
-fun OrbotCheckBox(
+fun TorSettingsSetup(
torSettings: TorSettings,
onCheckedChange: (TorSettings) -> Unit,
onError: (String) -> Unit,
@@ -44,17 +48,19 @@ fun OrbotCheckBox(
var connectOrbotDialogOpen by remember { mutableStateOf(false) }
var activeTor by remember { mutableStateOf(false) }
- Row(verticalAlignment = Alignment.CenterVertically) {
- Checkbox(
- checked = activeTor,
- onCheckedChange = {
- if (it) {
- connectOrbotDialogOpen = true
- }
- },
- )
+ val text =
+ buildAnnotatedString {
+ append(stringRes(R.string.connect_via_tor1) + " ")
+ withStyle(SpanStyle(color = MaterialTheme.colorScheme.primary)) {
+ append(stringRes(R.string.connect_via_tor2))
+ }
+ }
- Text(stringRes(R.string.connect_via_tor))
+ ClickableText(
+ text = text,
+ modifier = Modifier.padding(vertical = 10.dp),
+ ) {
+ connectOrbotDialogOpen = true
}
if (connectOrbotDialogOpen) {
diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml
index f6f03077b..00eb8a506 100644
--- a/amethyst/src/main/res/values/strings.xml
+++ b/amethyst/src/main/res/values/strings.xml
@@ -404,6 +404,9 @@
Tor/Orbot setup
Connect through your Orbot setup
+ Adjust
+ Tor Settings
+
Disconnect from your Orbot/Tor?
Your data will be immediately transferred in the regular network
Yes