add "discuss" button
This commit is contained in:
parent
251ca9893d
commit
9d8f1e3656
|
|
@ -16,6 +16,7 @@
|
||||||
"vote": "Vote",
|
"vote": "Vote",
|
||||||
"changeVote": "Re-vote",
|
"changeVote": "Re-vote",
|
||||||
"choicesSelected": "{selected} of {max} selected",
|
"choicesSelected": "{selected} of {max} selected",
|
||||||
|
"discuss": "Discuss",
|
||||||
"@choicesSelected": {
|
"@choicesSelected": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
"vote": "Голосовать",
|
"vote": "Голосовать",
|
||||||
"changeVote": "Изменить ответ",
|
"changeVote": "Изменить ответ",
|
||||||
"choicesSelected": "Выбрано {selected} из {max}",
|
"choicesSelected": "Выбрано {selected} из {max}",
|
||||||
|
"discuss": "Обсудить",
|
||||||
"@choicesSelected": {
|
"@choicesSelected": {
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|
|
||||||
|
|
@ -283,6 +283,12 @@ abstract class L10n {
|
||||||
/// **'{selected} of {max} selected'**
|
/// **'{selected} of {max} selected'**
|
||||||
String choicesSelected(int selected, int max);
|
String choicesSelected(int selected, int max);
|
||||||
|
|
||||||
|
/// No description provided for @discuss.
|
||||||
|
///
|
||||||
|
/// In en, this message translates to:
|
||||||
|
/// **'Discuss'**
|
||||||
|
String get discuss;
|
||||||
|
|
||||||
/// No description provided for @pollType.
|
/// No description provided for @pollType.
|
||||||
///
|
///
|
||||||
/// In en, this message translates to:
|
/// In en, this message translates to:
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nAr extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nBe extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nBn extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nBo extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nCa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nCs extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nDe extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEl extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEn extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEo extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEs extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEt extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nEu extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nFa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nFi extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nFil extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nFr extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nGa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nGl extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nHe extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nHi extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nHr extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nHu extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nIa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nId extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nIe extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nIt extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nJa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nKa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nKo extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nLt extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nLv extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nNb extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nNl extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nPl extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nPt extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nRo extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nRu extends L10n {
|
||||||
return 'Выбрано $selected из $max';
|
return 'Выбрано $selected из $max';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Обсудить';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Тип опроса';
|
String get pollType => 'Тип опроса';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nSk extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nSl extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nSr extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nSv extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nTa extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nTe extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nTh extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nTr extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nUk extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nVi extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ class L10nZh extends L10n {
|
||||||
return '$selected of $max selected';
|
return '$selected of $max selected';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get discuss => 'Discuss';
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String get pollType => 'Poll type';
|
String get pollType => 'Poll type';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -948,6 +948,22 @@ class ChatController extends State<ChatPageWithRoom>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void discussAction() async {
|
||||||
|
final event = selectedEvents.first;
|
||||||
|
if (!room.threads.containsKey(event.eventId)) {
|
||||||
|
room.threads[event.eventId] = Thread(
|
||||||
|
room: room,
|
||||||
|
rootEvent: event,
|
||||||
|
client: room.client,
|
||||||
|
currentUserParticipated: false,
|
||||||
|
count: 0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.go('/rooms/$roomId/${event.eventId}');
|
||||||
|
selectedEvents.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void endPollAction() async {
|
void endPollAction() async {
|
||||||
final event = selectedEvents.first;
|
final event = selectedEvents.first;
|
||||||
final client = currentRoomBundle.firstWhere(
|
final client = currentRoomBundle.firstWhere(
|
||||||
|
|
|
||||||
|
|
@ -31,22 +31,40 @@ class ChatAppBarTitle extends StatelessWidget {
|
||||||
hoverColor: Colors.transparent,
|
hoverColor: Colors.transparent,
|
||||||
splashColor: Colors.transparent,
|
splashColor: Colors.transparent,
|
||||||
highlightColor: Colors.transparent,
|
highlightColor: Colors.transparent,
|
||||||
onTap: controller.isArchived
|
onTap: () {
|
||||||
? null
|
if (controller.thread != null) {
|
||||||
: () => FluffyThemes.isThreeColumnMode(context)
|
if (context.canPop()) {
|
||||||
? controller.toggleDisplayChatDetailsColumn()
|
context.pop();
|
||||||
: context.go('/rooms/${room.id}/details'),
|
} else {
|
||||||
|
context.go('/rooms/${room.id}');
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!controller.isArchived) {
|
||||||
|
if (FluffyThemes.isThreeColumnMode(context)) {
|
||||||
|
controller.toggleDisplayChatDetailsColumn();
|
||||||
|
} else {
|
||||||
|
context.go('/rooms/${room.id}/details');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Hero(
|
Hero(
|
||||||
tag: 'content_banner',
|
tag: 'content_banner',
|
||||||
child: Avatar(
|
child: controller.thread == null
|
||||||
mxContent: room.avatar,
|
? Avatar(
|
||||||
name: room.getLocalizedDisplayname(
|
mxContent: room.avatar,
|
||||||
MatrixLocals(L10n.of(context)),
|
name: room.getLocalizedDisplayname(
|
||||||
),
|
MatrixLocals(L10n.of(context)),
|
||||||
size: 32,
|
),
|
||||||
),
|
size: 32,
|
||||||
|
)
|
||||||
|
: Icon(
|
||||||
|
Icons.chat_bubble_outline,
|
||||||
|
color: Colors.grey[200],
|
||||||
|
size: 20,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 12),
|
const SizedBox(width: 12),
|
||||||
Expanded(
|
Expanded(
|
||||||
|
|
@ -54,7 +72,10 @@ class ChatAppBarTitle extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
room.getLocalizedDisplayname(MatrixLocals(L10n.of(context))),
|
controller.thread == null
|
||||||
|
? room.getLocalizedDisplayname(
|
||||||
|
MatrixLocals(L10n.of(context)))
|
||||||
|
: '${controller.thread!.rootEvent.senderFromMemoryOrFallback.displayName ?? controller.thread!.rootEvent.senderId}: ${controller.thread!.rootEvent.text}',
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
|
|
|
||||||
|
|
@ -48,12 +48,20 @@ class ChatView extends StatelessWidget {
|
||||||
tooltip: L10n.of(context).copy,
|
tooltip: L10n.of(context).copy,
|
||||||
onPressed: controller.copyEventsAction,
|
onPressed: controller.copyEventsAction,
|
||||||
),
|
),
|
||||||
if (controller.selectedEvents.length == 1 && controller.selectedEvents.single.content['xyz.extera.translated'] == null)
|
if (controller.selectedEvents.length == 1)
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.translate_outlined),
|
onPressed: controller.discussAction,
|
||||||
tooltip: L10n.of(context).translateMessage,
|
icon: const Icon(Icons.chat_bubble_outline),
|
||||||
onPressed: controller.translateEventAction,
|
tooltip: L10n.of(context).discuss,
|
||||||
),
|
),
|
||||||
|
if (controller.selectedEvents.length == 1 &&
|
||||||
|
controller.selectedEvents.single.content['xyz.extera.translated'] ==
|
||||||
|
null)
|
||||||
|
IconButton(
|
||||||
|
icon: const Icon(Icons.translate_outlined),
|
||||||
|
tooltip: L10n.of(context).translateMessage,
|
||||||
|
onPressed: controller.translateEventAction,
|
||||||
|
),
|
||||||
if (controller.canSaveSelectedEvent)
|
if (controller.canSaveSelectedEvent)
|
||||||
// Use builder context to correctly position the share dialog on iPad
|
// Use builder context to correctly position the share dialog on iPad
|
||||||
Builder(
|
Builder(
|
||||||
|
|
@ -118,8 +126,10 @@ class ChatView extends StatelessWidget {
|
||||||
Text(L10n.of(context).recoverMessage),
|
Text(L10n.of(context).recoverMessage),
|
||||||
]),
|
]),
|
||||||
),
|
),
|
||||||
if (controller.selectedEvents.single.type == 'org.matrix.msc3381.poll.start' && controller.selectedEvents.single.senderId == Matrix.of(context).client.userID)
|
if (controller.selectedEvents.single.type ==
|
||||||
|
'org.matrix.msc3381.poll.start' &&
|
||||||
|
controller.selectedEvents.single.senderId ==
|
||||||
|
Matrix.of(context).client.userID)
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
value: _EventContextAction.endPoll,
|
value: _EventContextAction.endPoll,
|
||||||
child: Row(
|
child: Row(
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ import 'dart:ui' as ui;
|
||||||
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
||||||
import 'package:extera_next/utils/adaptive_bottom_sheet.dart';
|
import 'package:extera_next/utils/adaptive_bottom_sheet.dart';
|
||||||
import 'package:extera_next/utils/poll_events.dart';
|
import 'package:extera_next/utils/poll_events.dart';
|
||||||
import 'package:extera_next/widgets/mxc_image.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
|
@ -733,7 +732,8 @@ class Message extends StatelessWidget {
|
||||||
const SizedBox(width: 6),
|
const SizedBox(width: 6),
|
||||||
thread!.lastEvent != null
|
thread!.lastEvent != null
|
||||||
? Text(
|
? Text(
|
||||||
thread!.lastEvent!.text)
|
thread!.lastEvent!.text,
|
||||||
|
)
|
||||||
: const Text('Thread'),
|
: const Text('Thread'),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ 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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue