forgot
This commit is contained in:
parent
1c5a632d2a
commit
1757a7a4af
|
|
@ -650,7 +650,7 @@ code + .copy-button {
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function configurationCacheProblems() { return (
|
function configurationCacheProblems() { return (
|
||||||
// begin-report-data
|
// 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
|
// end-report-data
|
||||||
);}
|
);}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -894,6 +894,9 @@
|
||||||
},
|
},
|
||||||
"chatPermissions": "Chat permissions",
|
"chatPermissions": "Chat permissions",
|
||||||
"@chatPermissions": {},
|
"@chatPermissions": {},
|
||||||
|
"chatThreads": "Threads",
|
||||||
|
"@chatThreads": {},
|
||||||
|
"chatThreadsDescription": "See all threads in this room",
|
||||||
"editDisplayname": "Edit displayname",
|
"editDisplayname": "Edit displayname",
|
||||||
"@editDisplayname": {
|
"@editDisplayname": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
|
|
|
||||||
|
|
@ -893,6 +893,9 @@
|
||||||
},
|
},
|
||||||
"chatPermissions": "Права в чате",
|
"chatPermissions": "Права в чате",
|
||||||
"@chatPermissions": {},
|
"@chatPermissions": {},
|
||||||
|
"chatThreads": "Обсуждения",
|
||||||
|
"@chatThreads": {},
|
||||||
|
"chatThreadsDescription": "Список всех обсуждений в этой комнате",
|
||||||
"editDisplayname": "Отображаемое имя",
|
"editDisplayname": "Отображаемое имя",
|
||||||
"@editDisplayname": {
|
"@editDisplayname": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
|
|
@ -937,7 +940,7 @@
|
||||||
"@globalChatId": {},
|
"@globalChatId": {},
|
||||||
"accessAndVisibility": "Доступность и видимость",
|
"accessAndVisibility": "Доступность и видимость",
|
||||||
"@accessAndVisibility": {},
|
"@accessAndVisibility": {},
|
||||||
"accessAndVisibilityDescription": "Кто может зайти и как найти этот чат.",
|
"accessAndVisibilityDescription": "Кто может зайти и как найти этот чат",
|
||||||
"@accessAndVisibilityDescription": {},
|
"@accessAndVisibilityDescription": {},
|
||||||
"calls": "Звонки",
|
"calls": "Звонки",
|
||||||
"@calls": {},
|
"@calls": {},
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import 'dart:async';
|
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:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
|
@ -152,6 +153,13 @@ abstract class AppRoutes {
|
||||||
routes: [
|
routes: [
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: 'threads',
|
path: 'threads',
|
||||||
|
pageBuilder: (context, state) => defaultPageBuilder(
|
||||||
|
context,
|
||||||
|
state,
|
||||||
|
ChatThreads(
|
||||||
|
roomId: state.pathParameters['roomid']!,
|
||||||
|
),
|
||||||
|
),
|
||||||
redirect: loggedOutRedirect,
|
redirect: loggedOutRedirect,
|
||||||
routes: [
|
routes: [
|
||||||
GoRoute(
|
GoRoute(
|
||||||
|
|
|
||||||
|
|
@ -1317,6 +1317,18 @@ abstract class L10n {
|
||||||
/// **'Chat permissions'**
|
/// **'Chat permissions'**
|
||||||
String get chatPermissions;
|
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.
|
/// No description provided for @editDisplayname.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|
|
||||||
|
|
@ -659,6 +659,12 @@ class L10nAr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'صلاحيات المحادثة';
|
String get chatPermissions => 'صلاحيات المحادثة';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'حرر الاسم العلني';
|
String get editDisplayname => 'حرر الاسم العلني';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nBe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nBn extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nBo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -668,6 +668,12 @@ class L10nCa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Permisos del xat';
|
String get chatPermissions => 'Permisos del xat';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edita l\'àlies';
|
String get editDisplayname => 'Edita l\'àlies';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,12 @@ class L10nCs extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Oprávnění konverzace';
|
String get chatPermissions => 'Oprávnění konverzace';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Změnit přezdívku';
|
String get editDisplayname => 'Změnit přezdívku';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -669,6 +669,12 @@ class L10nDe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chatberechtigungen';
|
String get chatPermissions => 'Chatberechtigungen';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Anzeigename ändern';
|
String get editDisplayname => 'Anzeigename ändern';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,12 @@ class L10nEl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nEn extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,6 +666,12 @@ class L10nEo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Redakti prezentan nomon';
|
String get editDisplayname => 'Redakti prezentan nomon';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,12 @@ class L10nEs extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Permisos del chat';
|
String get chatPermissions => 'Permisos del chat';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Editar nombre visible';
|
String get editDisplayname => 'Editar nombre visible';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nEt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Vestluse õigused';
|
String get chatPermissions => 'Vestluse õigused';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Muuda kuvatavat nime';
|
String get editDisplayname => 'Muuda kuvatavat nime';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,6 +666,12 @@ class L10nEu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Txataren baimenak';
|
String get chatPermissions => 'Txataren baimenak';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Editatu ezizena';
|
String get editDisplayname => 'Editatu ezizena';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -661,6 +661,12 @@ class L10nFa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'ویرایش نام نمایشی';
|
String get editDisplayname => 'ویرایش نام نمایشی';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -668,6 +668,12 @@ class L10nFi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Keskustelun oikeudet';
|
String get chatPermissions => 'Keskustelun oikeudet';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Muokkaa näyttönimeä';
|
String get editDisplayname => 'Muokkaa näyttönimeä';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -669,6 +669,12 @@ class L10nFil extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Mga pahintulot ng chat';
|
String get chatPermissions => 'Mga pahintulot ng chat';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'I-edit ang display name';
|
String get editDisplayname => 'I-edit ang display name';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -672,6 +672,12 @@ class L10nFr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Permissions du salon';
|
String get chatPermissions => 'Permissions du salon';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Changer de nom d\'affichage';
|
String get editDisplayname => 'Changer de nom d\'affichage';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -671,6 +671,12 @@ class L10nGa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Ceadanna comhrá';
|
String get chatPermissions => 'Ceadanna comhrá';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Cuir ainm taispeána in eagar';
|
String get editDisplayname => 'Cuir ainm taispeána in eagar';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,6 +666,12 @@ class L10nGl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Permisos da conversa';
|
String get chatPermissions => 'Permisos da conversa';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Editar nome público';
|
String get editDisplayname => 'Editar nome público';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -661,6 +661,12 @@ class L10nHe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'ערוך את שם התצוגה';
|
String get editDisplayname => 'ערוך את שם התצוגה';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nHi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,12 @@ class L10nHr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Dozvole za razgovor';
|
String get chatPermissions => 'Dozvole za razgovor';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Uredi prikazano ime';
|
String get editDisplayname => 'Uredi prikazano ime';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,6 +666,12 @@ class L10nHu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Csevegés engedélyek';
|
String get chatPermissions => 'Csevegés engedélyek';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Megjelenítési név szerkesztése';
|
String get editDisplayname => 'Megjelenítési név szerkesztése';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nIa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -670,6 +670,12 @@ class L10nId extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Perizinan obrolan';
|
String get chatPermissions => 'Perizinan obrolan';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit nama tampilan';
|
String get editDisplayname => 'Edit nama tampilan';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -662,6 +662,12 @@ class L10nIe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Redacter li visibil nómine';
|
String get editDisplayname => 'Redacter li visibil nómine';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,12 @@ class L10nIt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Permessi della chat';
|
String get chatPermissions => 'Permessi della chat';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Modifica il nominativo';
|
String get editDisplayname => 'Modifica il nominativo';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -654,6 +654,12 @@ class L10nJa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => '表示名を編集';
|
String get editDisplayname => '表示名を編集';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nKa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'ჩატის უფლებები';
|
String get chatPermissions => 'ჩატის უფლებები';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'ნაჩვენები სახელის შეცვლა';
|
String get editDisplayname => 'ნაჩვენები სახელის შეცვლა';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -652,6 +652,12 @@ class L10nKo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => '채팅 권한';
|
String get chatPermissions => '채팅 권한';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => '표시 이름 수정';
|
String get editDisplayname => '표시 이름 수정';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nLt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Redaguoti rodomą vardą';
|
String get editDisplayname => 'Redaguoti rodomą vardą';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -669,6 +669,12 @@ class L10nLv extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Tērzēšanas atļaujas';
|
String get chatPermissions => 'Tērzēšanas atļaujas';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Labot attēlojamo vārdu';
|
String get editDisplayname => 'Labot attēlojamo vārdu';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nNb extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Rediger visningsnavn';
|
String get editDisplayname => 'Rediger visningsnavn';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nNl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat toestemmingen';
|
String get chatPermissions => 'Chat toestemmingen';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Naam wijzigen';
|
String get editDisplayname => 'Naam wijzigen';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -666,6 +666,12 @@ class L10nPl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Uprawnienia w czacie';
|
String get chatPermissions => 'Uprawnienia w czacie';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edytuj nazwę wyświetlaną';
|
String get editDisplayname => 'Edytuj nazwę wyświetlaną';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nPt extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -668,6 +668,12 @@ class L10nRo extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Schimbați displayname';
|
String get editDisplayname => 'Schimbați displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nRu extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Права в чате';
|
String get chatPermissions => 'Права в чате';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Обсуждения';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'Список всех обсуждений в этой комнате';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Отображаемое имя';
|
String get editDisplayname => 'Отображаемое имя';
|
||||||
|
|
||||||
|
|
@ -698,7 +704,7 @@ class L10nRu extends L10n {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get accessAndVisibilityDescription =>
|
String get accessAndVisibilityDescription =>
|
||||||
'Кто может зайти и как найти этот чат.';
|
'Кто может зайти и как найти этот чат';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get calls => 'Звонки';
|
String get calls => 'Звонки';
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nSk extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Zmeniť prezývku';
|
String get editDisplayname => 'Zmeniť prezývku';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,12 @@ class L10nSl extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nSr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Уреди име за приказ';
|
String get editDisplayname => 'Уреди име за приказ';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,12 @@ class L10nSv extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chatt-behörigheter';
|
String get chatPermissions => 'Chatt-behörigheter';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Ändra visningsnamn';
|
String get editDisplayname => 'Ändra visningsnamn';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -673,6 +673,12 @@ class L10nTa extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'அரட்டை அனுமதிகள்';
|
String get chatPermissions => 'அரட்டை அனுமதிகள்';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'காட்சி பெயர் திருத்து';
|
String get editDisplayname => 'காட்சி பெயர் திருத்து';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nTe extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nTh extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Edit displayname';
|
String get editDisplayname => 'Edit displayname';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -665,6 +665,12 @@ class L10nTr extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Sohbet izinleri';
|
String get chatPermissions => 'Sohbet izinleri';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Görünen adı düzenle';
|
String get editDisplayname => 'Görünen adı düzenle';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -667,6 +667,12 @@ class L10nUk extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Дозволи бесіди';
|
String get chatPermissions => 'Дозволи бесіди';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Змінити показуване ім\'я';
|
String get editDisplayname => 'Змінити показуване ім\'я';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -663,6 +663,12 @@ class L10nVi extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => 'Chat permissions';
|
String get chatPermissions => 'Chat permissions';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => 'Sửa tên hiển thị';
|
String get editDisplayname => 'Sửa tên hiển thị';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -647,6 +647,12 @@ class L10nZh extends L10n {
|
||||||
@override
|
@override
|
||||||
String get chatPermissions => '聊天权限';
|
String get chatPermissions => '聊天权限';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreads => 'Threads';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get chatThreadsDescription => 'See all threads in this room';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get editDisplayname => '编辑昵称';
|
String get editDisplayname => '编辑昵称';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -328,7 +328,9 @@ class ChatView extends StatelessWidget {
|
||||||
Expanded(
|
Expanded(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: controller.clearSingleSelectedEvent,
|
onTap: controller.clearSingleSelectedEvent,
|
||||||
child: ChatEventList(controller: controller),
|
child: ChatEventList(
|
||||||
|
controller: controller,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (controller.showScrollDownButton)
|
if (controller.showScrollDownButton)
|
||||||
|
|
|
||||||
|
|
@ -16,14 +16,13 @@ class TranslatedEventDialog extends StatefulWidget {
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
TranslatedEventDialogState createState() =>
|
TranslatedEventDialogState createState() => TranslatedEventDialogState();
|
||||||
TranslatedEventDialogState(event, timeline);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class TranslatedEventDialogState extends State<TranslatedEventDialog> {
|
class TranslatedEventDialogState extends State<TranslatedEventDialog> {
|
||||||
final Event event;
|
Event get event => widget.event;
|
||||||
final Timeline timeline;
|
Timeline get timeline => widget.timeline;
|
||||||
TranslatedEventDialogState(this.event, this.timeline);
|
TranslatedEventDialogState();
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final theme = Theme.of(context);
|
final theme = Theme.of(context);
|
||||||
|
|
@ -33,35 +32,31 @@ class TranslatedEventDialogState extends State<TranslatedEventDialog> {
|
||||||
theme.bubbleColor,
|
theme.bubbleColor,
|
||||||
];
|
];
|
||||||
|
|
||||||
final message = Message(
|
final message = Message(
|
||||||
event,
|
event,
|
||||||
colors: colors,
|
colors: colors,
|
||||||
onInfoTab: (Event ev) => {},
|
onInfoTab: (Event ev) => {},
|
||||||
onMention: () => {},
|
onMention: () => {},
|
||||||
onSelect: (Event ev) => {},
|
onSelect: (Event ev) => {},
|
||||||
onSwipe: () => {},
|
onSwipe: () => {},
|
||||||
scrollToEventId: (String p0) => {},
|
scrollToEventId: (String p0) => {},
|
||||||
timeline: timeline,
|
timeline: timeline,
|
||||||
animateIn: false,
|
animateIn: false,
|
||||||
displayReadMarker: false,
|
displayReadMarker: false,
|
||||||
highlightMarker: false,
|
highlightMarker: false,
|
||||||
longPressSelect: false,
|
longPressSelect: false,
|
||||||
selected: false,
|
selected: false,
|
||||||
wallpaperMode: false,
|
wallpaperMode: false,
|
||||||
gradient: false
|
gradient: false,
|
||||||
);
|
);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(title: Text(L10n.of(context).translatedMessage)),
|
||||||
title: Text(L10n.of(context).translatedMessage)
|
body: Column(
|
||||||
),
|
children: [
|
||||||
body: Container(
|
message,
|
||||||
child: 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:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
|
|
||||||
|
|
@ -259,6 +259,21 @@ class ChatDetailsView extends StatelessWidget {
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
],
|
],
|
||||||
Divider(color: theme.dividerColor),
|
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(
|
ListTile(
|
||||||
leading: CircleAvatar(
|
leading: CircleAvatar(
|
||||||
backgroundColor: theme.scaffoldBackgroundColor,
|
backgroundColor: theme.scaffoldBackgroundColor,
|
||||||
|
|
|
||||||
|
|
@ -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/matrix.dart';
|
||||||
import 'package:extera_next/widgets/share_scaffold_dialog.dart';
|
import 'package:extera_next/widgets/share_scaffold_dialog.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
|
||||||
|
|
||||||
class ThreadPage extends StatelessWidget {
|
class ThreadPage extends StatelessWidget {
|
||||||
final String roomId;
|
final String roomId;
|
||||||
|
|
@ -8,6 +8,10 @@ extension VisibleInGuiExtension on List<Event> {
|
||||||
return where((e) => e.isThreaded == threaded).toList();
|
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}) {
|
List<Event> filterByVisibleInGui({String? exceptionEventId}) {
|
||||||
final visibleEvents =
|
final visibleEvents =
|
||||||
where((e) => e.isVisibleInGui || e.eventId == exceptionEventId)
|
where((e) => e.isVisibleInGui || e.eventId == exceptionEventId)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue