do something
This commit is contained in:
parent
33d3536660
commit
d5fb1cfa13
|
|
@ -20,6 +20,7 @@
|
||||||
"enableGradient": "Enable bubble background gradient",
|
"enableGradient": "Enable bubble background gradient",
|
||||||
"translationDisabledInE2e": "Cloud translation is disabled in encrypted rooms to preserve privacy. Select specific words and use system context menu to translate with apps that support it.",
|
"translationDisabledInE2e": "Cloud translation is disabled in encrypted rooms to preserve privacy. Select specific words and use system context menu to translate with apps that support it.",
|
||||||
"remove": "Remove",
|
"remove": "Remove",
|
||||||
|
|
||||||
"@remove": {
|
"@remove": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
|
@ -3003,6 +3004,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"customReaction": "Add reaction",
|
||||||
"canceledKeyVerification": "{sender} canceled key verification",
|
"canceledKeyVerification": "{sender} canceled key verification",
|
||||||
"@canceledKeyVerification": {
|
"@canceledKeyVerification": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@
|
||||||
"displayNavigationRail": "Всегда показывать боковую панель",
|
"displayNavigationRail": "Всегда показывать боковую панель",
|
||||||
"enableGradient": "Фоновый градиент для сообщений",
|
"enableGradient": "Фоновый градиент для сообщений",
|
||||||
"translationDisabledInE2e": "Облачные переводы недоступны в зашифрованных комнатах для защиты конфиденциальности. Выбирайте отдельные слова и переводите их через другие приложения.",
|
"translationDisabledInE2e": "Облачные переводы недоступны в зашифрованных комнатах для защиты конфиденциальности. Выбирайте отдельные слова и переводите их через другие приложения.",
|
||||||
|
"customReaction": "Добавить реакцию",
|
||||||
"@importEmojis": {},
|
"@importEmojis": {},
|
||||||
"importFromZipFile": "Импортировать из ZIP-файла",
|
"importFromZipFile": "Импортировать из ZIP-файла",
|
||||||
"@importFromZipFile": {},
|
"@importFromZipFile": {},
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@ abstract class AppConfig {
|
||||||
host: 'servers.joinmatrix.org',
|
host: 'servers.joinmatrix.org',
|
||||||
path: 'servers.json',
|
path: 'servers.json',
|
||||||
);
|
);
|
||||||
|
static const Set<String> defaultReactions = {'👍', '❤️', '😂', '😮', '😢'};
|
||||||
|
|
||||||
static void loadFromJson(Map<String, dynamic> json) {
|
static void loadFromJson(Map<String, dynamic> json) {
|
||||||
if (json['chat_color'] != null) {
|
if (json['chat_color'] != null) {
|
||||||
|
|
|
||||||
|
|
@ -4095,6 +4095,12 @@ abstract class L10n {
|
||||||
/// **'{sender} accepted key verification'**
|
/// **'{sender} accepted key verification'**
|
||||||
String acceptedKeyVerification(String sender);
|
String acceptedKeyVerification(String sender);
|
||||||
|
|
||||||
|
/// No description provided for @customReaction.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Add reaction'**
|
||||||
|
String get customReaction;
|
||||||
|
|
||||||
/// No description provided for @canceledKeyVerification.
|
/// No description provided for @canceledKeyVerification.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|
|
||||||
|
|
@ -2254,6 +2254,9 @@ class L10nAr extends L10n {
|
||||||
return 'وافق $sender على التحقق من المفتاح';
|
return 'وافق $sender على التحقق من المفتاح';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return 'قام $sender بإلغاء التحقق من المفتاح';
|
return 'قام $sender بإلغاء التحقق من المفتاح';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nBe extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nBn extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nBo extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2292,6 +2292,9 @@ class L10nCa extends L10n {
|
||||||
return '$sender ha acceptat la verificació de claus';
|
return '$sender ha acceptat la verificació de claus';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender ha canceŀlat la verificació de claus';
|
return '$sender ha canceŀlat la verificació de claus';
|
||||||
|
|
|
||||||
|
|
@ -2273,6 +2273,9 @@ class L10nCs extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2287,6 +2287,9 @@ class L10nDe extends L10n {
|
||||||
return '$sender hat die Schlüsselverifikation akzeptiert';
|
return '$sender hat die Schlüsselverifikation akzeptiert';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender hat die Schlüsselverifikation abgebrochen';
|
return '$sender hat die Schlüsselverifikation abgebrochen';
|
||||||
|
|
|
||||||
|
|
@ -2270,6 +2270,9 @@ class L10nEl extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nEn extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2276,6 +2276,9 @@ class L10nEo extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2292,6 +2292,9 @@ class L10nEs extends L10n {
|
||||||
return '$sender aceptó la verificación de clave';
|
return '$sender aceptó la verificación de clave';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceló la verificación de clave';
|
return '$sender canceló la verificación de clave';
|
||||||
|
|
|
||||||
|
|
@ -2286,6 +2286,9 @@ class L10nEt extends L10n {
|
||||||
return '$sender nõustus krüptovõtmete verifitseerimisega';
|
return '$sender nõustus krüptovõtmete verifitseerimisega';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender katkestas krüptovõtmete verifitseerimise';
|
return '$sender katkestas krüptovõtmete verifitseerimise';
|
||||||
|
|
|
||||||
|
|
@ -2279,6 +2279,9 @@ class L10nEu extends L10n {
|
||||||
return '$sender(e)k gakoaren egiaztapena onartu du';
|
return '$sender(e)k gakoaren egiaztapena onartu du';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender(e)k gakoen egiaztapena ezeztatu du';
|
return '$sender(e)k gakoen egiaztapena ezeztatu du';
|
||||||
|
|
|
||||||
|
|
@ -2272,6 +2272,9 @@ class L10nFa extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2278,6 +2278,9 @@ class L10nFi extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2275,6 +2275,9 @@ class L10nFil extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2312,6 +2312,9 @@ class L10nFr extends L10n {
|
||||||
return '$sender a accepté la vérification de clé';
|
return '$sender a accepté la vérification de clé';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender a annulé la vérification de clé';
|
return '$sender a annulé la vérification de clé';
|
||||||
|
|
|
||||||
|
|
@ -2297,6 +2297,9 @@ class L10nGa extends L10n {
|
||||||
return '$sender glacadh le fíorú eochair';
|
return '$sender glacadh le fíorú eochair';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender cealaithe fíorú eochrach';
|
return '$sender cealaithe fíorú eochrach';
|
||||||
|
|
|
||||||
|
|
@ -2281,6 +2281,9 @@ class L10nGl extends L10n {
|
||||||
return '$sender aceptou a verificación da chave';
|
return '$sender aceptou a verificación da chave';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender desbotou a verificación da chave';
|
return '$sender desbotou a verificación da chave';
|
||||||
|
|
|
||||||
|
|
@ -2264,6 +2264,9 @@ class L10nHe extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nHi extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2277,6 +2277,9 @@ class L10nHr extends L10n {
|
||||||
return '$sender je prihvatio/la potvrđivanje ključa';
|
return '$sender je prihvatio/la potvrđivanje ključa';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender je prekinuo/la potvrđivanje ključa';
|
return '$sender je prekinuo/la potvrđivanje ključa';
|
||||||
|
|
|
||||||
|
|
@ -2279,6 +2279,9 @@ class L10nHu extends L10n {
|
||||||
return '$sender elfogadta a kulcs megerősítést';
|
return '$sender elfogadta a kulcs megerősítést';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender nem fogadta el a kulcs megerősítést';
|
return '$sender nem fogadta el a kulcs megerősítést';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nIa extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2285,6 +2285,9 @@ class L10nId extends L10n {
|
||||||
return '$sender menerima verifikasi kunci';
|
return '$sender menerima verifikasi kunci';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender membatalkan verifikasi kunci';
|
return '$sender membatalkan verifikasi kunci';
|
||||||
|
|
|
||||||
|
|
@ -2268,6 +2268,9 @@ class L10nIe extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2293,6 +2293,9 @@ class L10nIt extends L10n {
|
||||||
return '$sender ha accettato la verifica della chiave';
|
return '$sender ha accettato la verifica della chiave';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender ha annullato la verifica della chiave';
|
return '$sender ha annullato la verifica della chiave';
|
||||||
|
|
|
||||||
|
|
@ -2238,6 +2238,9 @@ class L10nJa extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2271,6 +2271,9 @@ class L10nKa extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2221,6 +2221,9 @@ class L10nKo extends L10n {
|
||||||
return '$sender가 키 검증을 수락함';
|
return '$sender가 키 검증을 수락함';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender가 키 검증을 취소함';
|
return '$sender가 키 검증을 취소함';
|
||||||
|
|
|
||||||
|
|
@ -2275,6 +2275,9 @@ class L10nLt extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2286,6 +2286,9 @@ class L10nLv extends L10n {
|
||||||
return '$sender apstiprināja atslēgas apliecināšanu';
|
return '$sender apstiprināja atslēgas apliecināšanu';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender atcēla atslēgas apliecināšanu';
|
return '$sender atcēla atslēgas apliecināšanu';
|
||||||
|
|
|
||||||
|
|
@ -2272,6 +2272,9 @@ class L10nNb extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2275,6 +2275,9 @@ class L10nNl extends L10n {
|
||||||
return '$sender accepteerde de sleutelverificatie';
|
return '$sender accepteerde de sleutelverificatie';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender annuleerde de sleutelverificatie';
|
return '$sender annuleerde de sleutelverificatie';
|
||||||
|
|
|
||||||
|
|
@ -2284,6 +2284,9 @@ class L10nPl extends L10n {
|
||||||
return '$sender zaakceptował/-a weryfikację kluczy';
|
return '$sender zaakceptował/-a weryfikację kluczy';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender anulował/-a weryfikację kluczy';
|
return '$sender anulował/-a weryfikację kluczy';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nPt extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2286,6 +2286,9 @@ class L10nRo extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2274,6 +2274,9 @@ class L10nRu extends L10n {
|
||||||
return '$sender принял(а) подтверждение ключей';
|
return '$sender принял(а) подтверждение ключей';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Добавить реакцию';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender отклонил(а) подтверждение ключей';
|
return '$sender отклонил(а) подтверждение ключей';
|
||||||
|
|
|
||||||
|
|
@ -2270,6 +2270,9 @@ class L10nSk extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2273,6 +2273,9 @@ class L10nSl extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2265,6 +2265,9 @@ class L10nSr extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2279,6 +2279,9 @@ class L10nSv extends L10n {
|
||||||
return '$sender accepterade nyckelverifieringen';
|
return '$sender accepterade nyckelverifieringen';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender avbröt nyckelverifieringen';
|
return '$sender avbröt nyckelverifieringen';
|
||||||
|
|
|
||||||
|
|
@ -2298,6 +2298,9 @@ class L10nTa extends L10n {
|
||||||
return '$sender ஏற்றுக்கொள்ளப்பட்ட விசை சரிபார்ப்பு';
|
return '$sender ஏற்றுக்கொள்ளப்பட்ட விசை சரிபார்ப்பு';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender ரத்து செய்யப்பட்ட விசை சரிபார்ப்பு';
|
return '$sender ரத்து செய்யப்பட்ட விசை சரிபார்ப்பு';
|
||||||
|
|
|
||||||
|
|
@ -2269,6 +2269,9 @@ class L10nTe extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2271,6 +2271,9 @@ class L10nTh extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2278,6 +2278,9 @@ class L10nTr extends L10n {
|
||||||
return '$sender anahtar doğrulamayı kabul etti';
|
return '$sender anahtar doğrulamayı kabul etti';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender anahtar doğrulamayı iptal etti';
|
return '$sender anahtar doğrulamayı iptal etti';
|
||||||
|
|
|
||||||
|
|
@ -2282,6 +2282,9 @@ class L10nUk extends L10n {
|
||||||
return '$sender погоджується звірити ключі';
|
return '$sender погоджується звірити ключі';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender скасовує звірення ключів';
|
return '$sender скасовує звірення ключів';
|
||||||
|
|
|
||||||
|
|
@ -2268,6 +2268,9 @@ class L10nVi extends L10n {
|
||||||
return '$sender accepted key verification';
|
return '$sender accepted key verification';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender canceled key verification';
|
return '$sender canceled key verification';
|
||||||
|
|
|
||||||
|
|
@ -2195,6 +2195,9 @@ class L10nZh extends L10n {
|
||||||
return '$sender 接受了密钥验证';
|
return '$sender 接受了密钥验证';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get customReaction => 'Add reaction';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String canceledKeyVerification(String sender) {
|
String canceledKeyVerification(String sender) {
|
||||||
return '$sender 取消了密钥验证';
|
return '$sender 取消了密钥验证';
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,8 @@ class ChatEventList extends StatelessWidget {
|
||||||
resetAnimateIn: () {
|
resetAnimateIn: () {
|
||||||
controller.animateInEventIndex = null;
|
controller.animateInEventIndex = null;
|
||||||
},
|
},
|
||||||
|
singleSelected: controller.selectedEvents.length == 1
|
||||||
|
&& controller.selectedEvents.first.eventId == event.eventId,
|
||||||
onSwipe: () => controller.replyAction(replyTo: event),
|
onSwipe: () => controller.replyAction(replyTo: event),
|
||||||
onInfoTab: controller.showEventInfo,
|
onInfoTab: controller.showEventInfo,
|
||||||
onMention: () => controller.sendController.text +=
|
onMention: () => controller.sendController.text +=
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,7 @@ class ChatView extends StatelessWidget {
|
||||||
: Column(
|
: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
ReactionsPicker(controller),
|
// ReactionsPicker(controller),
|
||||||
ReplyDisplay(controller),
|
ReplyDisplay(controller),
|
||||||
ChatInputRow(controller),
|
ChatInputRow(controller),
|
||||||
ChatEmojiPicker(controller),
|
ChatEmojiPicker(controller),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
import 'dart:ui' as ui;
|
import 'dart:ui' as ui;
|
||||||
|
|
||||||
|
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
||||||
|
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||||
import 'package:fluffychat/utils/poll_events.dart';
|
import 'package:fluffychat/utils/poll_events.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
@ -42,6 +44,7 @@ class Message extends StatelessWidget {
|
||||||
final ScrollController? scrollController;
|
final ScrollController? scrollController;
|
||||||
final List<Color> colors;
|
final List<Color> colors;
|
||||||
final bool gradient;
|
final bool gradient;
|
||||||
|
final bool singleSelected;
|
||||||
|
|
||||||
const Message(
|
const Message(
|
||||||
this.event, {
|
this.event, {
|
||||||
|
|
@ -50,6 +53,7 @@ class Message extends StatelessWidget {
|
||||||
this.displayReadMarker = false,
|
this.displayReadMarker = false,
|
||||||
this.longPressSelect = false,
|
this.longPressSelect = false,
|
||||||
this.gradient = false,
|
this.gradient = false,
|
||||||
|
this.singleSelected = false,
|
||||||
required this.onSelect,
|
required this.onSelect,
|
||||||
required this.onInfoTab,
|
required this.onInfoTab,
|
||||||
required this.scrollToEventId,
|
required this.scrollToEventId,
|
||||||
|
|
@ -162,6 +166,34 @@ class Message extends StatelessWidget {
|
||||||
final resetAnimateIn = this.resetAnimateIn;
|
final resetAnimateIn = this.resetAnimateIn;
|
||||||
var animateIn = this.animateIn;
|
var animateIn = this.animateIn;
|
||||||
|
|
||||||
|
final sentReactions = <String>{};
|
||||||
|
if (singleSelected) {
|
||||||
|
sentReactions.addAll(
|
||||||
|
event
|
||||||
|
.aggregatedEvents(
|
||||||
|
timeline,
|
||||||
|
RelationshipTypes.reaction,
|
||||||
|
)
|
||||||
|
.where(
|
||||||
|
(event) =>
|
||||||
|
event.senderId == event.room.client.userID &&
|
||||||
|
event.type == 'm.reaction',
|
||||||
|
)
|
||||||
|
.map(
|
||||||
|
(event) => event.content
|
||||||
|
.tryGetMap<String, Object?>('m.relates_to')
|
||||||
|
?.tryGet<String>('key'),
|
||||||
|
)
|
||||||
|
.whereType<String>(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
final showReceiptsRow =
|
||||||
|
event.hasAggregatedEvents(timeline, RelationshipTypes.reaction);
|
||||||
|
|
||||||
|
final showReactionPicker =
|
||||||
|
singleSelected && event.room.canSendDefaultMessages;
|
||||||
|
|
||||||
final row = StatefulBuilder(
|
final row = StatefulBuilder(
|
||||||
builder: (context, setState) {
|
builder: (context, setState) {
|
||||||
if (animateIn && resetAnimateIn != null) {
|
if (animateIn && resetAnimateIn != null) {
|
||||||
|
|
@ -330,7 +362,9 @@ class Message extends StatelessWidget {
|
||||||
clipBehavior: Clip.antiAlias,
|
clipBehavior: Clip.antiAlias,
|
||||||
child: BubbleBackground(
|
child: BubbleBackground(
|
||||||
colors: colors,
|
colors: colors,
|
||||||
ignore: noBubble || !ownMessage || !gradient,
|
ignore: noBubble ||
|
||||||
|
!ownMessage ||
|
||||||
|
!gradient,
|
||||||
scrollController: scrollController,
|
scrollController: scrollController,
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
|
|
@ -465,6 +499,194 @@ class Message extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Align(
|
||||||
|
alignment: ownMessage
|
||||||
|
? Alignment.bottomRight
|
||||||
|
: Alignment.bottomLeft,
|
||||||
|
child: AnimatedSize(
|
||||||
|
duration: FluffyThemes.animationDuration,
|
||||||
|
curve: FluffyThemes.animationCurve,
|
||||||
|
child: showReactionPicker
|
||||||
|
? Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
top: 4.0,
|
||||||
|
bottom: 4.0,
|
||||||
|
left: 8.0,
|
||||||
|
),
|
||||||
|
child: Material(
|
||||||
|
elevation: 4,
|
||||||
|
borderRadius: BorderRadius.circular(
|
||||||
|
AppConfig.borderRadius,
|
||||||
|
),
|
||||||
|
shadowColor: theme
|
||||||
|
.colorScheme.surface
|
||||||
|
.withAlpha(128),
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
...AppConfig.defaultReactions
|
||||||
|
.map(
|
||||||
|
(emoji) => IconButton(
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
icon: Center(
|
||||||
|
child: Opacity(
|
||||||
|
opacity: sentReactions
|
||||||
|
.contains(
|
||||||
|
emoji,
|
||||||
|
)
|
||||||
|
? 0.33
|
||||||
|
: 1,
|
||||||
|
child: Text(
|
||||||
|
emoji,
|
||||||
|
style:
|
||||||
|
const TextStyle(
|
||||||
|
fontSize: 20,
|
||||||
|
),
|
||||||
|
textAlign:
|
||||||
|
TextAlign.center,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onPressed:
|
||||||
|
sentReactions.contains(
|
||||||
|
emoji,
|
||||||
|
)
|
||||||
|
? null
|
||||||
|
: () {
|
||||||
|
onSelect(
|
||||||
|
event,
|
||||||
|
);
|
||||||
|
event.room
|
||||||
|
.sendReaction(
|
||||||
|
event.eventId,
|
||||||
|
emoji,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
IconButton(
|
||||||
|
icon: const Icon(
|
||||||
|
Icons.add_reaction_outlined,
|
||||||
|
),
|
||||||
|
tooltip: L10n.of(
|
||||||
|
context,
|
||||||
|
).customReaction,
|
||||||
|
onPressed: () async {
|
||||||
|
final emoji =
|
||||||
|
await showAdaptiveBottomSheet<
|
||||||
|
String>(
|
||||||
|
context: context,
|
||||||
|
builder: (context) =>
|
||||||
|
Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
title: Text(
|
||||||
|
L10n.of(context)
|
||||||
|
.customReaction,
|
||||||
|
),
|
||||||
|
leading: CloseButton(
|
||||||
|
onPressed: () =>
|
||||||
|
Navigator.of(
|
||||||
|
context,
|
||||||
|
).pop(
|
||||||
|
null,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: SizedBox(
|
||||||
|
height:
|
||||||
|
double.infinity,
|
||||||
|
child: EmojiPicker(
|
||||||
|
onEmojiSelected: (
|
||||||
|
_,
|
||||||
|
emoji,
|
||||||
|
) =>
|
||||||
|
Navigator.of(
|
||||||
|
context,
|
||||||
|
).pop(
|
||||||
|
emoji.emoji,
|
||||||
|
),
|
||||||
|
config: Config(
|
||||||
|
emojiViewConfig:
|
||||||
|
const EmojiViewConfig(
|
||||||
|
backgroundColor:
|
||||||
|
Colors
|
||||||
|
.transparent,
|
||||||
|
),
|
||||||
|
bottomActionBarConfig:
|
||||||
|
const BottomActionBarConfig(
|
||||||
|
enabled: false,
|
||||||
|
),
|
||||||
|
categoryViewConfig:
|
||||||
|
CategoryViewConfig(
|
||||||
|
initCategory:
|
||||||
|
Category
|
||||||
|
.SMILEYS,
|
||||||
|
backspaceColor: theme
|
||||||
|
.colorScheme
|
||||||
|
.primary,
|
||||||
|
iconColor: theme
|
||||||
|
.colorScheme
|
||||||
|
.primary
|
||||||
|
.withAlpha(
|
||||||
|
128,
|
||||||
|
),
|
||||||
|
iconColorSelected:
|
||||||
|
theme
|
||||||
|
.colorScheme
|
||||||
|
.primary,
|
||||||
|
indicatorColor: theme
|
||||||
|
.colorScheme
|
||||||
|
.primary,
|
||||||
|
backgroundColor:
|
||||||
|
theme
|
||||||
|
.colorScheme
|
||||||
|
.surface,
|
||||||
|
),
|
||||||
|
skinToneConfig:
|
||||||
|
SkinToneConfig(
|
||||||
|
dialogBackgroundColor:
|
||||||
|
Color.lerp(
|
||||||
|
theme
|
||||||
|
.colorScheme
|
||||||
|
.surface,
|
||||||
|
theme
|
||||||
|
.colorScheme
|
||||||
|
.primaryContainer,
|
||||||
|
0.75,
|
||||||
|
)!,
|
||||||
|
indicatorColor: theme
|
||||||
|
.colorScheme
|
||||||
|
.onSurface,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
if (emoji == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (sentReactions.contains(
|
||||||
|
emoji,
|
||||||
|
)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
onSelect(event);
|
||||||
|
|
||||||
|
await event.room
|
||||||
|
.sendReaction(
|
||||||
|
event.eventId,
|
||||||
|
emoji,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: const SizedBox.shrink(),
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
@ -476,8 +698,6 @@ class Message extends StatelessWidget {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
Widget container;
|
Widget container;
|
||||||
final showReceiptsRow =
|
|
||||||
event.hasAggregatedEvents(timeline, RelationshipTypes.reaction);
|
|
||||||
if (showReceiptsRow || displayTime || selected || displayReadMarker) {
|
if (showReceiptsRow || displayTime || selected || displayReadMarker) {
|
||||||
container = Column(
|
container = Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
|
|
||||||
|
|
@ -1170,10 +1170,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: matrix
|
name: matrix
|
||||||
sha256: "127cc89a030e1555fc02c3434f443feca942320af6248122b36c56448e59fb19"
|
sha256: "996e3b1560959afaa3118ec2b5a06734ad29acf64f9c3c09a605c3ddef22039f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.1"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ dependencies:
|
||||||
latlong2: ^0.9.1
|
latlong2: ^0.9.1
|
||||||
linkify: ^5.0.0
|
linkify: ^5.0.0
|
||||||
material: ^1.0.0+2
|
material: ^1.0.0+2
|
||||||
matrix: ^1.0.0
|
matrix: ^1.0.1
|
||||||
mime: ^1.0.6
|
mime: ^1.0.6
|
||||||
native_imaging: ^0.2.0
|
native_imaging: ^0.2.0
|
||||||
opus_caf_converter_dart: ^1.0.1
|
opus_caf_converter_dart: ^1.0.1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue