feat(settings): add Ko-fi support link

This commit is contained in:
M57 committed 2026-09-13 20:48:55 +03:00
1 parent 7d5deced7e
commit c96e3b699a
7 files changed
+77

No files matched your search

@@ -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()
}
}
}
@@ -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))
}
}
}
}