chore: Move support banner to changelog notification

pull/2920/head
krille-chan 1 month ago
parent a87b461fe3
commit 29d2b2bbce
No known key found for this signature in database

@ -70,8 +70,6 @@ enum AppSettings<T> {
),
tos<String>('chat.fluffy.tos_url', 'https://fluffychat.im/en/tos'),
sendTimelineEventTimeout<int>('chat.fluffy.send_timeline_event_timeout', 15),
lastSeenSupportBanner<int>('chat.fluffy.last_seen_support_banner', 0),
supportBannerOptOut<bool>('chat.fluffy.support_banner_opt_out', false),
webNotificationSound<bool>('chat.fluffy.web_notification_sound', true),
chatFilter<String>('chat.fluffy.chat_filter', 'allChats');

@ -2783,9 +2783,6 @@
"supportFluffyChat": "Падтрымаць FluffyChat",
"support": "Падтрымаць",
"fluffyChatSupportBannerMessage": "FluffyChat патрэбна ВАША дапамога!\n❤\nFluffyChat будзе заўсёды бясплатным, bале распрацоўка і арэнда сервероў мае свой кошт.\nБудучыня праекту залежыць ад падтрымкі людзей як вы.",
"skipSupportingFluffyChat": "Прапусціць падтрымку FluffyChat",
"iDoNotWantToSupport": "Я не хачу падтрымаць",
"iAlreadySupportFluffyChat": "Я ўжо падтрымаў FluffyChat",
"setLowPriority": "Прызначыць нізкі прыярытэт",
"unsetLowPriority": "Скасаваць нізкі прыярытэт",
"removeCallFromChat": "Прыбраць выклік з чату",
@ -2801,4 +2798,4 @@
"removeTag": "Выдаліць тэг",
"tagName": "Назва тэга",
"createNewTag": "Стварыць новы тэг"
}
}

@ -2795,9 +2795,6 @@
"supportFluffyChat": "Dona suport a FluffyChat",
"support": "Aporta",
"fluffyChatSupportBannerMessage": "El FluffyChat necessita la teva ajuda!\n❤\nFluffyChat serà sempre gratuït, però el seu desenvolupament i allotjament costa diners.\nEl futur del projecte depèn del suport de persones com tu.",
"skipSupportingFluffyChat": "Ignora el suport a FluffyChat",
"iDoNotWantToSupport": "No vull donar suport",
"iAlreadySupportFluffyChat": "Ja estic donant-hi suport",
"setLowPriority": "Estableix una prioritat baixa",
"unsetLowPriority": "Restableix la prioritat",
"removeCallFromChat": "Treu la trucada del xat",
@ -2809,4 +2806,4 @@
"joinVideoCall": "Fica't a la videotrucada",
"live": "En directe",
"playSoundOnNotification": "Notificacions sonores"
}
}

@ -2803,8 +2803,5 @@
"createNewChat": "Neuen Chat erstellen",
"supportFluffyChat": "FluffyChat unterstützen",
"support": "Unterstützen",
"fluffyChatSupportBannerMessage": "FluffyChat braucht DEINE Hilfe!\n❤\nFluffyChat wird immer kostenlos bleiben, aber Entwicklung und Hosting kosten Geld.\nDie Zukunft des Projekts hängt von deiner Unterstützung ab.",
"skipSupportingFluffyChat": "FluffyChat unterstützen überspringen",
"iDoNotWantToSupport": "Ich möchte nicht unterstützen",
"iAlreadySupportFluffyChat": "I unterstütze FluffyChat bereits"
}
"fluffyChatSupportBannerMessage": "FluffyChat braucht DEINE Hilfe!\n❤\nFluffyChat wird immer kostenlos bleiben, aber Entwicklung und Hosting kosten Geld.\nDie Zukunft des Projekts hängt von deiner Unterstützung ab."
}

@ -2784,10 +2784,7 @@
"reset": "Reset",
"supportFluffyChat": "Support FluffyChat",
"support": "Support",
"fluffyChatSupportBannerMessage": "FluffyChat needs YOUR help!\n❤\nFluffyChat will always be free, but development and hosting still cost money.\nThe future of the project depends on support from people like you.",
"skipSupportingFluffyChat": "Skip supporting FluffyChat",
"iDoNotWantToSupport": "I do not want to support",
"iAlreadySupportFluffyChat": "I already support FluffyChat",
"fluffyChatSupportBannerMessage": "FluffyChat needs YOUR help!\nis an independent non-profit project. We dont show ads or sell data, which means our development depends entirely on our community.\n\nTo keep the project going and available for everyone, we rely on people like you. If you find the app useful, please consider a small contribution to support our work.",
"setLowPriority": "Set low priority",
"unsetLowPriority": "Unset low priority",
"removeCallFromChat": "Remove call from chat",

@ -2804,9 +2804,6 @@
"supportFluffyChat": "Apoyar FluffyChat",
"support": "Apoyar",
"fluffyChatSupportBannerMessage": "FluffyChat necesita TU ayuda!\n❤\nFluffyChat siempre sera gratis, pero el desarrollo y mantenimiento cuesta dinero.\nEl futuro del proyecto depende del apoyo de personas como tu.",
"skipSupportingFluffyChat": "Omitir apoyo a FluffyChat",
"iDoNotWantToSupport": "No quiero apoyar",
"iAlreadySupportFluffyChat": "Ya apoyo FluffyChat",
"setLowPriority": "Colocar baja prioridad",
"unsetLowPriority": "Desactivar baja prioridad",
"removeCallFromChat": "Remover llamadas del chat",
@ -2822,4 +2819,4 @@
"removeTag": "Remover etiqueta",
"tagName": "Nombre de etiqueta",
"createNewTag": "Crear nueva etiqueta"
}
}

@ -2795,10 +2795,7 @@
"reset": "Lähtesta",
"supportFluffyChat": "Toeta FluffyChati",
"support": "Toeta meid",
"iAlreadySupportFluffyChat": "Ma juba toetan FluffyChati arendust",
"fluffyChatSupportBannerMessage": "FluffyChat vajab SINU abi!\n❤\nFluffyChat jääb alati vabaks ja vabalt saadavaks, aga arendus ja serveriteenused vajavad ikkagi rahastamist.\nMeie projekti tulevik sõltub sinust ja teistest kasutajatest, nagu sina.",
"skipSupportingFluffyChat": "Jäta FluffyChati toetamine vahele",
"iDoNotWantToSupport": "Ma ei soovi toetada",
"setLowPriority": "Märgi vähetähtsaks",
"unsetLowPriority": "Eemalda märkimine vähetähtsaks",
"removeCallFromChat": "Eemalda kõne vestlusest",
@ -2814,4 +2811,4 @@
"removeTag": "Eemalda silt",
"tagName": "Sildi nimi",
"createNewTag": "Lisa uus silt"
}
}

@ -2796,8 +2796,6 @@
"supportFluffyChat": "Eman babesa FluffyChat-i",
"support": "Lagundu",
"fluffyChatSupportBannerMessage": "FluffyChat-ek ZURE laguntza behar du!\n❤\nFluffyChat beti izango da doakoa, baina garapenak eta ostatatzeak dirua eskatzen du.\nProiektuaren etorkizuna zu bezalako pertsonen babesaren menpe dago.",
"iDoNotWantToSupport": "Ez diot babesik eman nahi",
"iAlreadySupportFluffyChat": "Laguntzen ari naiz dagoeneko FluffyChat",
"setLowPriority": "Ezarri lehentasun baxua",
"unsetLowPriority": "Kendu lehentasun baxua",
"removeCallFromChat": "Kendu deia txatetik",
@ -2808,6 +2806,5 @@
"joinVoiceCall": "Batu ahots-deira",
"joinVideoCall": "Batu bideo-deira",
"live": "Zuzenean",
"playSoundOnNotification": "Jo soinua jakinarazpenekin",
"skipSupportingFluffyChat": "Muzin egin FluffyChat-en laguntza eskaerari"
}
"playSoundOnNotification": "Jo soinua jakinarazpenekin"
}

