forgot
This commit is contained in:
parent
1c5a632d2a
commit
1757a7a4af
|
|
@ -650,7 +650,7 @@ code + .copy-button {
|
|||
<script type="text/javascript">
|
||||
function configurationCacheProblems() { return (
|
||||
// begin-report-data
|
||||
{"diagnostics":[{"problem":[{"text":"Executing Gradle on JVM versions 16 and lower has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This will fail with an error in Gradle 9.0."}],"contextualLabel":"Executing Gradle on JVM versions 16 and lower has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#minimum_daemon_jvm_version","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"executing-gradle-on-jvm-versions-and-lower","displayName":"Executing Gradle on JVM versions 16 and lower has been deprecated."}],"solutions":[[{"text":"Use JVM 17 or greater to execute Gradle. Projects can continue to use older JVM versions via toolchains."}]]}],"problemsReport":{"totalProblemCount":1,"requestedTasks":"","documentationLink":"https://docs.gradle.org/8.13/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
{"diagnostics":[{"problem":[{"text":"Executing Gradle on JVM versions 16 and lower has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This will fail with an error in Gradle 9.0."}],"contextualLabel":"Executing Gradle on JVM versions 16 and lower has been deprecated.","documentationLink":"https://docs.gradle.org/8.13/userguide/upgrading_version_8.html#minimum_daemon_jvm_version","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"executing-gradle-on-jvm-versions-and-lower","displayName":"Executing Gradle on JVM versions 16 and lower has been deprecated."}],"solutions":[[{"text":"Use JVM 17 or greater to execute Gradle. Projects can continue to use older JVM versions via toolchains."}]]},{"problem":[{"text":"No variants exist that would match the request"}],"severity":"ERROR","contextualLabel":"Dependency requires at least JVM runtime version 11. This build uses a Java 8 JVM.","documentationLink":"https://docs.gradle.org/8.13/userguide/variant_model.html#sec:variant-select-errors","problemId":[{"name":"dependency-variant-resolution","displayName":"Variant resolution"},{"name":"no-compatible-variants","displayName":"No variants exist that would match the request"}]}],"problemsReport":{"totalProblemCount":2,"requestedTasks":"","documentationLink":"https://docs.gradle.org/8.13/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}}
|
||||
// end-report-data
|
||||
);}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -894,6 +894,9 @@
|
|||
},
|
||||
"chatPermissions": "Chat permissions",
|
||||
"@chatPermissions": {},
|
||||
"chatThreads": "Threads",
|
||||
"@chatThreads": {},
|
||||
"chatThreadsDescription": "See all threads in this room",
|
||||
"editDisplayname": "Edit displayname",
|
||||
"@editDisplayname": {
|
||||
"type": "String",
|
||||
|
|
|
|||
|
|
@ -893,6 +893,9 @@
|
|||
},
|
||||
"chatPermissions": "Права в чате",
|
||||
"@chatPermissions": {},
|
||||
"chatThreads": "Обсуждения",
|
||||
"@chatThreads": {},
|
||||
"chatThreadsDescription": "Список всех обсуждений в этой комнате",
|
||||
"editDisplayname": "Отображаемое имя",
|
||||
"@editDisplayname": {
|
||||
"type": "String",
|
||||
|
|
@ -937,7 +940,7 @@
|
|||
"@globalChatId": {},
|
||||
"accessAndVisibility": "Доступность и видимость",
|
||||
"@accessAndVisibility": {},
|
||||
"accessAndVisibilityDescription": "Кто может зайти и как найти этот чат.",
|
||||
"accessAndVisibilityDescription": "Кто может зайти и как найти этот чат",
|
||||
"@accessAndVisibilityDescription": {},
|
||||
"calls": "Звонки",
|
||||
"@calls": {},
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:extera_next/pages/thread/thread.dart';
|
||||
import 'package:extera_next/pages/chat_thread/chat_threads.dart';
|
||||
import 'package:extera_next/pages/chat_thread/thread.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
|
|
@ -152,6 +153,13 @@ abstract class AppRoutes {
|
|||
routes: [
|
||||
GoRoute(
|
||||
path: 'threads',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
ChatThreads(
|
||||
roomId: state.pathParameters['roomid']!,
|
||||
),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
GoRoute(
|
||||
|
|
|
|||
|
|
@ -1317,6 +1317,18 @@ abstract class L10n {
|
|||
/// **'Chat permissions'**
|
||||
String get chatPermissions;
|
||||
|
||||
/// No description provided for @chatThreads.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Threads'**
|
||||
String get chatThreads;
|
||||
|
||||
/// No description provided for @chatThreadsDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'See all threads in this room'**
|
||||
String get chatThreadsDescription;
|
||||
|
||||
/// No description provided for @editDisplayname.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -659,6 +659,12 @@ class L10nAr extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'صلاحيات المحادثة';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'حرر الاسم العلني';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nBe extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nBn extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nBo extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -668,6 +668,12 @@ class L10nCa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Permisos del xat';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edita l\'àlies';
|
||||
|
||||
|
|
|
|||
|
|
@ -667,6 +667,12 @@ class L10nCs extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Oprávnění konverzace';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Změnit přezdívku';
|
||||
|
||||
|
|
|
|||
|
|
@ -669,6 +669,12 @@ class L10nDe extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chatberechtigungen';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Anzeigename ändern';
|
||||
|
||||
|
|
|
|||
|
|
@ -664,6 +664,12 @@ class L10nEl extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nEn extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,12 @@ class L10nEo extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Redakti prezentan nomon';
|
||||
|
||||
|
|
|
|||
|
|
@ -667,6 +667,12 @@ class L10nEs extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Permisos del chat';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Editar nombre visible';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nEt extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Vestluse õigused';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Muuda kuvatavat nime';
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,12 @@ class L10nEu extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Txataren baimenak';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Editatu ezizena';
|
||||
|
||||
|
|
|
|||
|
|
@ -661,6 +661,12 @@ class L10nFa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'ویرایش نام نمایشی';
|
||||
|
||||
|
|
|
|||
|
|
@ -668,6 +668,12 @@ class L10nFi extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Keskustelun oikeudet';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Muokkaa näyttönimeä';
|
||||
|
||||
|
|
|
|||
|
|
@ -669,6 +669,12 @@ class L10nFil extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Mga pahintulot ng chat';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'I-edit ang display name';
|
||||
|
||||
|
|
|
|||
|
|
@ -672,6 +672,12 @@ class L10nFr extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Permissions du salon';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Changer de nom d\'affichage';
|
||||
|
||||
|
|
|
|||
|
|
@ -671,6 +671,12 @@ class L10nGa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Ceadanna comhrá';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Cuir ainm taispeána in eagar';
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,12 @@ class L10nGl extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Permisos da conversa';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Editar nome público';
|
||||
|
||||
|
|
|
|||
|
|
@ -661,6 +661,12 @@ class L10nHe extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'ערוך את שם התצוגה';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nHi extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -664,6 +664,12 @@ class L10nHr extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Dozvole za razgovor';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Uredi prikazano ime';
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,12 @@ class L10nHu extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Csevegés engedélyek';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Megjelenítési név szerkesztése';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nIa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -670,6 +670,12 @@ class L10nId extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Perizinan obrolan';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit nama tampilan';
|
||||
|
||||
|
|
|
|||
|
|
@ -662,6 +662,12 @@ class L10nIe extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Redacter li visibil nómine';
|
||||
|
||||
|
|
|
|||
|
|
@ -667,6 +667,12 @@ class L10nIt extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Permessi della chat';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Modifica il nominativo';
|
||||
|
||||
|
|
|
|||
|
|
@ -654,6 +654,12 @@ class L10nJa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => '表示名を編集';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nKa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'ჩატის უფლებები';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'ნაჩვენები სახელის შეცვლა';
|
||||
|
||||
|
|
|
|||
|
|
@ -652,6 +652,12 @@ class L10nKo extends L10n {
|
|||
@override
|
||||
String get chatPermissions => '채팅 권한';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => '표시 이름 수정';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nLt extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Redaguoti rodomą vardą';
|
||||
|
||||
|
|
|
|||
|
|
@ -669,6 +669,12 @@ class L10nLv extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Tērzēšanas atļaujas';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Labot attēlojamo vārdu';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nNb extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Rediger visningsnavn';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nNl extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat toestemmingen';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Naam wijzigen';
|
||||
|
||||
|
|
|
|||
|
|
@ -666,6 +666,12 @@ class L10nPl extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Uprawnienia w czacie';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edytuj nazwę wyświetlaną';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nPt extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -668,6 +668,12 @@ class L10nRo extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Schimbați displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nRu extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Права в чате';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Обсуждения';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'Список всех обсуждений в этой комнате';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Отображаемое имя';
|
||||
|
||||
|
|
@ -698,7 +704,7 @@ class L10nRu extends L10n {
|
|||
|
||||
@override
|
||||
String get accessAndVisibilityDescription =>
|
||||
'Кто может зайти и как найти этот чат.';
|
||||
'Кто может зайти и как найти этот чат';
|
||||
|
||||
@override
|
||||
String get calls => 'Звонки';
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nSk extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Zmeniť prezývku';
|
||||
|
||||
|
|
|
|||
|
|
@ -667,6 +667,12 @@ class L10nSl extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nSr extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Уреди име за приказ';
|
||||
|
||||
|
|
|
|||
|
|
@ -664,6 +664,12 @@ class L10nSv extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chatt-behörigheter';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Ändra visningsnamn';
|
||||
|
||||
|
|
|
|||
|
|
@ -673,6 +673,12 @@ class L10nTa extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'அரட்டை அனுமதிகள்';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'காட்சி பெயர் திருத்து';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nTe extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nTh extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Edit displayname';
|
||||
|
||||
|
|
|
|||
|
|
@ -665,6 +665,12 @@ class L10nTr extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Sohbet izinleri';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Görünen adı düzenle';
|
||||
|
||||
|
|
|
|||
|
|
@ -667,6 +667,12 @@ class L10nUk extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Дозволи бесіди';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Змінити показуване ім\'я';
|
||||
|
||||
|
|
|
|||
|
|
@ -663,6 +663,12 @@ class L10nVi extends L10n {
|
|||
@override
|
||||
String get chatPermissions => 'Chat permissions';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => 'Sửa tên hiển thị';
|
||||
|
||||
|
|
|
|||
|
|
@ -647,6 +647,12 @@ class L10nZh extends L10n {
|
|||
@override
|
||||
String get chatPermissions => '聊天权限';
|
||||
|
||||
@override
|
||||
String get chatThreads => 'Threads';
|
||||
|
||||
@override
|
||||
String get chatThreadsDescription => 'See all threads in this room';
|
||||
|
||||
@override
|
||||
String get editDisplayname => '编辑昵称';
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import 'package:extera_next/utils/platform_infos.dart';
|
|||
|
||||
class ChatEventList extends StatelessWidget {
|
||||
final ChatController controller;
|
||||
|
||||
|
||||
const ChatEventList({
|
||||
super.key,
|
||||
required this.controller,
|
||||
|
|
|
|||
|
|
@ -328,7 +328,9 @@ class ChatView extends StatelessWidget {
|
|||
Expanded(
|
||||
child: GestureDetector(
|
||||
onTap: controller.clearSingleSelectedEvent,
|
||||
child: ChatEventList(controller: controller),
|
||||
child: ChatEventList(
|
||||
controller: controller,
|
||||
),
|
||||
),
|
||||
),
|
||||
if (controller.showScrollDownButton)
|
||||
|
|
|
|||
|
|
@ -16,14 +16,13 @@ class TranslatedEventDialog extends StatefulWidget {
|
|||
});
|
||||
|
||||
@override
|
||||
TranslatedEventDialogState createState() =>
|
||||
TranslatedEventDialogState(event, timeline);
|
||||
TranslatedEventDialogState createState() => TranslatedEventDialogState();
|
||||
}
|
||||
|
||||
class TranslatedEventDialogState extends State<TranslatedEventDialog> {
|
||||
final Event event;
|
||||
final Timeline timeline;
|
||||
TranslatedEventDialogState(this.event, this.timeline);
|
||||
Event get event => widget.event;
|
||||
Timeline get timeline => widget.timeline;
|
||||
TranslatedEventDialogState();
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = Theme.of(context);
|
||||
|
|
@ -33,35 +32,31 @@ class TranslatedEventDialogState extends State<TranslatedEventDialog> {
|
|||
theme.bubbleColor,
|
||||
];
|
||||
|
||||
final message = Message(
|
||||
event,
|
||||
colors: colors,
|
||||
onInfoTab: (Event ev) => {},
|
||||
onMention: () => {},
|
||||
onSelect: (Event ev) => {},
|
||||
onSwipe: () => {},
|
||||
scrollToEventId: (String p0) => {},
|
||||
timeline: timeline,
|
||||
animateIn: false,
|
||||
displayReadMarker: false,
|
||||
highlightMarker: false,
|
||||
longPressSelect: false,
|
||||
selected: false,
|
||||
wallpaperMode: false,
|
||||
gradient: false
|
||||
);
|
||||
final message = Message(
|
||||
event,
|
||||
colors: colors,
|
||||
onInfoTab: (Event ev) => {},
|
||||
onMention: () => {},
|
||||
onSelect: (Event ev) => {},
|
||||
onSwipe: () => {},
|
||||
scrollToEventId: (String p0) => {},
|
||||
timeline: timeline,
|
||||
animateIn: false,
|
||||
displayReadMarker: false,
|
||||
highlightMarker: false,
|
||||
longPressSelect: false,
|
||||
selected: false,
|
||||
wallpaperMode: false,
|
||||
gradient: false,
|
||||
);
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text(L10n.of(context).translatedMessage)
|
||||
),
|
||||
body: Container(
|
||||
child: Column(
|
||||
children: [
|
||||
message,
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
appBar: AppBar(title: Text(L10n.of(context).translatedMessage)),
|
||||
body: Column(
|
||||
children: [
|
||||
message,
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:extera_next/pages/chat_thread/chat_threads_view.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
|
|
|
|||
|
|
@ -259,6 +259,21 @@ class ChatDetailsView extends StatelessWidget {
|
|||
const SizedBox(height: 16),
|
||||
],
|
||||
Divider(color: theme.dividerColor),
|
||||
ListTile(
|
||||
leading: CircleAvatar(
|
||||
backgroundColor: theme.scaffoldBackgroundColor,
|
||||
foregroundColor: iconColor,
|
||||
child: const Icon(
|
||||
Icons.chat_bubble_outline,
|
||||
),
|
||||
),
|
||||
title: Text(L10n.of(context).chatThreads),
|
||||
subtitle:
|
||||
Text(L10n.of(context).chatThreadsDescription),
|
||||
onTap: () =>
|
||||
context.push('/rooms/${room.id}/threads'),
|
||||
trailing: const Icon(Icons.chevron_right_outlined),
|
||||
),
|
||||
ListTile(
|
||||
leading: CircleAvatar(
|
||||
backgroundColor: theme.scaffoldBackgroundColor,
|
||||
|
|
@ -360,4 +375,4 @@ class ChatDetailsView extends StatelessWidget {
|
|||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
import 'package:extera_next/pages/chat_thread/chat_threads_view.dart';
|
||||
import 'package:extera_next/widgets/matrix.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||
|
||||
class ChatThreads extends StatefulWidget {
|
||||
final String roomId;
|
||||
|
||||
const ChatThreads({
|
||||
super.key,
|
||||
required this.roomId,
|
||||
});
|
||||
|
||||
@override
|
||||
ChatThreadsController createState() => ChatThreadsController();
|
||||
}
|
||||
|
||||
class ChatThreadsController extends State<ChatThreads> {
|
||||
String get roomId => widget.roomId;
|
||||
Room? get room => Matrix.of(context).client.getRoomById(roomId);
|
||||
|
||||
bool isLoadingThreads = false;
|
||||
|
||||
final AutoScrollController scrollController = AutoScrollController();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ChatThreadsView(this);
|
||||
|
||||
void loadThreads([dynamic _]) async {
|
||||
final room = Matrix.of(context).client.getRoomById(roomId);
|
||||
|
||||
if (room == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
isLoadingThreads = true;
|
||||
|
||||
await room.loadThreadsFromServer();
|
||||
|
||||
isLoadingThreads = false;
|
||||
}
|
||||
|
||||
List<Thread>? get threads => room?.threads.values.toList();
|
||||
|
||||
Stream get onChanged => Matrix.of(context).client.onSync.stream.where(
|
||||
(e) =>
|
||||
(e.rooms?.join?.containsKey(roomId) ?? false) &&
|
||||
(e.rooms!.join![roomId]?.timeline?.events
|
||||
?.any((s) => s.type == EventTypes.Message && s.content['m.relates_to'] != null) ??
|
||||
false),
|
||||
);
|
||||
}
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
import 'package:extera_next/config/themes.dart';
|
||||
import 'package:extera_next/generated/l10n/l10n.dart';
|
||||
import 'package:extera_next/pages/chat_thread/chat_threads.dart';
|
||||
import 'package:extera_next/utils/platform_infos.dart';
|
||||
import 'package:extera_next/widgets/avatar.dart';
|
||||
import 'package:extera_next/widgets/layouts/max_width_body.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||
|
||||
class ChatThreadsView extends StatelessWidget {
|
||||
final ChatThreadsController controller;
|
||||
|
||||
const ChatThreadsView(this.controller, {super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final horizontalPadding = FluffyThemes.isColumnMode(context) ? 8.0 : 0.0;
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
leading: const Center(child: BackButton()),
|
||||
title: Text(L10n.of(context).chatThreads),
|
||||
),
|
||||
body: MaxWidthBody(
|
||||
child: ListView.custom(
|
||||
padding: EdgeInsets.only(
|
||||
top: 16,
|
||||
bottom: 8,
|
||||
left: horizontalPadding,
|
||||
right: horizontalPadding,
|
||||
),
|
||||
reverse: true,
|
||||
controller: controller.scrollController,
|
||||
keyboardDismissBehavior: PlatformInfos.isIOS
|
||||
? ScrollViewKeyboardDismissBehavior.onDrag
|
||||
: ScrollViewKeyboardDismissBehavior.manual,
|
||||
childrenDelegate: SliverChildBuilderDelegate(
|
||||
(BuildContext context, int i) {
|
||||
if (i == (controller.threads?.length ?? 0) + 1) {
|
||||
if (controller.isLoadingThreads) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||
);
|
||||
} else if (!(controller.room?.loadedAllThreads ?? false)) {
|
||||
return Builder(
|
||||
builder: (context) {
|
||||
WidgetsBinding.instance
|
||||
.addPostFrameCallback(controller.loadThreads);
|
||||
return Center(
|
||||
child: IconButton(
|
||||
onPressed: controller.loadThreads,
|
||||
icon: const Icon(Icons.refresh_outlined),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
i--;
|
||||
|
||||
final thread = controller.threads![i];
|
||||
|
||||
return AutoScrollTag(
|
||||
key: ValueKey(thread.rootEvent.eventId),
|
||||
index: i,
|
||||
controller: controller.scrollController,
|
||||
child: Container(
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 16.0,
|
||||
vertical: 8.0,
|
||||
),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
FutureBuilder<User?>(
|
||||
future: thread.rootEvent.fetchSenderUser(),
|
||||
builder: (context, snapshot) {
|
||||
final user = snapshot.data ??
|
||||
thread.rootEvent.senderFromMemoryOrFallback;
|
||||
|
||||
return Avatar(
|
||||
mxContent: user.avatarUrl,
|
||||
name: user.calcDisplayname(),
|
||||
size: 48,
|
||||
);
|
||||
},
|
||||
),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(thread.rootEvent.senderFromMemoryOrFallback.calcDisplayname()),
|
||||
],
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4.0),
|
||||
Text(thread.rootEvent.text),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
childCount: (controller.threads?.length ?? 0) + 1,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@ import 'package:extera_next/pages/chat/chat.dart';
|
|||
import 'package:extera_next/widgets/matrix.dart';
|
||||
import 'package:extera_next/widgets/share_scaffold_dialog.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
class ThreadPage extends StatelessWidget {
|
||||
final String roomId;
|
||||
|
|
@ -8,6 +8,10 @@ extension VisibleInGuiExtension on List<Event> {
|
|||
return where((e) => e.isThreaded == threaded).toList();
|
||||
}
|
||||
|
||||
List<Event> filterThreadRoots() {
|
||||
return where((e) => e.room.threads.containsKey(e.eventId)).toList();
|
||||
}
|
||||
|
||||
List<Event> filterByVisibleInGui({String? exceptionEventId}) {
|
||||
final visibleEvents =
|
||||
where((e) => e.isVisibleInGui || e.eventId == exceptionEventId)
|
||||
|
|
|
|||
Loading…
Reference in New Issue