diff --git a/README.md b/README.md index 393f0875..d2a72800 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,12 @@ --- +## Support the project + +If Hermes Mobile is useful to you, consider supporting its development on [Ko-fi](https://ko-fi.com/m_5_7). + +--- + ## Screenshots
diff --git a/app/src/main/java/com/m57/hermescontrol/ui/settings/SettingsScreen.kt b/app/src/main/java/com/m57/hermescontrol/ui/settings/SettingsScreen.kt
index 071af035..7e4d9ce3 100644
--- a/app/src/main/java/com/m57/hermescontrol/ui/settings/SettingsScreen.kt
+++ b/app/src/main/java/com/m57/hermescontrol/ui/settings/SettingsScreen.kt
@@ -46,6 +46,7 @@ import com.m57.hermescontrol.SettingsVault
import com.m57.hermescontrol.theme.ThemePreference
import com.m57.hermescontrol.ui.common.HermesScaffold
import com.m57.hermescontrol.ui.common.NavIcon
+import com.m57.hermescontrol.ui.settings.components.SupportSection
import com.m57.hermescontrol.ui.settings.components.languageLabel
@Composable
@@ -133,6 +134,7 @@ fun SettingsScreen(
),
),
)
+ SupportSection()
}
}
}
diff --git a/app/src/main/java/com/m57/hermescontrol/ui/settings/components/SupportSection.kt b/app/src/main/java/com/m57/hermescontrol/ui/settings/components/SupportSection.kt
new file mode 100644
index 00000000..e09f41bb
--- /dev/null
+++ b/app/src/main/java/com/m57/hermescontrol/ui/settings/components/SupportSection.kt
@@ -0,0 +1,57 @@
+package com.m57.hermescontrol.ui.settings.components
+
+import android.content.Intent
+import android.net.Uri
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Button
+import androidx.compose.material3.Card
+import androidx.compose.material3.CardDefaults
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.unit.dp
+import com.m57.hermescontrol.R
+
+private const val KO_FI_URL = "https://ko-fi.com/m_5_7"
+
+@Composable
+internal fun SupportSection() {
+ val context = LocalContext.current
+
+ Card(
+ modifier = Modifier.fillMaxWidth(),
+ colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surface),
+ elevation = CardDefaults.cardElevation(1.dp),
+ ) {
+ Column(modifier = Modifier.fillMaxWidth().padding(16.dp)) {
+ Text(
+ text = stringResource(R.string.settings_support_title),
+ style = MaterialTheme.typography.titleMedium,
+ )
+ Spacer(modifier = Modifier.height(8.dp))
+ Text(
+ text = stringResource(R.string.settings_support_message),
+ style = MaterialTheme.typography.bodyMedium,
+ color = MaterialTheme.colorScheme.onSurfaceVariant,
+ )
+ Spacer(modifier = Modifier.height(12.dp))
+ Button(
+ onClick = {
+ runCatching {
+ context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(KO_FI_URL)))
+ }
+ },
+ modifier = Modifier.fillMaxWidth(),
+ ) {
+ Text(stringResource(R.string.settings_support_action))
+ }
+ }
+ }
+}
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 44861de2..dc295d82 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -203,6 +203,9 @@