@ -2786,9 +2786,6 @@
"supportFluffyChat": "حمایت از فلافی چت",
"support": "پشتیبانی",
"fluffyChatSupportBannerMessage": "فلافی چت به کمک شما نیاز دارد!\n❤\nفلافی چت همواره رایگان خواهد بود، اما توسعه و نگهداری از آن هزینه بر است.\nآینده این پروژه در گرو حمایت افرادی مثل شماست.",
"skipSupportingFluffyChat": "رد کردن حمایت از فلافی چت",
"iDoNotWantToSupport": "نمیخواهم حمایت کنم",
"iAlreadySupportFluffyChat": "از قبل از فلافی چت حمایت میکنم",
"setLowPriority": "تنظیم اولویت پایین",
"unsetLowPriority": "لغو تنظیم اولویت پایین",
"countVotes": "{count} رای دیگر",
@ -2800,4 +2797,4 @@
}
}
}
}
}

@ -2802,9 +2802,6 @@
"supportFluffyChat": "Tacaigh le FluffyChat",
"support": "Tacaíocht",
"fluffyChatSupportBannerMessage": "Tá DO chabhair ag teastáil ó FluffyChat!\n❤\nBeidh FluffyChat saor in aisce i gcónaí, ach cosnaíonn forbairt agus óstáil airgead fós.\nBraitheann todhchaí an tionscadail ar thacaíocht ó dhaoine cosúil leatsa.",
"skipSupportingFluffyChat": "Seachain tacú le FluffyChat",
"iDoNotWantToSupport": "Nílim ag iarraidh tacú leis",
"iAlreadySupportFluffyChat": "Tacaím le FluffyChat cheana féin",
"setLowPriority": "Socraigh tosaíocht íseal",
"unsetLowPriority": "Díshuiteáil tosaíocht íseal",
"removeCallFromChat": "Bain glao den chomhrá",
@ -2820,4 +2817,4 @@
"removeTag": "Bain an chlib",
"tagName": "Ainm an chlib",
"createNewTag": "Cruthaigh clib nua"
}
}

@ -2796,9 +2796,6 @@
"supportFluffyChat": "Apoia a FluffyChat",
"support": "Axuda",
"fluffyChatSupportBannerMessage": "FluffyChat precisa a TÚA axuda!\n❤\nFluffyChat vai ser sempre gratuíta, pero o desenvolvemento e a hospedaxe costan cartos.\nO futuro do proxecto depende da axuda de persoas coma ti.",
"skipSupportingFluffyChat": "Omitir apoiar a FluffyChat",
"iDoNotWantToSupport": "Non quero axudar",
"iAlreadySupportFluffyChat": "Xa apoiei a FluffyChat",
"setLowPriority": "Establecer prioridade baixa",
"unsetLowPriority": "Non establecer prioridade baixa",
"removeCallFromChat": "Eliminar a chamada da conversa",
@ -2814,4 +2811,4 @@
"removeTag": "Retirar etiqueta",
"tagName": "Nome da etiqueta",
"createNewTag": "Crear nova etiqueta"
}
}

@ -2795,9 +2795,6 @@
"supportFluffyChat": "Dukung FluffyChat",
"support": "Dukungan",
"fluffyChatSupportBannerMessage": "FluffyChat membutuhkan bantuan ANDA!\n❤\nFluffyChat akan selalu gratis, tetapi pengembangan dan hosting tetap membutuhkan biaya.\nMasa depan proyek ini bergantung pada dukungan dari orang-orang seperti Anda.",
"skipSupportingFluffyChat": "Lewati dukungan FluffyChat",
"iDoNotWantToSupport": "Saya tidak ingin memberikan dukungan",
"iAlreadySupportFluffyChat": "Saya sudah mendukung FluffyChat",
"setLowPriority": "Atur prioritas rendah",
"unsetLowPriority": "Batalkan prioritas rendah",
"removeCallFromChat": "Hapus panggilan dari obrolan",
@ -2813,4 +2810,4 @@
"removeTag": "Hapus tag",
"tagName": "Nama tag",
"createNewTag": "Buat tag baru"
}
}

