From fdec2006d922a21d441de904923d1ad0708a18ba Mon Sep 17 00:00:00 2001 From: ggurdin Date: Mon, 26 Jan 2026 14:07:34 -0500 Subject: [PATCH] feat: highlight chat with support --- lib/l10n/intl_ar.arb | 7 ++- lib/l10n/intl_be.arb | 7 ++- lib/l10n/intl_bn.arb | 7 ++- lib/l10n/intl_bo.arb | 7 ++- lib/l10n/intl_ca.arb | 7 ++- lib/l10n/intl_cs.arb | 7 ++- lib/l10n/intl_da.arb | 7 ++- lib/l10n/intl_de.arb | 7 ++- lib/l10n/intl_el.arb | 7 ++- lib/l10n/intl_en.arb | 3 +- lib/l10n/intl_eo.arb | 7 ++- lib/l10n/intl_es.arb | 7 ++- lib/l10n/intl_et.arb | 7 ++- lib/l10n/intl_eu.arb | 7 ++- lib/l10n/intl_fa.arb | 7 ++- lib/l10n/intl_fi.arb | 7 ++- lib/l10n/intl_fil.arb | 7 ++- lib/l10n/intl_fr.arb | 7 ++- lib/l10n/intl_ga.arb | 7 ++- lib/l10n/intl_gl.arb | 7 ++- lib/l10n/intl_he.arb | 7 ++- lib/l10n/intl_hi.arb | 7 ++- lib/l10n/intl_hr.arb | 7 ++- lib/l10n/intl_hu.arb | 7 ++- lib/l10n/intl_ia.arb | 7 ++- lib/l10n/intl_id.arb | 7 ++- lib/l10n/intl_ie.arb | 7 ++- lib/l10n/intl_it.arb | 7 ++- lib/l10n/intl_ja.arb | 7 ++- lib/l10n/intl_ka.arb | 7 ++- lib/l10n/intl_ko.arb | 7 ++- lib/l10n/intl_lt.arb | 7 ++- lib/l10n/intl_lv.arb | 7 ++- lib/l10n/intl_nb.arb | 7 ++- lib/l10n/intl_nl.arb | 7 ++- lib/l10n/intl_pl.arb | 7 ++- lib/l10n/intl_pt.arb | 7 ++- lib/l10n/intl_pt_BR.arb | 7 ++- lib/l10n/intl_pt_PT.arb | 7 ++- lib/l10n/intl_ro.arb | 7 ++- lib/l10n/intl_ru.arb | 7 ++- lib/l10n/intl_sk.arb | 7 ++- lib/l10n/intl_sl.arb | 7 ++- lib/l10n/intl_sr.arb | 7 ++- lib/l10n/intl_sv.arb | 7 ++- lib/l10n/intl_ta.arb | 7 ++- lib/l10n/intl_te.arb | 7 ++- lib/l10n/intl_th.arb | 7 ++- lib/l10n/intl_tr.arb | 7 ++- lib/l10n/intl_uk.arb | 7 ++- lib/l10n/intl_vi.arb | 7 ++- lib/l10n/intl_yue.arb | 7 ++- lib/l10n/intl_zh.arb | 7 ++- lib/l10n/intl_zh_Hant.arb | 7 ++- lib/pages/chat_list/chat_list_body.dart | 55 +++++++++++++++++++ lib/pages/settings/settings_view.dart | 3 +- .../chat_list/support_client_extension.dart | 12 ++++ .../instructions/instructions_enum.dart | 3 + 58 files changed, 392 insertions(+), 55 deletions(-) create mode 100644 lib/pangea/chat_list/support_client_extension.dart diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index 21ac6578e..0b6b56509 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -1,6 +1,6 @@ { "@@locale": "ar", - "@@last_modified": "2026-01-26 12:28:00.853326", + "@@last_modified": "2026-01-26 14:06:38.032512", "about": "حول", "@about": { "type": "String", @@ -11146,5 +11146,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "الدردشة مع الدعم", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_be.arb b/lib/l10n/intl_be.arb index ef490cec7..ae15056ac 100644 --- a/lib/l10n/intl_be.arb +++ b/lib/l10n/intl_be.arb @@ -1911,7 +1911,7 @@ "playWithAI": "Пакуль гуляйце з ШІ", "courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!", "@@locale": "be", - "@@last_modified": "2026-01-26 12:27:52.592887", + "@@last_modified": "2026-01-26 14:06:30.471426", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12028,5 +12028,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Чат з падтрымкай", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bn.arb b/lib/l10n/intl_bn.arb index 0b384a30e..760b5724d 100644 --- a/lib/l10n/intl_bn.arb +++ b/lib/l10n/intl_bn.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:14.369915", + "@@last_modified": "2026-01-26 14:06:47.498367", "about": "সম্পর্কে", "@about": { "type": "String", @@ -12033,5 +12033,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "সমর্থনের সাথে চ্যাট করুন", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_bo.arb b/lib/l10n/intl_bo.arb index 3e3278780..43982460a 100644 --- a/lib/l10n/intl_bo.arb +++ b/lib/l10n/intl_bo.arb @@ -4279,7 +4279,7 @@ "joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།", "startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།", "@@locale": "bo", - "@@last_modified": "2026-01-26 12:28:10.688209", + "@@last_modified": "2026-01-26 14:06:45.010043", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -10683,5 +10683,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat with Support", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ca.arb b/lib/l10n/intl_ca.arb index 6cc608b7f..881e6dbba 100644 --- a/lib/l10n/intl_ca.arb +++ b/lib/l10n/intl_ca.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:54.192592", + "@@last_modified": "2026-01-26 14:06:31.392602", "about": "Quant a", "@about": { "type": "String", @@ -10953,5 +10953,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Xateja amb el Suport", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_cs.arb b/lib/l10n/intl_cs.arb index 1c46b3565..c598ed773 100644 --- a/lib/l10n/intl_cs.arb +++ b/lib/l10n/intl_cs.arb @@ -1,6 +1,6 @@ { "@@locale": "cs", - "@@last_modified": "2026-01-26 12:27:50.205605", + "@@last_modified": "2026-01-26 14:06:28.730478", "about": "O aplikaci", "@about": { "type": "String", @@ -11536,5 +11536,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat s podporou", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_da.arb b/lib/l10n/intl_da.arb index 9373856a5..5ecb09c86 100644 --- a/lib/l10n/intl_da.arb +++ b/lib/l10n/intl_da.arb @@ -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-26 12:27:28.906661", + "@@last_modified": "2026-01-26 14:06:10.232271", "@aboutHomeserver": { "type": "String", "placeholders": { @@ -11990,5 +11990,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat med support", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_de.arb b/lib/l10n/intl_de.arb index 0afea7b6c..3ee58ecc2 100644 --- a/lib/l10n/intl_de.arb +++ b/lib/l10n/intl_de.arb @@ -1,6 +1,6 @@ { "@@locale": "de", - "@@last_modified": "2026-01-26 12:27:44.472299", + "@@last_modified": "2026-01-26 14:06:23.915386", "alwaysUse24HourFormat": "true", "@alwaysUse24HourFormat": { "description": "Set to true to always display time of day in 24 hour format." @@ -10936,5 +10936,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat mit dem Support", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_el.arb b/lib/l10n/intl_el.arb index e33e47324..03454048c 100644 --- a/lib/l10n/intl_el.arb +++ b/lib/l10n/intl_el.arb @@ -4456,7 +4456,7 @@ "playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν", "courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!", "@@locale": "el", - "@@last_modified": "2026-01-26 12:28:19.788327", + "@@last_modified": "2026-01-26 14:06:51.876219", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11987,5 +11987,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Συνομιλία με Υποστήριξη", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index dcd86acd8..9257e17b8 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -5071,5 +5071,6 @@ "findCourse": "Find a course", "publicInviteDescChat": "Search for users to invite them to this chat.", "publicInviteDescSpace": "Search for users to invite them to this space.", - "useActivityImageAsChatBackground": "Use activity image as chat background" + "useActivityImageAsChatBackground": "Use activity image as chat background", + "chatWithSupport": "Chat with Support" } diff --git a/lib/l10n/intl_eo.arb b/lib/l10n/intl_eo.arb index 7916b217f..22266cbd3 100644 --- a/lib/l10n/intl_eo.arb +++ b/lib/l10n/intl_eo.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:24.101271", + "@@last_modified": "2026-01-26 14:06:54.609439", "about": "Prio", "@about": { "type": "String", @@ -12018,5 +12018,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Babili kun Subteno", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index c65a8798e..efca2c102 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -1,6 +1,6 @@ { "@@locale": "es", - "@@last_modified": "2026-01-26 12:27:25.542021", + "@@last_modified": "2026-01-26 14:06:06.100713", "about": "Acerca de", "@about": { "type": "String", @@ -8163,5 +8163,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chatear con Soporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_et.arb b/lib/l10n/intl_et.arb index cd2e13e4f..09506251e 100644 --- a/lib/l10n/intl_et.arb +++ b/lib/l10n/intl_et.arb @@ -1,6 +1,6 @@ { "@@locale": "et", - "@@last_modified": "2026-01-26 12:27:43.497205", + "@@last_modified": "2026-01-26 14:06:23.116050", "about": "Rakenduse teave", "@about": { "type": "String", @@ -11200,5 +11200,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Vestle Toega", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_eu.arb b/lib/l10n/intl_eu.arb index fa6c1ecd5..da5329f92 100644 --- a/lib/l10n/intl_eu.arb +++ b/lib/l10n/intl_eu.arb @@ -1,6 +1,6 @@ { "@@locale": "eu", - "@@last_modified": "2026-01-26 12:27:40.932084", + "@@last_modified": "2026-01-26 14:06:21.460169", "about": "Honi buruz", "@about": { "type": "String", @@ -10929,5 +10929,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Txatatu Laguntzarekin", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fa.arb b/lib/l10n/intl_fa.arb index b2ce2e13c..6641aaecf 100644 --- a/lib/l10n/intl_fa.arb +++ b/lib/l10n/intl_fa.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:15.886645", + "@@last_modified": "2026-01-26 14:06:48.270284", "repeatPassword": "تکرار رمزعبور", "@repeatPassword": {}, "about": "درباره", @@ -11661,5 +11661,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "چت با پشتیبانی", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fi.arb b/lib/l10n/intl_fi.arb index 2bef3b8a1..a4e0be79b 100644 --- a/lib/l10n/intl_fi.arb +++ b/lib/l10n/intl_fi.arb @@ -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-26 12:27:27.651389", + "@@last_modified": "2026-01-26 14:06:09.461491", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11552,5 +11552,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chattaa tuen kanssa", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fil.arb b/lib/l10n/intl_fil.arb index 5470992ae..a51fbd541 100644 --- a/lib/l10n/intl_fil.arb +++ b/lib/l10n/intl_fil.arb @@ -2787,7 +2787,7 @@ "selectAll": "Piliin lahat", "deselectAll": "Huwag piliin lahat", "@@locale": "fil", - "@@last_modified": "2026-01-26 12:27:58.277677", + "@@last_modified": "2026-01-26 14:06:35.659288", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -11905,5 +11905,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Makipag-chat sa Suporta", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 803691fd1..5cfab284e 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -1,6 +1,6 @@ { "@@locale": "fr", - "@@last_modified": "2026-01-26 12:28:29.933498", + "@@last_modified": "2026-01-26 14:07:00.877281", "about": "À propos", "@about": { "type": "String", @@ -11253,5 +11253,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Discuter avec le support", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ga.arb b/lib/l10n/intl_ga.arb index ca7a39c53..0c94af809 100644 --- a/lib/l10n/intl_ga.arb +++ b/lib/l10n/intl_ga.arb @@ -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-26 12:28:28.914158", + "@@last_modified": "2026-01-26 14:07:00.006835", "@customReaction": { "type": "String", "placeholders": {} @@ -10927,5 +10927,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Comhrá le Tacaíocht", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_gl.arb b/lib/l10n/intl_gl.arb index 943af0c1b..3067a3fe2 100644 --- a/lib/l10n/intl_gl.arb +++ b/lib/l10n/intl_gl.arb @@ -1,6 +1,6 @@ { "@@locale": "gl", - "@@last_modified": "2026-01-26 12:27:26.548491", + "@@last_modified": "2026-01-26 14:06:07.633632", "about": "Acerca de", "@about": { "type": "String", @@ -10926,5 +10926,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chatear co Soporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_he.arb b/lib/l10n/intl_he.arb index 8a3bf28ed..1c3bc664f 100644 --- a/lib/l10n/intl_he.arb +++ b/lib/l10n/intl_he.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:37.673318", + "@@last_modified": "2026-01-26 14:06:17.868712", "about": "אודות", "@about": { "type": "String", @@ -11978,5 +11978,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "צ'אט עם תמיכה", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hi.arb b/lib/l10n/intl_hi.arb index 0f3f0dff6..2082fb81f 100644 --- a/lib/l10n/intl_hi.arb +++ b/lib/l10n/intl_hi.arb @@ -4483,7 +4483,7 @@ "playWithAI": "अभी के लिए एआई के साथ खेलें", "courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!", "@@locale": "hi", - "@@last_modified": "2026-01-26 12:28:22.666463", + "@@last_modified": "2026-01-26 14:06:53.717220", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12014,5 +12014,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "सहायता से चैट करें", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hr.arb b/lib/l10n/intl_hr.arb index 7c8e814a7..c0a6a4754 100644 --- a/lib/l10n/intl_hr.arb +++ b/lib/l10n/intl_hr.arb @@ -1,6 +1,6 @@ { "@@locale": "hr", - "@@last_modified": "2026-01-26 12:27:36.383504", + "@@last_modified": "2026-01-26 14:06:17.042558", "about": "Informacije", "@about": { "type": "String", @@ -11301,5 +11301,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Razgovarajte s podrškom", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_hu.arb b/lib/l10n/intl_hu.arb index 7725ed7bc..835e06073 100644 --- a/lib/l10n/intl_hu.arb +++ b/lib/l10n/intl_hu.arb @@ -1,6 +1,6 @@ { "@@locale": "hu", - "@@last_modified": "2026-01-26 12:27:30.234620", + "@@last_modified": "2026-01-26 14:06:11.832105", "about": "Névjegy", "@about": { "type": "String", @@ -10930,5 +10930,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Csevegés a Támogatással", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ia.arb b/lib/l10n/intl_ia.arb index 2934405eb..91d33764d 100644 --- a/lib/l10n/intl_ia.arb +++ b/lib/l10n/intl_ia.arb @@ -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-26 12:27:38.716861", + "@@last_modified": "2026-01-26 14:06:18.748595", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12007,5 +12007,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Fala com o Suporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_id.arb b/lib/l10n/intl_id.arb index 5ec360d5a..a35bf2db6 100644 --- a/lib/l10n/intl_id.arb +++ b/lib/l10n/intl_id.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:31.365804", + "@@last_modified": "2026-01-26 14:06:12.650617", "setAsCanonicalAlias": "Atur sebagai alias utama", "@setAsCanonicalAlias": { "type": "String", @@ -10920,5 +10920,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat dengan Dukungan", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ie.arb b/lib/l10n/intl_ie.arb index 79e7f66bd..5c957c854 100644 --- a/lib/l10n/intl_ie.arb +++ b/lib/l10n/intl_ie.arb @@ -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-26 12:27:35.147805", + "@@last_modified": "2026-01-26 14:06:16.023332", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11903,5 +11903,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat le Tacaíocht", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index e0bf38071..326466e8e 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:47.544878", + "@@last_modified": "2026-01-26 14:06:26.881575", "about": "Informazioni", "@about": { "type": "String", @@ -10932,5 +10932,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chatta con il supporto", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ja.arb b/lib/l10n/intl_ja.arb index 0f519dcea..2014188ce 100644 --- a/lib/l10n/intl_ja.arb +++ b/lib/l10n/intl_ja.arb @@ -1,6 +1,6 @@ { "@@locale": "ja", - "@@last_modified": "2026-01-26 12:28:21.231253", + "@@last_modified": "2026-01-26 14:06:52.792384", "about": "このアプリについて", "@about": { "type": "String", @@ -11719,5 +11719,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "サポートとチャット", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ka.arb b/lib/l10n/intl_ka.arb index 59800f22a..1ac5ed325 100644 --- a/lib/l10n/intl_ka.arb +++ b/lib/l10n/intl_ka.arb @@ -2594,7 +2594,7 @@ "playWithAI": "ამ დროისთვის ითამაშეთ AI-თან", "courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!", "@@locale": "ka", - "@@last_modified": "2026-01-26 12:28:26.253312", + "@@last_modified": "2026-01-26 14:06:56.682795", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11959,5 +11959,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "ჩატი მხარდაჭერასთან", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ko.arb b/lib/l10n/intl_ko.arb index 0d4448e81..d394e7127 100644 --- a/lib/l10n/intl_ko.arb +++ b/lib/l10n/intl_ko.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:24.404672", + "@@last_modified": "2026-01-26 14:06:04.696789", "about": "소개", "@about": { "type": "String", @@ -11037,5 +11037,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "지원팀과 채팅하기", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lt.arb b/lib/l10n/intl_lt.arb index b8f9750f3..42d822bd1 100644 --- a/lib/l10n/intl_lt.arb +++ b/lib/l10n/intl_lt.arb @@ -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-26 12:28:04.436326", + "@@last_modified": "2026-01-26 14:06:41.223077", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11734,5 +11734,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Pokalbis su palaikymu", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_lv.arb b/lib/l10n/intl_lv.arb index 5e68b31d7..2173e1a41 100644 --- a/lib/l10n/intl_lv.arb +++ b/lib/l10n/intl_lv.arb @@ -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-26 12:27:59.827518", + "@@last_modified": "2026-01-26 14:06:36.616110", "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", @@ -10915,5 +10915,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Sarunāties ar atbalstu", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nb.arb b/lib/l10n/intl_nb.arb index ab276cb13..dec2a9b52 100644 --- a/lib/l10n/intl_nb.arb +++ b/lib/l10n/intl_nb.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:51.317423", + "@@last_modified": "2026-01-26 14:06:29.444623", "about": "Om", "@about": { "type": "String", @@ -12022,5 +12022,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat med støtte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_nl.arb b/lib/l10n/intl_nl.arb index 16fb76e42..91ffc4a0e 100644 --- a/lib/l10n/intl_nl.arb +++ b/lib/l10n/intl_nl.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:08.329376", + "@@last_modified": "2026-01-26 14:06:44.085967", "about": "Over ons", "@about": { "type": "String", @@ -10929,5 +10929,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat met Ondersteuning", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pl.arb b/lib/l10n/intl_pl.arb index 5afb0ca98..9c2fa6ed7 100644 --- a/lib/l10n/intl_pl.arb +++ b/lib/l10n/intl_pl.arb @@ -1,6 +1,6 @@ { "@@locale": "pl", - "@@last_modified": "2026-01-26 12:28:17.139756", + "@@last_modified": "2026-01-26 14:06:49.722920", "about": "O aplikacji", "@about": { "type": "String", @@ -10927,5 +10927,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Czat z pomocą", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index da65616a0..7e34cc89f 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:42.318949", + "@@last_modified": "2026-01-26 14:06:22.379236", "copiedToClipboard": "Copiada para a área de transferência", "@copiedToClipboard": { "type": "String", @@ -12029,5 +12029,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Converse com o Suporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt_BR.arb b/lib/l10n/intl_pt_BR.arb index 77d4ebfcc..423bc8b85 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:39.754550", + "@@last_modified": "2026-01-26 14:06:20.179685", "about": "Sobre", "@about": { "type": "String", @@ -11287,5 +11287,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Converse com o Suporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_pt_PT.arb b/lib/l10n/intl_pt_PT.arb index b0f8e900d..6dbe19806 100644 --- a/lib/l10n/intl_pt_PT.arb +++ b/lib/l10n/intl_pt_PT.arb @@ -3331,7 +3331,7 @@ "selectAll": "Selecionar tudo", "deselectAll": "Desmarcar tudo", "@@locale": "pt_PT", - "@@last_modified": "2026-01-26 12:27:56.165630", + "@@last_modified": "2026-01-26 14:06:33.541431", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11958,5 +11958,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Converse com o Suporte", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ro.arb b/lib/l10n/intl_ro.arb index 22240e71c..a1ccce7b2 100644 --- a/lib/l10n/intl_ro.arb +++ b/lib/l10n/intl_ro.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:32.499634", + "@@last_modified": "2026-01-26 14:06:13.768752", "about": "Despre", "@about": { "type": "String", @@ -11664,5 +11664,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chat cu Suportul", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ru.arb b/lib/l10n/intl_ru.arb index 905e2e875..b28f3c298 100644 --- a/lib/l10n/intl_ru.arb +++ b/lib/l10n/intl_ru.arb @@ -1,6 +1,6 @@ { "@@locale": "ru", - "@@last_modified": "2026-01-26 12:28:25.124958", + "@@last_modified": "2026-01-26 14:06:55.949909", "about": "О проекте", "@about": { "type": "String", @@ -11037,5 +11037,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Чат с поддержкой", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sk.arb b/lib/l10n/intl_sk.arb index f769f6102..4bb00141f 100644 --- a/lib/l10n/intl_sk.arb +++ b/lib/l10n/intl_sk.arb @@ -1,6 +1,6 @@ { "@@locale": "sk", - "@@last_modified": "2026-01-26 12:27:33.826661", + "@@last_modified": "2026-01-26 14:06:14.798813", "about": "O aplikácii", "@about": { "type": "String", @@ -12013,5 +12013,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chatovať s podporou", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sl.arb b/lib/l10n/intl_sl.arb index 43612e7e1..6a4b26bf8 100644 --- a/lib/l10n/intl_sl.arb +++ b/lib/l10n/intl_sl.arb @@ -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-26 12:27:45.590223", + "@@last_modified": "2026-01-26 14:06:25.037902", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -12010,5 +12010,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Pogovorite se s podporo", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sr.arb b/lib/l10n/intl_sr.arb index 3cff1bab1..f76adb1e4 100644 --- a/lib/l10n/intl_sr.arb +++ b/lib/l10n/intl_sr.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:27.586474", + "@@last_modified": "2026-01-26 14:06:59.147835", "about": "О програму", "@about": { "type": "String", @@ -12031,5 +12031,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Razgovarajte sa podrškom", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_sv.arb b/lib/l10n/intl_sv.arb index ca88599a6..b33adddc1 100644 --- a/lib/l10n/intl_sv.arb +++ b/lib/l10n/intl_sv.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:18.216720", + "@@last_modified": "2026-01-26 14:06:50.621717", "about": "Om", "@about": { "type": "String", @@ -11407,5 +11407,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Chatta med support", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_ta.arb b/lib/l10n/intl_ta.arb index 0db829858..b2edaeb56 100644 --- a/lib/l10n/intl_ta.arb +++ b/lib/l10n/intl_ta.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:07.408609", + "@@last_modified": "2026-01-26 14:06:43.169989", "acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது", "@acceptedTheInvitation": { "type": "String", @@ -11153,5 +11153,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "ஆதரவுடன் உரையாடவும்", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_te.arb b/lib/l10n/intl_te.arb index 38c756db3..74aadfb72 100644 --- a/lib/l10n/intl_te.arb +++ b/lib/l10n/intl_te.arb @@ -1920,7 +1920,7 @@ "playWithAI": "ఇప్పుడే AI తో ఆడండి", "courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!", "@@locale": "te", - "@@last_modified": "2026-01-26 12:28:03.154699", + "@@last_modified": "2026-01-26 14:06:39.990266", "@setCustomPermissionLevel": { "type": "String", "placeholders": {} @@ -12018,5 +12018,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "సహాయంతో చాట్ చేయండి", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_th.arb b/lib/l10n/intl_th.arb index 459ae47dc..fc4066f93 100644 --- a/lib/l10n/intl_th.arb +++ b/lib/l10n/intl_th.arb @@ -4456,7 +4456,7 @@ "playWithAI": "เล่นกับ AI ชั่วคราว", "courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!", "@@locale": "th", - "@@last_modified": "2026-01-26 12:27:55.201298", + "@@last_modified": "2026-01-26 14:06:32.488603", "@alwaysUse24HourFormat": { "type": "String", "placeholders": {} @@ -11987,5 +11987,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "แชทกับฝ่ายสนับสนุน", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_tr.arb b/lib/l10n/intl_tr.arb index e8507c4e1..d5f0ff886 100644 --- a/lib/l10n/intl_tr.arb +++ b/lib/l10n/intl_tr.arb @@ -1,6 +1,6 @@ { "@@locale": "tr", - "@@last_modified": "2026-01-26 12:28:01.798236", + "@@last_modified": "2026-01-26 14:06:38.864029", "about": "Hakkında", "@about": { "type": "String", @@ -11151,5 +11151,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Destek ile Sohbet Et", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_uk.arb b/lib/l10n/intl_uk.arb index c428a56cb..dc600ac25 100644 --- a/lib/l10n/intl_uk.arb +++ b/lib/l10n/intl_uk.arb @@ -1,6 +1,6 @@ { "@@locale": "uk", - "@@last_modified": "2026-01-26 12:27:48.869225", + "@@last_modified": "2026-01-26 14:06:27.908944", "about": "Про застосунок", "@about": { "type": "String", @@ -10923,5 +10923,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Чат з підтримкою", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_vi.arb b/lib/l10n/intl_vi.arb index 788c6f468..db609d728 100644 --- a/lib/l10n/intl_vi.arb +++ b/lib/l10n/intl_vi.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:28:05.933736", + "@@last_modified": "2026-01-26 14:06:42.137290", "about": "Giới thiệu", "@about": { "type": "String", @@ -6499,5 +6499,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "Trò chuyện với Hỗ trợ", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_yue.arb b/lib/l10n/intl_yue.arb index 639bbe690..a25b0b7b8 100644 --- a/lib/l10n/intl_yue.arb +++ b/lib/l10n/intl_yue.arb @@ -1856,7 +1856,7 @@ "selectAll": "全選", "deselectAll": "取消全選", "@@locale": "yue", - "@@last_modified": "2026-01-26 12:27:46.517764", + "@@last_modified": "2026-01-26 14:06:26.055511", "@ignoreUser": { "type": "String", "placeholders": {} @@ -12020,5 +12020,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "與支援聊天", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_zh.arb b/lib/l10n/intl_zh.arb index 020f0e74d..8ceb45d13 100644 --- a/lib/l10n/intl_zh.arb +++ b/lib/l10n/intl_zh.arb @@ -1,6 +1,6 @@ { "@@locale": "zh", - "@@last_modified": "2026-01-26 12:28:13.245619", + "@@last_modified": "2026-01-26 14:06:46.237904", "about": "关于", "@about": { "type": "String", @@ -10920,5 +10920,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "与支持聊天", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/l10n/intl_zh_Hant.arb b/lib/l10n/intl_zh_Hant.arb index a917ba3b8..6ab56060f 100644 --- a/lib/l10n/intl_zh_Hant.arb +++ b/lib/l10n/intl_zh_Hant.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2026-01-26 12:27:57.200655", + "@@last_modified": "2026-01-26 14:06:34.380101", "about": "關於", "@about": { "type": "String", @@ -10927,5 +10927,10 @@ "@useActivityImageAsChatBackground": { "type": "String", "placeholders": {} + }, + "chatWithSupport": "與支援聊天", + "@chatWithSupport": { + "type": "String", + "placeholders": {} } } \ No newline at end of file diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index b8aae527f..d1fd36437 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; +import 'package:material_symbols_icons/symbols.dart'; import 'package:matrix/matrix.dart'; import 'package:fluffychat/config/app_config.dart'; @@ -9,9 +10,12 @@ import 'package:fluffychat/pages/chat_list/chat_list.dart'; import 'package:fluffychat/pages/chat_list/chat_list_item.dart'; import 'package:fluffychat/pages/chat_list/dummy_chat_list_item.dart'; import 'package:fluffychat/pangea/bot/widgets/bot_face_svg.dart'; +import 'package:fluffychat/pangea/chat_list/support_client_extension.dart'; import 'package:fluffychat/pangea/chat_list/widgets/pangea_chat_list_header.dart'; import 'package:fluffychat/pangea/chat_settings/utils/bot_client_extension.dart'; +import 'package:fluffychat/pangea/common/config/environment.dart'; import 'package:fluffychat/pangea/course_chats/course_chats_page.dart'; +import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart'; import 'package:fluffychat/utils/stream_extension.dart'; import 'package:fluffychat/widgets/adaptive_dialogs/public_room_dialog.dart'; @@ -343,6 +347,57 @@ class ChatListViewBody extends StatelessWidget { ), ), ), + if (!client.hasSupportDM && + !InstructionsEnum.dismissSupportChat.isToggledOff && + !controller.isSearchMode) + SliverToBoxAdapter( + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 1, + ), + child: Material( + borderRadius: + BorderRadius.circular(AppConfig.borderRadius), + clipBehavior: Clip.hardEdge, + child: ListTile( + contentPadding: const EdgeInsets.only( + left: 16, + right: 16, + ), + leading: Container( + alignment: Alignment.center, + height: Avatar.defaultSize, + width: Avatar.defaultSize, + child: const Icon( + Symbols.chat_add_on, + size: Avatar.defaultSize - 16, + ), + ), + trailing: IconButton( + icon: const Icon(Icons.close), + onPressed: () => InstructionsEnum.dismissSupportChat + .setToggledOff(true), + ), + title: Text(L10n.of(context).chatWithSupport), + onTap: () async { + await showFutureLoadingDialog( + context: context, + future: () async { + final roomId = await Matrix.of(context) + .client + .startDirectChat( + Environment.supportUserId, + enableEncryption: false, + ); + context.go('/rooms/$roomId'); + }, + ); + }, + ), + ), + ), + ), // Pangea# ], ), diff --git a/lib/pages/settings/settings_view.dart b/lib/pages/settings/settings_view.dart index 64d0f0eaa..22627dad6 100644 --- a/lib/pages/settings/settings_view.dart +++ b/lib/pages/settings/settings_view.dart @@ -273,7 +273,8 @@ class SettingsView extends StatelessWidget { // #Pangea ListTile( leading: const Icon(Icons.help_outline_outlined), - title: Text(L10n.of(context).help), + title: Text(L10n.of(context).chatWithSupport), + trailing: const Icon(Icons.chat_bubble_outline), onTap: () async { await showFutureLoadingDialog( context: context, diff --git a/lib/pangea/chat_list/support_client_extension.dart b/lib/pangea/chat_list/support_client_extension.dart new file mode 100644 index 000000000..c932df41e --- /dev/null +++ b/lib/pangea/chat_list/support_client_extension.dart @@ -0,0 +1,12 @@ +import 'package:matrix/matrix.dart'; + +import 'package:fluffychat/pangea/common/config/environment.dart'; + +extension SupportClientExtension on Client { + bool get hasSupportDM => rooms.any((r) => r.isSupportDM); +} + +extension SupportRoomExtension on Room { + bool get isSupportDM => + isDirectChat && directChatMatrixID == Environment.supportUserId; +} diff --git a/lib/pangea/instructions/instructions_enum.dart b/lib/pangea/instructions/instructions_enum.dart index da6c019a7..a86c9d1a8 100644 --- a/lib/pangea/instructions/instructions_enum.dart +++ b/lib/pangea/instructions/instructions_enum.dart @@ -34,6 +34,7 @@ enum InstructionsEnum { selectMeaning, clickTextMessages, clickAudioMessages, + dismissSupportChat, } extension InstructionsEnumExtension on InstructionsEnum { @@ -67,6 +68,7 @@ extension InstructionsEnumExtension on InstructionsEnum { case InstructionsEnum.disableLanguageTools: case InstructionsEnum.clickTextMessages: case InstructionsEnum.clickAudioMessages: + case InstructionsEnum.dismissSupportChat: ErrorHandler.logError( e: Exception("No title for this instruction"), m: 'InstructionsEnumExtension.title', @@ -130,6 +132,7 @@ extension InstructionsEnumExtension on InstructionsEnum { case InstructionsEnum.setLemmaEmoji: case InstructionsEnum.clickTextMessages: case InstructionsEnum.clickAudioMessages: + case InstructionsEnum.dismissSupportChat: return ""; case InstructionsEnum.disableLanguageTools: return l10n.disableLanguageToolsDesc;