From a9c67a5827a433bbbb7292cf79d576c3ed0e9a44 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Thu, 25 Jun 2026 12:39:49 +0200 Subject: [PATCH] feat(about): add Ko-fi support link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an optional way for users to support development: - About card: tonal "Support development" button opening ko-fi.com via ACTION_VIEW (no INTERNET permission), EN + DE strings - F-Droid metadata: Donate field in self-hosted and official drafts - README: short Support section with the Ko-fi link No perks/rewards attached — kept as a plain donation link. Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 11 +++++++++++ .../calendula/ui/settings/SettingsScreen.kt | 16 ++++++++++++++++ app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ .../de.jeanlucmakiola.calendula.yml | 1 + fdroid-metadata/de.jeanlucmakiola.calendula.yml | 1 + 6 files changed, 32 insertions(+) diff --git a/README.md b/README.md index 6753ecc..ce22130 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,17 @@ Next up: power-user features — widget, search, tablet layouts. The living roadmap is in [.planning/ROADMAP.md](.planning/ROADMAP.md), the release history in [CHANGELOG.md](CHANGELOG.md). +## 💛 Support + +Calendula is free, open source, and built by one person in their own time — +with no ads, no tracking, and no internet permission. If it makes your days a +little calmer and you'd like to support its continued development, you can buy +me a coffee: + +[**☕ ko-fi.com/jeanlucmakiola**](https://ko-fi.com/jeanlucmakiola) + +Entirely optional, always appreciated. 🌼 + ## 📜 License [MIT](LICENSE) — Jean-Luc Makiola, 2026 diff --git a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt index 5863ebd..21a8f7a 100644 --- a/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt +++ b/app/src/main/java/de/jeanlucmakiola/calendula/ui/settings/SettingsScreen.kt @@ -42,11 +42,13 @@ import androidx.compose.material.icons.filled.CalendarMonth import androidx.compose.material.icons.filled.Check import androidx.compose.material.icons.filled.ExpandLess import androidx.compose.material.icons.filled.ExpandMore +import androidx.compose.material.icons.filled.Favorite import androidx.compose.material.icons.filled.Gavel import androidx.compose.material.icons.filled.Language import androidx.compose.material.icons.filled.Notifications import androidx.compose.material.icons.filled.Palette import androidx.compose.material.icons.filled.Tune +import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton @@ -292,6 +294,7 @@ private fun AboutCard() { val context = LocalContext.current val sourceUrl = stringResource(R.string.about_source_url) val licenseUrl = stringResource(R.string.about_license_url) + val supportUrl = stringResource(R.string.about_support_url) Surface( color = MaterialTheme.colorScheme.surfaceContainerHigh, @@ -350,6 +353,19 @@ private fun AboutCard() { Text(stringResource(R.string.settings_license)) } } + Spacer(Modifier.height(8.dp)) + FilledTonalButton( + onClick = { openUrl(context, supportUrl) }, + modifier = Modifier.fillMaxWidth(), + ) { + Icon( + Icons.Default.Favorite, + contentDescription = null, + modifier = Modifier.size(18.dp), + ) + Spacer(Modifier.width(8.dp)) + Text(stringResource(R.string.settings_about_support)) + } } } } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 42e7f52..aa24a30 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -315,6 +315,7 @@ MIT von Jean-Luc Makiola Quellcode + Entwicklung unterstützen Version %1$s Calendula-App-Symbol Problem melden diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c3c6725..1be5841 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -308,6 +308,7 @@ MIT by Jean-Luc Makiola Source + Support development Version %1$s Calendula app icon Report a problem @@ -378,6 +379,7 @@ https://gitea.jeanlucmakiola.de/makiolaj/calendula https://gitea.jeanlucmakiola.de/makiolaj/calendula/src/branch/main/LICENSE + https://ko-fi.com/jeanlucmakiola diff --git a/docs/fdroid-official/de.jeanlucmakiola.calendula.yml b/docs/fdroid-official/de.jeanlucmakiola.calendula.yml index 5588023..45a7a3e 100644 --- a/docs/fdroid-official/de.jeanlucmakiola.calendula.yml +++ b/docs/fdroid-official/de.jeanlucmakiola.calendula.yml @@ -21,6 +21,7 @@ AuthorName: Jean-Luc Makiola SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/calendula IssueTracker: https://gitea.jeanlucmakiola.de/makiolaj/calendula/issues Changelog: https://gitea.jeanlucmakiola.de/makiolaj/calendula/src/branch/main/CHANGELOG.md +Donate: https://ko-fi.com/jeanlucmakiola AutoName: Calendula diff --git a/fdroid-metadata/de.jeanlucmakiola.calendula.yml b/fdroid-metadata/de.jeanlucmakiola.calendula.yml index 01c5526..2f6581e 100644 --- a/fdroid-metadata/de.jeanlucmakiola.calendula.yml +++ b/fdroid-metadata/de.jeanlucmakiola.calendula.yml @@ -8,3 +8,4 @@ Categories: SourceCode: https://gitea.jeanlucmakiola.de/makiolaj/calendula IssueTracker: https://gitea.jeanlucmakiola.de/makiolaj/calendula/issues +Donate: https://ko-fi.com/jeanlucmakiola