@ -2396,4 +2396,4 @@
"notificationRuleMasterDescription": "全ルールを上書きして通知をすべて無効にします。",
"notificationRuleIsUserMention": "ユーザーの言及",
"notificationRuleIsUserMentionDescription": "ユーザーがメッセージ内で直接言及されたときに通知します。"
}
}

@ -2188,4 +2188,4 @@
}
},
"startVideoCall": "Bdu asiwel n uvidyu"
}
}

@ -2759,4 +2759,4 @@
"signUpGreeting": "FluffyChat ir decentralizēta. Jāatlasa serveris, kurā ir vēlēšanās izveidot savu kontu, un aiziet!",
"signInGreeting": "Jau ir Matrix konts? Laipni lūdzam atpakaļ! Jāatlasa savs mājasserveris un jāpiesakās.",
"appIntro": "Ar FluffyChat vari tērzēt ar saviem draugiem. Tā ir droša un decentralizēta [matrix] ziņapmaiņas lietotne. Vairāk var uzzināt https://matrix.org, ja ir vēlēšanās, vai vienkārši jāpiesakās."
}
}

@ -2803,9 +2803,6 @@
"supportFluffyChat": "Støtt FluffyChat",
"support": "Støtte",
"fluffyChatSupportBannerMessage": "FluffyChat trenger DIN hjelp!\n❤\nFluffyChat vil alltid være gratis, men utvikling og drift koster fortsatt penger. \nProsjektets fremtid avhenger av støtte fra folk som deg.",
"skipSupportingFluffyChat": "Hopp over støtte til FluffyChat",
"iDoNotWantToSupport": "Jeg ønsker ikke å støtte",
"iAlreadySupportFluffyChat": "Jeg støtter allerede FluffyChat",
"setLowPriority": "Sett lav prioritet",
"unsetLowPriority": "Fjern lav prioritet",
"removeCallFromChat": "Fjern anrop fra chat",
@ -2821,4 +2818,4 @@
"removeTag": "Fjern emneknagg",
"tagName": "Navn på emneknagg",
"createNewTag": "Opprett ny emneknagg"
}
}

@ -2793,9 +2793,6 @@
"createNewChat": "Creëer nieuw chat",
"reset": "Herstellen",
"fluffyChatSupportBannerMessage": "Fluffy Chat heeft JOUW hulp nodig. _\n❤\nFluffyChat zal altijd gratis zijn, maar ontwikkeling en hosting kost geld.\nDe toekomst van het project hangt af van steun van mensen zoals jij.",
"skipSupportingFluffyChat": "FluffyChat steunen overslaan",
"iDoNotWantToSupport": "Ik wil niet ondersteunen",
"iAlreadySupportFluffyChat": "Ik steun FluffyChat al",
"supportFluffyChat": "FluffyChat steunen",
"support": "Steunen",
"setLowPriority": "Lage prioriteit instellen",
@ -2813,4 +2810,4 @@
"removeTag": "Tag verwijderen",
"tagName": "Tagnaam",
"createNewTag": "Nieuwe tag maken"
}
}

@ -2750,9 +2750,6 @@
"supportFluffyChat": "Wesprzyj FluffyChat",
"support": "Wsparcie",
"fluffyChatSupportBannerMessage": "FluffyChat potrzebuje TWOJEJ pomocy!\n❤\nFluffyChat zawsze będzie darmowy, ale rozwój i hosting nadal kosztują.\nPrzyszłość projektu zależy od wsparcia osób takich jak Ty.",
"skipSupportingFluffyChat": "Pomiń wspieranie FluffyChat",
"iDoNotWantToSupport": "Nie chcę wspierać",
"iAlreadySupportFluffyChat": "Już wspieram FluffyChat",
"setLowPriority": "Ustaw niski priorytet",
"unsetLowPriority": "Cofnij niski priorytet",
"removeCallFromChat": "Usuń połączenie z czatu",
@ -2814,4 +2811,4 @@
"stickerPackNameAlreadyExists": "Paczka naklejek o tej nazwie już istnieje",
"newStickerPack": "Nowy pakiet naklejek",
"stickerPackName": "Nazwa paczki naklejek"
}
}

@ -2796,9 +2796,6 @@
"supportFluffyChat": "Поддержите FluffyChat",
"support": "Поддержка",
"fluffyChatSupportBannerMessage": "FluffyChat нуждается в ВАШЕЙ помощи!\n❤\nFluffyChat всегда будет бесплатным, но разработка и хостинг всё равно требуют затрат.\nБудущее проекта зависит от поддержки таких людей, как вы.",
"skipSupportingFluffyChat": "Пропустить помощь FluffyChat",
"iAlreadySupportFluffyChat": "Я уже поддерживаю FluffyChat",
"iDoNotWantToSupport": "Я не хочу поддерживать",
"setLowPriority": "Установить низкий приоритет",
"unsetLowPriority": "Неопределенный приоритет",
"removeCallFromChat": "Удалить сообщение из чата",
@ -2814,4 +2811,4 @@
"removeTag": "Удалить тег",
"tagName": "Название тега",
"createNewTag": "Создать новый тег"
}
}

@ -2644,4 +2644,4 @@
"logs": "Loggar",
"signIn": "Logga in",
"createNewAccount": "Skapa nytt konto"
}
}

@ -2796,9 +2796,6 @@
"supportFluffyChat": "Підтримати FluffyChat",
"support": "Підтримка",
"fluffyChatSupportBannerMessage": "FluffyChat потребує Вашої підтримки!\n❤\nFluffyChat завжди залишатиметься безкоштовним, однак розробка та хостинг потребують коштів.\nМайбутнє проєкту залежить від підтримки людей, як Ви.",
"skipSupportingFluffyChat": "Пропустити підтримку FluffyChat",
"iDoNotWantToSupport": "Я не хочу підтримувати",
"iAlreadySupportFluffyChat": "Я вже підтримую FluffyChat",
"setLowPriority": "Встановити низький пріоритет",
"unsetLowPriority": "Скинути низький пріоритет",
"removeCallFromChat": "Видалити виклик з чату",
@ -2814,4 +2811,4 @@
"removeTag": "Видалити тег",
"tagName": "Назва тегу",
"createNewTag": "Створити новий тег"
}
}

@ -2796,9 +2796,6 @@
"supportFluffyChat": "支持 FluffyChat",
"support": "支持",
"fluffyChatSupportBannerMessage": "FluffyChat 需要您的帮助!\n❤\nFluffyChat 将始终免费,但开发和托管仍然要花钱。\n项目的未来仰赖像您这样的人的支持。",
"skipSupportingFluffyChat": "跳过支持 FluffyChar",
"iDoNotWantToSupport": "我不想支持",
"iAlreadySupportFluffyChat": "我已支持 FluffyChat",
"setLowPriority": "设置低优先级",
"unsetLowPriority": "取消设置低优先级",
"removeCallFromChat": "从聊天中删除通话",
@ -2814,4 +2811,4 @@
"removeTag": "删除标签",
"tagName": "标签名",
"createNewTag": "创建新标签"
}
}

