rain confetti on activity finish (#4715)
* rain confetti on activity finish also add continue button, and change copy for completed single practice activities * fix: show confetti popup when finish all activities with grammar activity * translations --------- Co-authored-by: ggurdin <ggurdin@gmail.com>
This commit is contained in:
parent
54c74cbb33
commit
6e8a6f8332
60 changed files with 403 additions and 72 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ar",
|
||||
"@@last_modified": "2025-11-20 12:39:04.749371",
|
||||
"@@last_modified": "2025-11-20 14:54:02.760300",
|
||||
"about": "حول",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10795,5 +10795,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "تم الانتهاء من نشاط الممارسة",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1915,7 +1915,7 @@
|
|||
"playWithAI": "Пакуль гуляйце з ШІ",
|
||||
"courseStartDesc": "Pangea Bot гатовы да працы ў любы час!\n\n...але навучанне лепш з сябрамі!",
|
||||
"@@locale": "be",
|
||||
"@@last_modified": "2025-11-20 12:38:48.985011",
|
||||
"@@last_modified": "2025-11-20 14:53:56.300239",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11677,5 +11677,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Практычная дзейнасць завершана",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:17.140740",
|
||||
"@@last_modified": "2025-11-20 14:54:10.871486",
|
||||
"about": "সম্পর্কে",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11682,5 +11682,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "অভ্যাস কার্যক্রম সম্পন্ন",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4282,7 +4282,7 @@
|
|||
"joinPublicTrip": "མི་ཚེས་ལ་ལོག་འབད།",
|
||||
"startOwnTrip": "ངེད་རང་གི་ལོག་ལ་སྦྱོར་བཅོས།",
|
||||
"@@locale": "bo",
|
||||
"@@last_modified": "2025-11-20 12:39:14.389283",
|
||||
"@@last_modified": "2025-11-20 14:54:09.235231",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10328,5 +10328,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktik aktiviti telah diselesaikan",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:55.798385",
|
||||
"@@last_modified": "2025-11-20 14:53:57.101713",
|
||||
"about": "Quant a",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10602,5 +10602,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Activitat de pràctica completada",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "cs",
|
||||
"@@last_modified": "2025-11-20 12:38:46.113217",
|
||||
"@@last_modified": "2025-11-20 14:53:54.804617",
|
||||
"about": "O aplikaci",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11185,5 +11185,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivita cvičení byla dokončena",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1934,7 +1934,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": "2025-11-20 12:38:22.209817",
|
||||
"@@last_modified": "2025-11-20 14:53:35.097620",
|
||||
"@aboutHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
|
|
@ -11640,5 +11640,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Øvelsesaktivitet fuldført",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "de",
|
||||
"@@last_modified": "2025-11-20 12:38:39.354858",
|
||||
"@@last_modified": "2025-11-20 14:53:50.178435",
|
||||
"alwaysUse24HourFormat": "true",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"description": "Set to true to always display time of day in 24 hour format."
|
||||
|
|
@ -10585,5 +10585,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Übungsaktivität abgeschlossen",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4460,7 +4460,7 @@
|
|||
"playWithAI": "Παίξτε με την Τεχνητή Νοημοσύνη προς το παρόν",
|
||||
"courseStartDesc": "Ο Pangea Bot είναι έτοιμος να ξεκινήσει οποιαδήποτε στιγμή!\n\n...αλλά η μάθηση είναι καλύτερη με φίλους!",
|
||||
"@@locale": "el",
|
||||
"@@last_modified": "2025-11-20 12:39:22.667055",
|
||||
"@@last_modified": "2025-11-20 14:54:14.475585",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11636,5 +11636,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Η δραστηριότητα πρακτικής ολοκληρώθηκε",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4955,6 +4955,7 @@
|
|||
"teacherModeTitle": "Teacher Mode",
|
||||
"teacherModeDesc": "Toggle to unlock all topics and activities. Course admin only.",
|
||||
"noSavedActivitiesYet": "Activities will appear here once they are completed and saved.",
|
||||
"practiceActivityCompleted": "Practice activity completed",
|
||||
"changeCourse": "Change course",
|
||||
"changeCourseDesc": "Here you can change this course's course plan."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:27.591280",
|
||||
"@@last_modified": "2025-11-20 14:54:18.264427",
|
||||
"about": "Prio",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11667,5 +11667,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktika aktiveco finita",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "es",
|
||||
"@@last_modified": "2025-11-20 12:38:17.219618",
|
||||
"@@last_modified": "2025-11-20 14:53:31.098192",
|
||||
"about": "Acerca de",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -7813,5 +7813,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Actividad de práctica completada",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "et",
|
||||
"@@last_modified": "2025-11-20 12:38:38.325390",
|
||||
"@@last_modified": "2025-11-20 14:53:49.442060",
|
||||
"about": "Rakenduse teave",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10849,5 +10849,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Harjutustegevus lõpetatud",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "eu",
|
||||
"@@last_modified": "2025-11-20 12:38:36.071015",
|
||||
"@@last_modified": "2025-11-20 14:53:47.461492",
|
||||
"about": "Honi buruz",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10578,5 +10578,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktika jarduera amaituta",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:18.369784",
|
||||
"@@last_modified": "2025-11-20 14:54:11.691213",
|
||||
"repeatPassword": "تکرار رمزعبور",
|
||||
"@repeatPassword": {},
|
||||
"about": "درباره",
|
||||
|
|
@ -11310,5 +11310,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "فعالیت تمرینی کامل شد",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4013,7 +4013,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": "2025-11-20 12:38:20.199337",
|
||||
"@@last_modified": "2025-11-20 14:53:34.208462",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11201,5 +11201,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Harjoitustoiminta suoritettu",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -2791,7 +2791,7 @@
|
|||
"selectAll": "Piliin lahat",
|
||||
"deselectAll": "Huwag piliin lahat",
|
||||
"@@locale": "fil",
|
||||
"@@last_modified": "2025-11-20 12:39:01.960523",
|
||||
"@@last_modified": "2025-11-20 14:54:01.155789",
|
||||
"@setCustomPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11554,5 +11554,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Natapos ang aktibidad sa pagsasanay",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "fr",
|
||||
"@@last_modified": "2025-11-20 12:39:33.718195",
|
||||
"@@last_modified": "2025-11-20 14:54:22.927028",
|
||||
"about": "À propos",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10902,5 +10902,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Activité de pratique terminée",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4521,7 +4521,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": "2025-11-20 12:39:32.391774",
|
||||
"@@last_modified": "2025-11-20 14:54:22.114918",
|
||||
"@customReaction": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -10576,5 +10576,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Críochnaíodh an gníomhaíocht chleachtais",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "gl",
|
||||
"@@last_modified": "2025-11-20 12:38:18.326177",
|
||||
"@@last_modified": "2025-11-20 14:53:32.298371",
|
||||
"about": "Acerca de",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10575,5 +10575,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Actividade de práctica completada",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:31.739043",
|
||||
"@@last_modified": "2025-11-20 14:53:44.448591",
|
||||
"about": "אודות",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11627,5 +11627,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "פעילות תרגול הושלמה",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4487,7 +4487,7 @@
|
|||
"playWithAI": "अभी के लिए एआई के साथ खेलें",
|
||||
"courseStartDesc": "पैंजिया बॉट कभी भी जाने के लिए तैयार है!\n\n...लेकिन दोस्तों के साथ सीखना बेहतर है!",
|
||||
"@@locale": "hi",
|
||||
"@@last_modified": "2025-11-20 12:39:26.351630",
|
||||
"@@last_modified": "2025-11-20 14:54:17.425082",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11663,5 +11663,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "अभ्यास गतिविधि पूरी हुई",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "hr",
|
||||
"@@last_modified": "2025-11-20 12:38:30.674058",
|
||||
"@@last_modified": "2025-11-20 14:53:43.599159",
|
||||
"about": "Informacije",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10950,5 +10950,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivnost vježbanja završena",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "hu",
|
||||
"@@last_modified": "2025-11-20 12:38:23.399921",
|
||||
"@@last_modified": "2025-11-20 14:53:36.261794",
|
||||
"about": "Névjegy",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10579,5 +10579,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Gyakorló tevékenység befejezve",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1962,7 +1962,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": "2025-11-20 12:38:33.310279",
|
||||
"@@last_modified": "2025-11-20 14:53:45.693586",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11656,5 +11656,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktiko aktivita finita",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:25.008007",
|
||||
"@@last_modified": "2025-11-20 14:53:37.035253",
|
||||
"setAsCanonicalAlias": "Atur sebagai alias utama",
|
||||
"@setAsCanonicalAlias": {
|
||||
"type": "String",
|
||||
|
|
@ -10569,5 +10569,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivitas latihan selesai",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4376,7 +4376,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": "2025-11-20 12:38:29.133545",
|
||||
"@@last_modified": "2025-11-20 14:53:42.684180",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11552,5 +11552,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktiko aktivita kompletita",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:43.010339",
|
||||
"@@last_modified": "2025-11-20 14:53:53.093014",
|
||||
"about": "Informazioni",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10581,5 +10581,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Attività di pratica completata",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ja",
|
||||
"@@last_modified": "2025-11-20 12:39:23.909449",
|
||||
"@@last_modified": "2025-11-20 14:54:15.873729",
|
||||
"about": "このアプリについて",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11368,5 +11368,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "練習活動が完了しました",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -2598,7 +2598,7 @@
|
|||
"playWithAI": "ამ დროისთვის ითამაშეთ AI-თან",
|
||||
"courseStartDesc": "Pangea Bot მზადაა ნებისმიერ დროს გასასვლელად!\n\n...მაგრამ სწავლა უკეთესია მეგობრებთან ერთად!",
|
||||
"@@locale": "ka",
|
||||
"@@last_modified": "2025-11-20 12:39:30.042222",
|
||||
"@@last_modified": "2025-11-20 14:54:20.259278",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11608,5 +11608,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "პრაქტიკის აქტივობა დასრულდა",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:15.496170",
|
||||
"@@last_modified": "2025-11-20 14:53:30.116789",
|
||||
"about": "소개",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10686,5 +10686,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "연습 활동이 완료되었습니다",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3865,7 +3865,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": "2025-11-20 12:39:09.565316",
|
||||
"@@last_modified": "2025-11-20 14:54:05.562745",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11383,5 +11383,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Praktikos veikla baigta",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4486,7 +4486,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": "2025-11-20 12:39:03.415375",
|
||||
"@@last_modified": "2025-11-20 14:54:02.050011",
|
||||
"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",
|
||||
|
|
@ -10564,5 +10564,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Prakses aktivitāte pabeigta",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:47.529512",
|
||||
"@@last_modified": "2025-11-20 14:53:55.552111",
|
||||
"about": "Om",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11671,5 +11671,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Øvingsaktivitet fullført",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:13.229885",
|
||||
"@@last_modified": "2025-11-20 14:54:08.318051",
|
||||
"about": "Over ons",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10578,5 +10578,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Oefenactiviteit voltooid",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "pl",
|
||||
"@@last_modified": "2025-11-20 12:39:20.003666",
|
||||
"@@last_modified": "2025-11-20 14:54:12.599201",
|
||||
"about": "O aplikacji",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10578,5 +10578,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktywność praktyczna zakończona",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:37.248064",
|
||||
"@@last_modified": "2025-11-20 14:53:48.565172",
|
||||
"copiedToClipboard": "Copiada para a área de transferência",
|
||||
"@copiedToClipboard": {
|
||||
"type": "String",
|
||||
|
|
@ -11678,5 +11678,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Atividade de prática concluída",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:34.435839",
|
||||
"@@last_modified": "2025-11-20 14:53:46.544212",
|
||||
"about": "Sobre",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10936,5 +10936,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Atividade de prática concluída",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -3335,7 +3335,7 @@
|
|||
"selectAll": "Selecionar tudo",
|
||||
"deselectAll": "Desmarcar tudo",
|
||||
"@@locale": "pt_PT",
|
||||
"@@last_modified": "2025-11-20 12:38:58.794363",
|
||||
"@@last_modified": "2025-11-20 14:53:59.030209",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11607,5 +11607,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Atividade de prática concluída",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:38:26.175424",
|
||||
"@@last_modified": "2025-11-20 14:53:39.359488",
|
||||
"about": "Despre",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11313,5 +11313,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Activitate de practică finalizată",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "ru",
|
||||
"@@last_modified": "2025-11-20 12:39:28.706564",
|
||||
"@@last_modified": "2025-11-20 14:54:19.249444",
|
||||
"about": "О проекте",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10683,5 +10683,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Практическое задание завершено",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "sk",
|
||||
"@@last_modified": "2025-11-20 12:38:27.288377",
|
||||
"@@last_modified": "2025-11-20 14:53:40.669714",
|
||||
"about": "O aplikácii",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11662,5 +11662,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivita cvičenia dokončená",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -2468,7 +2468,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": "2025-11-20 12:38:40.685640",
|
||||
"@@last_modified": "2025-11-20 14:53:51.206505",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11659,5 +11659,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivnost vadbe zaključena",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:31.189262",
|
||||
"@@last_modified": "2025-11-20 14:54:21.092644",
|
||||
"about": "О програму",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11680,5 +11680,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Aktivnost vežbanja je završena",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:21.247328",
|
||||
"@@last_modified": "2025-11-20 14:54:13.498644",
|
||||
"about": "Om",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -11056,5 +11056,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Övningsaktivitet slutförd",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:12.125435",
|
||||
"@@last_modified": "2025-11-20 14:54:07.409352",
|
||||
"acceptedTheInvitation": "👍 {username} அழைப்பை ஏற்றுக்கொண்டது",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
|
|
@ -10802,5 +10802,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "பயிற்சி செயல்பாடு முடிந்தது",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1924,7 +1924,7 @@
|
|||
"playWithAI": "ఇప్పుడే AI తో ఆడండి",
|
||||
"courseStartDesc": "పాంజియా బాట్ ఎప్పుడైనా సిద్ధంగా ఉంటుంది!\n\n...కానీ స్నేహితులతో నేర్చుకోవడం మెరుగైనది!",
|
||||
"@@locale": "te",
|
||||
"@@last_modified": "2025-11-20 12:39:07.913220",
|
||||
"@@last_modified": "2025-11-20 14:54:04.730180",
|
||||
"@setCustomPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11667,5 +11667,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "అభ్యాస కార్యకలాపం పూర్తయింది",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -4460,7 +4460,7 @@
|
|||
"playWithAI": "เล่นกับ AI ชั่วคราว",
|
||||
"courseStartDesc": "Pangea Bot พร้อมที่จะเริ่มต้นได้ทุกเมื่อ!\n\n...แต่การเรียนรู้ดีกว่ากับเพื่อน!",
|
||||
"@@locale": "th",
|
||||
"@@last_modified": "2025-11-20 12:38:57.356247",
|
||||
"@@last_modified": "2025-11-20 14:53:58.064329",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11636,5 +11636,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "กิจกรรมการฝึกซ้อมเสร็จสิ้น",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "tr",
|
||||
"@@last_modified": "2025-11-20 12:39:06.593277",
|
||||
"@@last_modified": "2025-11-20 14:54:03.661128",
|
||||
"about": "Hakkında",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10800,5 +10800,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Pratik etkinliği tamamlandı",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "uk",
|
||||
"@@last_modified": "2025-11-20 12:38:44.579835",
|
||||
"@@last_modified": "2025-11-20 14:53:53.830897",
|
||||
"about": "Про застосунок",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10572,5 +10572,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Практична діяльність завершена",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:10.677258",
|
||||
"@@last_modified": "2025-11-20 14:54:06.548321",
|
||||
"about": "Giới thiệu",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -6148,5 +6148,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "Hoạt động thực hành đã hoàn thành",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1860,7 +1860,7 @@
|
|||
"selectAll": "全選",
|
||||
"deselectAll": "取消全選",
|
||||
"@@locale": "yue",
|
||||
"@@last_modified": "2025-11-20 12:38:42.034948",
|
||||
"@@last_modified": "2025-11-20 14:53:52.037690",
|
||||
"@ignoreUser": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -11669,5 +11669,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "練習活動已完成",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"@@locale": "zh",
|
||||
"@@last_modified": "2025-11-20 12:39:15.698399",
|
||||
"@@last_modified": "2025-11-20 14:54:09.943983",
|
||||
"about": "关于",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10569,5 +10569,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "练习活动已完成",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"@@last_modified": "2025-11-20 12:39:00.347163",
|
||||
"@@last_modified": "2025-11-20 14:53:59.953711",
|
||||
"about": "關於",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
|
|
@ -10576,5 +10576,10 @@
|
|||
"@changeCourseDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"practiceActivityCompleted": "練習活動已完成",
|
||||
"@practiceActivityCompleted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -5,15 +5,18 @@ import 'package:flutter/material.dart';
|
|||
import 'package:confetti/confetti.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
class StarRainWidget extends StatefulWidget {
|
||||
final bool showBlast;
|
||||
final Duration rainDuration;
|
||||
final Duration blastDuration;
|
||||
final VoidCallback? onFinished;
|
||||
final String? overlayKey;
|
||||
|
||||
const StarRainWidget({
|
||||
super.key,
|
||||
this.overlayKey,
|
||||
this.showBlast = true,
|
||||
this.rainDuration = const Duration(seconds: 8),
|
||||
this.blastDuration = const Duration(seconds: 1),
|
||||
|
|
@ -57,6 +60,10 @@ class _StarRainWidgetState extends State<StarRainWidget> {
|
|||
});
|
||||
}
|
||||
await Future.delayed(const Duration(milliseconds: 800));
|
||||
if (widget.overlayKey != null) {
|
||||
MatrixState.pAnyState.closeOverlay(widget.overlayKey);
|
||||
}
|
||||
|
||||
widget.onFinished?.call();
|
||||
if (mounted) {
|
||||
_blastController.stop();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import 'dart:developer';
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/analytics_misc/level_up/star_rain_widget.dart';
|
||||
import 'package:fluffychat/pangea/choreographer/choreo_constants.dart';
|
||||
import 'package:fluffychat/pangea/choreographer/choreographer.dart';
|
||||
import 'package:fluffychat/pangea/choreographer/igc/pangea_match_state_model.dart';
|
||||
|
|
@ -273,4 +274,17 @@ class OverlayUtil {
|
|||
blockOverlay: true,
|
||||
);
|
||||
}
|
||||
|
||||
static void showStarRainOverlay(BuildContext context) {
|
||||
showOverlay(
|
||||
context: context,
|
||||
position: OverlayPositionEnum.centered,
|
||||
closePrevOverlay: false,
|
||||
canPop: false,
|
||||
overlayKey: "star_rain_level_up",
|
||||
child: const StarRainWidget(
|
||||
overlayKey: "star_rain_level_up",
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,13 +179,9 @@ class TokenPracticeButtonState extends State<TokenPracticeButton>
|
|||
);
|
||||
return;
|
||||
}
|
||||
|
||||
widget.overlayController!.onChoiceSelect(null);
|
||||
widget.overlayController!.activity!.onMatch(
|
||||
widget.token,
|
||||
form,
|
||||
widget.overlayController!.pangeaMessageEvent,
|
||||
() => widget.overlayController!.setState(() {}),
|
||||
);
|
||||
widget.overlayController!.onMatch(widget.token, form);
|
||||
}
|
||||
|
||||
bool get _isEmpty {
|
||||
|
|
|
|||
|
|
@ -132,8 +132,7 @@ class MessageMorphInputBarContentState
|
|||
),
|
||||
onTap: () {
|
||||
setState(() => selectedTag = choice);
|
||||
|
||||
widget.activity.onMultipleChoiceSelect(
|
||||
widget.overlayController.onMatch(
|
||||
token,
|
||||
PracticeChoice(
|
||||
choiceContent: choice,
|
||||
|
|
@ -145,8 +144,6 @@ class MessageMorphInputBarContentState
|
|||
form: token.text.content,
|
||||
),
|
||||
),
|
||||
widget.overlayController.pangeaMessageEvent,
|
||||
() => overlay.setState(() {}),
|
||||
);
|
||||
},
|
||||
isSelected: selectedTag == choice,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart';
|
|||
import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart';
|
||||
import 'package:fluffychat/pangea/toolbar/widgets/practice_activity/practice_activity_card.dart';
|
||||
import 'package:fluffychat/pangea/toolbar/widgets/practice_mode_buttons.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
const double minContentHeight = 120;
|
||||
|
||||
|
|
@ -57,11 +58,7 @@ class ReadingAssistanceInputBarState extends State<ReadingAssistanceInputBar> {
|
|||
case MessageMode.noneSelected:
|
||||
case MessageMode.messageMeaning:
|
||||
content = overlayController.isTotallyDone
|
||||
? Text(
|
||||
L10n.of(context).allDone,
|
||||
style: Theme.of(context).textTheme.bodyLarge,
|
||||
textAlign: TextAlign.center,
|
||||
)
|
||||
? const AllDoneWidget()
|
||||
: Text(
|
||||
L10n.of(context).choosePracticeMode,
|
||||
style: Theme.of(context)
|
||||
|
|
@ -74,9 +71,11 @@ class ReadingAssistanceInputBarState extends State<ReadingAssistanceInputBar> {
|
|||
case MessageMode.wordEmoji:
|
||||
case MessageMode.wordMeaning:
|
||||
case MessageMode.listening:
|
||||
if (target == null || activityCompleted) {
|
||||
if (overlayController.isTotallyDone) {
|
||||
content = const AllDoneWidget();
|
||||
} else if (target == null || activityCompleted) {
|
||||
content = Text(
|
||||
L10n.of(context).allDone,
|
||||
L10n.of(context).practiceActivityCompleted,
|
||||
style: Theme.of(context).textTheme.bodyLarge,
|
||||
textAlign: TextAlign.center,
|
||||
);
|
||||
|
|
@ -87,9 +86,11 @@ class ReadingAssistanceInputBarState extends State<ReadingAssistanceInputBar> {
|
|||
);
|
||||
}
|
||||
case MessageMode.wordMorph:
|
||||
if (activityCompleted) {
|
||||
if (overlayController.isTotallyDone) {
|
||||
content = const AllDoneWidget();
|
||||
} else if (activityCompleted) {
|
||||
content = Text(
|
||||
L10n.of(context).allDone,
|
||||
L10n.of(context).practiceActivityCompleted,
|
||||
style: Theme.of(context).textTheme.bodyLarge,
|
||||
textAlign: TextAlign.center,
|
||||
);
|
||||
|
|
@ -149,3 +150,32 @@ class ReadingAssistanceInputBarState extends State<ReadingAssistanceInputBar> {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
class AllDoneWidget extends StatelessWidget {
|
||||
const AllDoneWidget({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
spacing: 8,
|
||||
children: [
|
||||
Text(
|
||||
L10n.of(context).allDone,
|
||||
style: Theme.of(context).textTheme.bodyLarge?.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
letterSpacing: 0.5,
|
||||
),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
ElevatedButton(
|
||||
child: Text(L10n.of(context).continueText),
|
||||
onPressed: () {
|
||||
MatrixState.pAnyState.closeOverlay();
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -322,6 +322,27 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
|
|||
setState(() {});
|
||||
}
|
||||
|
||||
void onMatch(PangeaToken token, PracticeChoice choice) {
|
||||
if (activity == null) return;
|
||||
activity!.activityType == ActivityTypeEnum.morphId
|
||||
? activity!.onMultipleChoiceSelect(
|
||||
token,
|
||||
choice,
|
||||
pangeaMessageEvent,
|
||||
() => setState(() {}),
|
||||
)
|
||||
: activity!.onMatch(
|
||||
token,
|
||||
choice,
|
||||
pangeaMessageEvent,
|
||||
() => setState(() {}),
|
||||
);
|
||||
|
||||
if (isTotallyDone) {
|
||||
OverlayUtil.showStarRainOverlay(context);
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////
|
||||
/// Getters
|
||||
////////////////////////////////////
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue