feat: add alert to notification settings to enable notifications

This commit is contained in:
ggurdin 2026-01-26 11:50:01 -05:00
parent dbe75a887f
commit eaff255d06
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
60 changed files with 678 additions and 54 deletions

View file

@ -59,6 +59,9 @@ post_install do |installer|
'$(inherited)',
# dart: PermissionGroup.microphone
'PERMISSION_MICROPHONE=1',
## dart: PermissionGroup.notification
'PERMISSION_NOTIFICATIONS=1',
]
end
end

View file

@ -1,6 +1,6 @@
{
"@@locale": "ar",
"@@last_modified": "2026-01-22 12:01:48.002470",
"@@last_modified": "2026-01-26 11:48:01.000838",
"about": "حول",
"@about": {
"type": "String",
@ -11141,5 +11141,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "بانجيا شات هو تطبيق رسائل لذا فإن الإشعارات مهمة!",
"enableNotificationsDesc": "السماح بالإشعارات",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1911,7 +1911,7 @@
"playWithAI": "Пакуль гуляйце з ШІ",
"courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!",
"@@locale": "be",
"@@last_modified": "2026-01-22 12:01:33.641094",
"@@last_modified": "2026-01-26 11:47:48.294839",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12023,5 +12023,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat - гэта прыкладанне для адпраўкі паведамленняў, таму апавяшчэнні важныя!",
"enableNotificationsDesc": "Дазволіць апавяшчэнні",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:02:02.719528",
"@@last_modified": "2026-01-26 11:48:14.501814",
"about": "সম্পর্কে",
"@about": {
"type": "String",
@ -12028,5 +12028,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "প্যাঙ্গিয়া চ্যাট একটি টেক্সটিং অ্যাপ, তাই নোটিফিকেশন গুরুত্বপূর্ণ!",
"enableNotificationsDesc": "নোটিফিকেশন অনুমোদন করুন",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4279,7 +4279,7 @@
"joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།",
"startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།",
"@@locale": "bo",
"@@last_modified": "2026-01-22 12:01:59.937396",
"@@last_modified": "2026-01-26 11:48:11.432988",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -10678,5 +10678,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikacija za slanje poruka, pa su obaveštenja važna!",
"enableNotificationsDesc": "Dozvoli obaveštenja",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:35.625715",
"@@last_modified": "2026-01-26 11:47:50.044446",
"about": "Quant a",
"@about": {
"type": "String",
@ -10948,5 +10948,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat és una aplicació de missatgeria, així que les notificacions són importants!",
"enableNotificationsDesc": "Permetre notificacions",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "cs",
"@@last_modified": "2026-01-22 12:01:30.360444",
"@@last_modified": "2026-01-26 11:47:44.607869",
"about": "O aplikaci",
"@about": {
"type": "String",
@ -11531,5 +11531,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikace pro zasílání zpráv, takže jsou oznámení důležitá!",
"enableNotificationsDesc": "Povolit oznámení",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1930,7 +1930,7 @@
"playWithAI": "Leg med AI for nu",
"courseStartDesc": "Pangea Bot er klar til at starte når som helst!\n\n...men læring er bedre med venner!",
"@@locale": "da",
"@@last_modified": "2026-01-22 12:00:57.389253",
"@@last_modified": "2026-01-26 11:47:14.921658",
"@aboutHomeserver": {
"type": "String",
"placeholders": {
@ -11985,5 +11985,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat er en beskedapp, så notifikationer er vigtige!",
"enableNotificationsDesc": "Tillad notifikationer",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "de",
"@@last_modified": "2026-01-22 12:01:22.683777",
"@@last_modified": "2026-01-26 11:47:37.243801",
"alwaysUse24HourFormat": "true",
"@alwaysUse24HourFormat": {
"description": "Set to true to always display time of day in 24 hour format."
@ -10931,5 +10931,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat ist eine Messaging-App, daher sind Benachrichtigungen wichtig!",
"enableNotificationsDesc": "Benachrichtigungen erlauben",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4456,7 +4456,7 @@
"playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν",
"courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!",
"@@locale": "el",
"@@last_modified": "2026-01-22 12:02:10.279313",
"@@last_modified": "2026-01-26 11:48:20.352790",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11982,5 +11982,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Η Pangea Chat είναι μια εφαρμογή μηνυμάτων, οπότε οι ειδοποιήσεις είναι σημαντικές!",
"enableNotificationsDesc": "Επιτρέψτε τις ειδοποιήσεις",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -5070,5 +5070,7 @@
},
"findCourse": "Find a course",
"publicInviteDescChat": "Search for users to invite them to this chat.",
"publicInviteDescSpace": "Search for users to invite them to this space."
"publicInviteDescSpace": "Search for users to invite them to this space.",
"enableNotificationsTitle": "Pangea Chat is a texting app so notifications are important!",
"enableNotificationsDesc": "Allow notifications"
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:02:15.725740",
"@@last_modified": "2026-01-26 11:48:24.670000",
"about": "Prio",
"@about": {
"type": "String",
@ -12013,5 +12013,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat estas aplikaĵo por mesaĝado, do notifikoj estas gravaj!",
"enableNotificationsDesc": "Permesi notifikojn",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "es",
"@@last_modified": "2026-01-22 12:00:51.625942",
"@@last_modified": "2026-01-26 11:47:09.685186",
"about": "Acerca de",
"@about": {
"type": "String",
@ -8158,5 +8158,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "¡Pangea Chat es una aplicación de mensajería, así que las notificaciones son importantes!",
"enableNotificationsDesc": "Permitir notificaciones",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "et",
"@@last_modified": "2026-01-22 12:01:20.400166",
"@@last_modified": "2026-01-26 11:47:35.554950",
"about": "Rakenduse teave",
"@about": {
"type": "String",
@ -11195,5 +11195,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat on sõnumite rakendus, seega on teavitused olulised!",
"enableNotificationsDesc": "Luba teavitused",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "eu",
"@@last_modified": "2026-01-22 12:01:17.457241",
"@@last_modified": "2026-01-26 11:47:32.632179",
"about": "Honi buruz",
"@about": {
"type": "String",
@ -10924,5 +10924,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat mezularitza aplikazio bat da, beraz jakinarazpenak garrantzitsuak dira!",
"enableNotificationsDesc": "Baimendu jakinarazpenak",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:02:04.083596",
"@@last_modified": "2026-01-26 11:48:15.757878",
"repeatPassword": "تکرار رمزعبور",
"@repeatPassword": {},
"about": "درباره",
@ -11656,5 +11656,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "چت پانگه‌آ یک اپلیکیشن پیام‌رسان است، بنابراین اعلان‌ها مهم هستند!",
"enableNotificationsDesc": "اجازه دادن به اعلان‌ها",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4009,7 +4009,7 @@
"playWithAI": "Leiki tekoälyn kanssa nyt",
"courseStartDesc": "Pangea Bot on valmis milloin tahansa!\n\n...mutta oppiminen on parempaa ystävien kanssa!",
"@@locale": "fi",
"@@last_modified": "2026-01-22 12:00:55.098205",
"@@last_modified": "2026-01-26 11:47:13.574227",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11547,5 +11547,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat on viestintäsovellus, joten ilmoitukset ovat tärkeitä!",
"enableNotificationsDesc": "Salli ilmoitukset",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2787,7 +2787,7 @@
"selectAll": "Piliin lahat",
"deselectAll": "Huwag piliin lahat",
"@@locale": "fil",
"@@last_modified": "2026-01-22 12:01:44.028462",
"@@last_modified": "2026-01-26 11:47:56.799909",
"@setCustomPermissionLevel": {
"type": "String",
"placeholders": {}
@ -11900,5 +11900,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Ang Pangea Chat ay isang texting app kaya't mahalaga ang mga notification!",
"enableNotificationsDesc": "Pahintulutan ang mga notification",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "fr",
"@@last_modified": "2026-01-22 12:02:23.383738",
"@@last_modified": "2026-01-26 11:48:32.415854",
"about": "À propos",
"@about": {
"type": "String",
@ -11248,5 +11248,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat est une application de messagerie, donc les notifications sont importantes !",
"enableNotificationsDesc": "Autoriser les notifications",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4517,7 +4517,7 @@
"playWithAI": "Imir le AI faoi láthair",
"courseStartDesc": "Tá Bot Pangea réidh chun dul am ar bith!\n\n...ach is fearr foghlaim le cairde!",
"@@locale": "ga",
"@@last_modified": "2026-01-22 12:02:22.009738",
"@@last_modified": "2026-01-26 11:48:31.208038",
"@customReaction": {
"type": "String",
"placeholders": {}
@ -10922,5 +10922,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Is aip téacsála í Pangea Chat mar sin tá fógraí tábhachtach!",
"enableNotificationsDesc": "Cuir fógraí ar cead",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "gl",
"@@last_modified": "2026-01-22 12:00:52.883998",
"@@last_modified": "2026-01-26 11:47:11.486758",
"about": "Acerca de",
"@about": {
"type": "String",
@ -10921,5 +10921,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat é unha aplicación de mensaxería, así que as notificacións son importantes!",
"enableNotificationsDesc": "Permitir notificacións",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:11.911490",
"@@last_modified": "2026-01-26 11:47:25.961561",
"about": "אודות",
"@about": {
"type": "String",
@ -11973,5 +11973,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat היא אפליקציית הודעות, ולכן התראות הן חשובות!",
"enableNotificationsDesc": "אפשר התראות",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4483,7 +4483,7 @@
"playWithAI": "अभी के लिए एआई के साथ खेलें",
"courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!",
"@@locale": "hi",
"@@last_modified": "2026-01-22 12:02:13.864252",
"@@last_modified": "2026-01-26 11:48:23.419158",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12009,5 +12009,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea चैट एक टेक्स्टिंग ऐप है इसलिए सूचनाएँ महत्वपूर्ण हैं!",
"enableNotificationsDesc": "सूचनाएँ अनुमति दें",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "hr",
"@@last_modified": "2026-01-22 12:01:10.402528",
"@@last_modified": "2026-01-26 11:47:24.842765",
"about": "Informacije",
"@about": {
"type": "String",
@ -11296,5 +11296,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikacija za slanje poruka, stoga su obavijesti važne!",
"enableNotificationsDesc": "Dopusti obavijesti",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "hu",
"@@last_modified": "2026-01-22 12:01:00.971468",
"@@last_modified": "2026-01-26 11:47:16.627935",
"about": "Névjegy",
"@about": {
"type": "String",
@ -10925,5 +10925,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "A Pangea Chat egy üzenetküldő alkalmazás, így a értesítések fontosak!",
"enableNotificationsDesc": "Értesítések engedélyezése",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1958,7 +1958,7 @@
"playWithAI": "Joca con le IA pro ora",
"courseStartDesc": "Pangea Bot es preste a comenzar a qualunque momento!\n\n...ma apprender es melior con amicos!",
"@@locale": "ia",
"@@last_modified": "2026-01-22 12:01:13.730279",
"@@last_modified": "2026-01-26 11:47:29.072628",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12002,5 +12002,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat est un application de messagerie donc les notifications sont importantes !",
"enableNotificationsDesc": "Autoriser les notifications",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:02.729155",
"@@last_modified": "2026-01-26 11:47:17.792185",
"setAsCanonicalAlias": "Atur sebagai alias utama",
"@setAsCanonicalAlias": {
"type": "String",
@ -10915,5 +10915,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat adalah aplikasi pesan, jadi notifikasi itu penting!",
"enableNotificationsDesc": "Izinkan notifikasi",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4372,7 +4372,7 @@
"playWithAI": "Joca con AI pro ora",
"courseStartDesc": "Pangea Bot es preste a partir a qualunque momento!\n\n...ma apprender es melior con amicos!",
"@@locale": "ie",
"@@last_modified": "2026-01-22 12:01:08.955250",
"@@last_modified": "2026-01-26 11:47:23.079148",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11898,5 +11898,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat é uma aplicação de mensagens, por isso as notificações são importantes!",
"enableNotificationsDesc": "Permitir notificações",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:27.366543",
"@@last_modified": "2026-01-26 11:47:41.403817",
"about": "Informazioni",
"@about": {
"type": "String",
@ -10927,5 +10927,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat è un'app di messaggistica, quindi le notifiche sono importanti!",
"enableNotificationsDesc": "Consenti notifiche",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "ja",
"@@last_modified": "2026-01-22 12:02:12.048814",
"@@last_modified": "2026-01-26 11:48:21.991753",
"about": "このアプリについて",
"@about": {
"type": "String",
@ -11714,5 +11714,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chatはメッセージアプリなので、通知は重要です",
"enableNotificationsDesc": "通知を許可する",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2594,7 +2594,7 @@
"playWithAI": "ამ დროისთვის ითამაშეთ AI-თან",
"courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!",
"@@locale": "ka",
"@@last_modified": "2026-01-22 12:02:18.860564",
"@@last_modified": "2026-01-26 11:48:27.792615",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11954,5 +11954,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat არის ტექსტური აპლიკაცია, ამიტომ შეტყობინებები მნიშვნელოვანია!",
"enableNotificationsDesc": "შეტყობინებების დაშვება",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:00:49.883642",
"@@last_modified": "2026-01-26 11:47:07.347165",
"about": "소개",
"@about": {
"type": "String",
@ -11032,5 +11032,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat은 문자 메시지 앱이므로 알림이 중요합니다!",
"enableNotificationsDesc": "알림 허용",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -3861,7 +3861,7 @@
"playWithAI": "Žaiskite su dirbtiniu intelektu dabar",
"courseStartDesc": "Pangea botas pasiruošęs bet kada pradėti!\n\n...bet mokymasis yra geresnis su draugais!",
"@@locale": "lt",
"@@last_modified": "2026-01-22 12:01:53.612206",
"@@last_modified": "2026-01-26 11:48:05.715344",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11729,5 +11729,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat yra žinučių programa, todėl pranešimai yra svarbūs!",
"enableNotificationsDesc": "Leisti pranešimus",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4482,7 +4482,7 @@
"playWithAI": "Tagad spēlējiet ar AI",
"courseStartDesc": "Pangea bots ir gatavs jebkurā laikā!\n\n...bet mācīties ir labāk ar draugiem!",
"@@locale": "lv",
"@@last_modified": "2026-01-22 12:01:46.451812",
"@@last_modified": "2026-01-26 11:47:58.695137",
"analyticsInactiveTitle": "Pieprasījumi neaktīviem lietotājiem nevar tikt nosūtīti",
"analyticsInactiveDesc": "Neaktīvi lietotāji, kuri nav pieteikušies kopš šīs funkcijas ieviešanas, neredzēs jūsu pieprasījumu.\n\nPieprasījuma poga parādīsies, kad viņi atgriezīsies. Jūs varat atkārtoti nosūtīt pieprasījumu vēlāk, noklikšķinot uz pieprasījuma pogas viņu vārdā, kad tā būs pieejama.",
"accessRequestedTitle": "Pieprasījums piekļūt analītikai",
@ -10910,5 +10910,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat ir ziņojumapmaiņas lietotne, tāpēc paziņojumi ir svarīgi!",
"enableNotificationsDesc": "Atļaut paziņojumus",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:31.934487",
"@@last_modified": "2026-01-26 11:47:46.050988",
"about": "Om",
"@about": {
"type": "String",
@ -12017,5 +12017,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat er en tekstmelding-app, så varsler er viktige!",
"enableNotificationsDesc": "Tillat varsler",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:58.109571",
"@@last_modified": "2026-01-26 11:48:10.209783",
"about": "Over ons",
"@about": {
"type": "String",
@ -10924,5 +10924,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat is een berichten-app, dus meldingen zijn belangrijk!",
"enableNotificationsDesc": "Sta meldingen toe",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "pl",
"@@last_modified": "2026-01-22 12:02:06.402870",
"@@last_modified": "2026-01-26 11:48:17.273894",
"about": "O aplikacji",
"@about": {
"type": "String",
@ -10922,5 +10922,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat to aplikacja do wiadomości, więc powiadomienia są ważne!",
"enableNotificationsDesc": "Zezwól na powiadomienia",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:18.883594",
"@@last_modified": "2026-01-26 11:47:34.057881",
"copiedToClipboard": "Copiada para a área de transferência",
"@copiedToClipboard": {
"type": "String",
@ -12024,5 +12024,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat é um aplicativo de mensagens, então as notificações são importantes!",
"enableNotificationsDesc": "Permitir notificações",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:15.782911",
"@@last_modified": "2026-01-26 11:47:30.583870",
"about": "Sobre",
"@about": {
"type": "String",
@ -11282,5 +11282,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat é um aplicativo de mensagens, então as notificações são importantes!",
"enableNotificationsDesc": "Permitir notificações",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -3331,7 +3331,7 @@
"selectAll": "Selecionar tudo",
"deselectAll": "Desmarcar tudo",
"@@locale": "pt_PT",
"@@last_modified": "2026-01-22 12:01:38.348686",
"@@last_modified": "2026-01-26 11:47:53.326580",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11953,5 +11953,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat é um aplicativo de mensagens, então as notificações são importantes!",
"enableNotificationsDesc": "Permitir notificações",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:04.721303",
"@@last_modified": "2026-01-26 11:47:19.237404",
"about": "Despre",
"@about": {
"type": "String",
@ -11659,5 +11659,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat este o aplicație de mesagerie, așa că notificările sunt importante!",
"enableNotificationsDesc": "Permite notificările",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "ru",
"@@last_modified": "2026-01-22 12:02:17.097388",
"@@last_modified": "2026-01-26 11:48:26.189134",
"about": "О проекте",
"@about": {
"type": "String",
@ -11032,5 +11032,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat - это приложение для обмена сообщениями, поэтому уведомления важны!",
"enableNotificationsDesc": "Разрешить уведомления",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "sk",
"@@last_modified": "2026-01-22 12:01:06.427460",
"@@last_modified": "2026-01-26 11:47:21.271894",
"about": "O aplikácii",
"@about": {
"type": "String",
@ -12008,5 +12008,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikácia na posielanie správ, takže notifikácie sú dôležité!",
"enableNotificationsDesc": "Povoliť notifikácie",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -2464,7 +2464,7 @@
"playWithAI": "Za zdaj igrajte z AI-jem",
"courseStartDesc": "Pangea Bot je pripravljen kadarkoli!\n\n...ampak je bolje učiti se s prijatelji!",
"@@locale": "sl",
"@@last_modified": "2026-01-22 12:01:24.219945",
"@@last_modified": "2026-01-26 11:47:38.764157",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -12005,5 +12005,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikacija za sporočanje, zato so obvestila pomembna!",
"enableNotificationsDesc": "Dovoli obvestila",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:02:20.533801",
"@@last_modified": "2026-01-26 11:48:29.570610",
"about": "О програму",
"@about": {
"type": "String",
@ -12026,5 +12026,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat je aplikacija za slanje poruka, pa su obaveštenja važna!",
"enableNotificationsDesc": "Dozvoli obaveštenja",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:02:08.064498",
"@@last_modified": "2026-01-26 11:48:18.816869",
"about": "Om",
"@about": {
"type": "String",
@ -11402,5 +11402,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat är en meddelandeapp så aviseringar är viktiga!",
"enableNotificationsDesc": "Tillåt aviseringar",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:56.352823",
"@@last_modified": "2026-01-26 11:48:08.919614",
"acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது",
"@acceptedTheInvitation": {
"type": "String",
@ -11148,5 +11148,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "பாஙேஆ சாட் என்பது ஒரு செய்தி அனுப்பும் செயலி ஆகும், எனவே அறிவிப்புகள் முக்கியமானவை!",
"enableNotificationsDesc": "அறிவிப்புகளை அனுமதிக்கவும்",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1920,7 +1920,7 @@
"playWithAI": "ఇప్పుడే AI తో ఆడండి",
"courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!",
"@@locale": "te",
"@@last_modified": "2026-01-22 12:01:51.350363",
"@@last_modified": "2026-01-26 11:48:04.041842",
"@setCustomPermissionLevel": {
"type": "String",
"placeholders": {}
@ -12013,5 +12013,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "పాంజియా చాట్ ఒక సందేశం యాప్ కాబట్టి నోటిఫికేషన్లు ముఖ్యమైనవి!",
"enableNotificationsDesc": "నోటిఫికేషన్లను అనుమతించండి",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -4456,7 +4456,7 @@
"playWithAI": "เล่นกับ AI ชั่วคราว",
"courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!",
"@@locale": "th",
"@@last_modified": "2026-01-22 12:01:36.919446",
"@@last_modified": "2026-01-26 11:47:51.679521",
"@alwaysUse24HourFormat": {
"type": "String",
"placeholders": {}
@ -11982,5 +11982,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat เป็นแอปส่งข้อความ ดังนั้นการแจ้งเตือนจึงสำคัญ!",
"enableNotificationsDesc": "อนุญาตการแจ้งเตือน",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "tr",
"@@last_modified": "2026-01-22 12:01:49.339268",
"@@last_modified": "2026-01-26 11:48:02.434738",
"about": "Hakkında",
"@about": {
"type": "String",
@ -11146,5 +11146,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat, bir mesajlaşma uygulamasıdır, bu yüzden bildirimler önemlidir!",
"enableNotificationsDesc": "Bildirimlere izin ver",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "uk",
"@@last_modified": "2026-01-22 12:01:28.947095",
"@@last_modified": "2026-01-26 11:47:42.873125",
"about": "Про застосунок",
"@about": {
"type": "String",
@ -10918,5 +10918,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat - це додаток для обміну повідомленнями, тому сповіщення важливі!",
"enableNotificationsDesc": "Дозволити сповіщення",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:54.904291",
"@@last_modified": "2026-01-26 11:48:07.017868",
"about": "Giới thiệu",
"@about": {
"type": "String",
@ -6494,5 +6494,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat là một ứng dụng nhắn tin nên thông báo là rất quan trọng!",
"enableNotificationsDesc": "Cho phép thông báo",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1856,7 +1856,7 @@
"selectAll": "全選",
"deselectAll": "取消全選",
"@@locale": "yue",
"@@last_modified": "2026-01-22 12:01:25.863585",
"@@last_modified": "2026-01-26 11:47:40.045278",
"@ignoreUser": {
"type": "String",
"placeholders": {}
@ -12015,5 +12015,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat 係一個短信應用程式,所以通知非常重要!",
"enableNotificationsDesc": "允許通知",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,6 +1,6 @@
{
"@@locale": "zh",
"@@last_modified": "2026-01-22 12:02:00.962577",
"@@last_modified": "2026-01-26 11:48:12.672018",
"about": "关于",
"@about": {
"type": "String",
@ -10915,5 +10915,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat 是一款短信应用,因此通知非常重要!",
"enableNotificationsDesc": "允许通知",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -1,5 +1,5 @@
{
"@@last_modified": "2026-01-22 12:01:42.417971",
"@@last_modified": "2026-01-26 11:47:54.917095",
"about": "關於",
"@about": {
"type": "String",
@ -10922,5 +10922,15 @@
"@publicInviteDescSpace": {
"type": "String",
"placeholders": {}
},
"enableNotificationsTitle": "Pangea Chat 是一個即時通訊應用程式,因此通知非常重要!",
"enableNotificationsDesc": "允許通知",
"@enableNotificationsTitle": {
"type": "String",
"placeholders": {}
},
"@enableNotificationsDesc": {
"type": "String",
"placeholders": {}
}
}

View file

@ -12,6 +12,7 @@ import 'package:fluffychat/pangea/common/config/environment.dart';
import 'package:fluffychat/utils/fluffy_share.dart';
import 'package:fluffychat/widgets/avatar.dart';
import 'package:fluffychat/widgets/future_loading_dialog.dart';
import 'package:fluffychat/widgets/local_notifications_extension.dart';
import 'package:fluffychat/widgets/matrix.dart';
import '../../widgets/mxc_image_viewer.dart';
import 'settings.dart';
@ -231,6 +232,23 @@ class SettingsView extends StatelessWidget {
? theme.colorScheme.surfaceContainerHigh
: null,
onTap: () => context.go('/rooms/settings/notifications'),
// #Pangea
trailing: ValueListenableBuilder(
valueListenable:
Matrix.of(context).notifPermissionNotifier,
builder: (context, _, __) => FutureBuilder<bool>(
future: Matrix.of(context).notificationsEnabled,
builder: (context, snapshot) {
return snapshot.data != false
? const SizedBox()
: Icon(
Icons.error_outline,
color: theme.colorScheme.error,
);
},
),
),
// Pangea#
),
ListTile(
leading: const Icon(Icons.devices_outlined),

View file

@ -13,6 +13,7 @@ import 'package:fluffychat/widgets/adaptive_dialogs/adaptive_dialog_action.dart'
import 'package:fluffychat/widgets/adaptive_dialogs/show_modal_action_popup.dart';
import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart';
import 'package:fluffychat/widgets/future_loading_dialog.dart';
import 'package:fluffychat/widgets/local_notifications_extension.dart';
import '../../widgets/matrix.dart';
import 'settings_notifications_view.dart';
@ -205,6 +206,11 @@ class SettingsNotificationsController extends State<SettingsNotifications> {
value,
);
}
Future<void> requestNotificationPermission() async {
await Matrix.of(context).requestPermission();
if (mounted) setState(() {});
}
// Pangea#
@override

View file

@ -6,6 +6,7 @@ import 'package:fluffychat/config/themes.dart';
import 'package:fluffychat/l10n/l10n.dart';
import 'package:fluffychat/pages/settings_notifications/push_rule_extensions.dart';
import 'package:fluffychat/widgets/layouts/max_width_body.dart';
import 'package:fluffychat/widgets/local_notifications_extension.dart';
import '../../utils/localized_exception_extension.dart';
import '../../widgets/matrix.dart';
import 'settings_notifications.dart';
@ -49,6 +50,37 @@ class SettingsNotificationsView extends StatelessWidget {
child: Column(
children: [
// #Pangea
FutureBuilder<bool>(
future: Matrix.of(context).notificationsEnabled,
builder: (context, snapshot) => AnimatedSize(
duration: FluffyThemes.animationDuration,
child: snapshot.data != false
? const SizedBox()
: Padding(
padding: const EdgeInsets.symmetric(
vertical: 8.0,
),
child: ListTile(
tileColor: theme.colorScheme.primaryContainer,
leading: Icon(
Icons.error_outline,
color: theme.colorScheme.onPrimaryContainer,
),
title: Text(
L10n.of(context).enableNotificationsTitle,
style: TextStyle(
color: theme.colorScheme.onPrimaryContainer,
fontWeight: FontWeight.bold,
),
),
subtitle: Text(
L10n.of(context).enableNotificationsDesc,
),
onTap: controller.requestNotificationPermission,
),
),
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Row(

View file

@ -6,6 +6,7 @@ import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
import 'package:desktop_notifications/desktop_notifications.dart';
import 'package:matrix/matrix.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:universal_html/html.dart' as html;
import 'package:fluffychat/config/app_config.dart';
@ -44,6 +45,9 @@ extension LocalNotificationsExtension on MatrixState {
);
if (kIsWeb) {
// #Pangea
if (html.Notification.permission != 'granted') return;
// Pangea#
final avatarUrl = event.senderFromMemoryOrFallback.avatarUrl;
Uri? thumbnailUri;
@ -122,6 +126,32 @@ extension LocalNotificationsExtension on MatrixState {
linuxNotificationIds[roomId] = notification.id;
}
}
// #Pangea
Future<bool> get notificationsEnabled {
return kIsWeb
? Future.value(html.Notification.permission == 'granted')
: Permission.notification.isGranted;
}
Future<void> requestPermission() async {
if (kIsWeb) {
await html.Notification.requestPermission();
} else {
final status = await Permission.notification.request();
if (status.isGranted) {
// Notification permissions granted
} else if (status.isDenied) {
// Notification permissions denied
} else if (status.isPermanentlyDenied) {
// Notification permissions permanently denied, open app settings
await openAppSettings();
}
}
notifPermissionNotifier.value = notifPermissionNotifier.value + 1;
}
// Pangea#
}
enum DesktopNotificationActions { seen, openChat }

View file

@ -86,6 +86,9 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
bool? loginRegistrationSupported;
BackgroundPush? backgroundPush;
// #Pangea
ValueNotifier<int> notifPermissionNotifier = ValueNotifier(0);
// Pangea#
Client get client {
if (_activeClient < 0 || _activeClient >= widget.clients.length) {