@ -23,7 +23,6 @@ import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:url_launcher/url_launcher_string.dart';
import '../../../utils/account_bundles.dart';
import '../../config/setting_keys.dart';
@ -375,7 +374,6 @@ class ChatListController extends State<ChatList>
_hackyWebRTCFixForWeb();
WidgetsBinding.instance.addPostFrameCallback((_) {
if (mounted) {
_showLastSeenSupportBanner();
searchServer = Matrix.of(
context,
).store.getString(_serverStoreNamespace);
@ -427,82 +425,6 @@ class ChatListController extends State<ChatList>
super.dispose();
}
Future<void> _showLastSeenSupportBanner() async {
if (AppSettings.supportBannerOptOut.value) return;
if (AppSettings.lastSeenSupportBanner.value == 0) {
await AppSettings.lastSeenSupportBanner.setItem(
DateTime.now().millisecondsSinceEpoch,
);
return;
}
final lastSeenSupportBanner = DateTime.fromMillisecondsSinceEpoch(
AppSettings.lastSeenSupportBanner.value,
);
if (DateTime.now().difference(lastSeenSupportBanner) >=
Duration(days: 6 * 7)) {
final theme = Theme.of(context);
final messenger = ScaffoldMessenger.of(context);
messenger.showMaterialBanner(
MaterialBanner(
backgroundColor: theme.colorScheme.errorContainer,
leading: CloseButton(
color: theme.colorScheme.onErrorContainer,
onPressed: () async {
final okCancelResult = await showOkCancelAlertDialog(
context: context,
title: L10n.of(context).skipSupportingFluffyChat,
message: L10n.of(context).fluffyChatSupportBannerMessage,
okLabel: L10n.of(context).iDoNotWantToSupport,
cancelLabel: L10n.of(context).iAlreadySupportFluffyChat,
isDestructive: true,
);
switch (okCancelResult) {
case null:
return;
case OkCancelResult.ok:
messenger.clearMaterialBanners();
return;
case OkCancelResult.cancel:
messenger.clearMaterialBanners();
await AppSettings.supportBannerOptOut.setItem(true);
return;
}
},
),
content: Padding(
padding: const EdgeInsets.symmetric(vertical: 8.0),
child: Text(
L10n.of(context).fluffyChatSupportBannerMessage,
style: TextStyle(color: theme.colorScheme.onErrorContainer),
),
),
actions: [
TextButton(
onPressed: () {
messenger.clearMaterialBanners();
launchUrlString(
'https://fluffychat.im/faq/#how_can_i_support_fluffychat',
);
},
child: Text(
L10n.of(context).support,
style: TextStyle(color: theme.colorScheme.onErrorContainer),
),
),
],
),
);
await AppSettings.lastSeenSupportBanner.setItem(
DateTime.now().millisecondsSinceEpoch,
);
}
return;
}
Future<void> chatContextAction(
Room room,
BuildContext posContext, [

@ -10,6 +10,7 @@ abstract class UpdateNotifier {
static Future<void> showUpdateSnackBar(BuildContext context) async {
final scaffoldMessenger = ScaffoldMessenger.of(context);
final theme = Theme.of(context);
final l10n = L10n.of(context);
final currentVersion = await PlatformInfos.getVersion();
final store = await SharedPreferences.getInstance();
@ -17,15 +18,43 @@ abstract class UpdateNotifier {
if (currentVersion != storedVersion) {
if (storedVersion != null) {
scaffoldMessenger.showSnackBar(
SnackBar(
duration: const Duration(seconds: 30),
showCloseIcon: true,
content: Text(l10n.updateInstalled(currentVersion)),
action: SnackBarAction(
label: l10n.changelog,
onPressed: () => launchUrlString(AppConfig.changelogUrl),
scaffoldMessenger.showMaterialBanner(
MaterialBanner(
content: Column(
mainAxisSize: .min,
crossAxisAlignment: .stretch,
children: [
Row(
children: [
Expanded(
child: Text(
l10n.updateInstalled(currentVersion),
style: TextStyle(fontWeight: FontWeight.bold),
),
),
CloseButton(
onPressed: scaffoldMessenger.clearMaterialBanners,
),
],
),
Text(l10n.fluffyChatSupportBannerMessage),
],
),
actions: [
TextButton(
onPressed: () => launchUrlString(AppConfig.changelogUrl),
child: Text(l10n.changelog),
),
TextButton.icon(
style: TextButton.styleFrom(
backgroundColor: theme.colorScheme.errorContainer,
foregroundColor: theme.colorScheme.onErrorContainer,
),
onPressed: () => launchUrlString(AppConfig.supportUrl),
icon: Icon(Icons.favorite),
label: Text(l10n.support),
),
],
),
);
}

Loading…
Cancel
Save