fluffychat merge
This commit is contained in:
commit
4d68ac839a
12 changed files with 11469 additions and 11305 deletions
2
.github/workflows/versions.env
vendored
2
.github/workflows/versions.env
vendored
|
|
@ -1,2 +1,2 @@
|
|||
FLUTTER_VERSION=3.35.5
|
||||
FLUTTER_VERSION=3.35.7
|
||||
JAVA_VERSION=17
|
||||
|
|
|
|||
|
|
@ -1361,7 +1361,7 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"pin": "Klammerda",
|
||||
"pin": "Tõsta esile",
|
||||
"@pin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -1874,7 +1874,7 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"unpin": "Eemalda klammerdus",
|
||||
"unpin": "Eemalda esiletõstmine",
|
||||
"@unpin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
|
|
@ -2185,9 +2185,9 @@
|
|||
"@unsupportedAndroidVersion": {},
|
||||
"voiceCall": "Häälkõne",
|
||||
"@voiceCall": {},
|
||||
"confirmEventUnpin": "Kas sa oled kindel, et tahad klammerdatud sündmuse eemaldada?",
|
||||
"confirmEventUnpin": "Kas sa oled kindel, et tahad esiletõstetud sündmuse jäädavalt eemaldada?",
|
||||
"@confirmEventUnpin": {},
|
||||
"pinMessage": "Klammerda sõnum jututuppa",
|
||||
"pinMessage": "Tõsta sõnum jututoas esile",
|
||||
"@pinMessage": {},
|
||||
"videoCallsBetaWarning": "Palun arvesta, et videokõned on veel beetajärgus. Nad ei pruugi veel toimida kõikidel platvormidel korrektselt.",
|
||||
"@videoCallsBetaWarning": {},
|
||||
|
|
|
|||
22541
lib/l10n/intl_fr.arb
22541
lib/l10n/intl_fr.arb
File diff suppressed because it is too large
Load diff
|
|
@ -3438,6 +3438,61 @@
|
|||
},
|
||||
"donate": "Tabhair Síntiús",
|
||||
"@donate": {},
|
||||
"startedAPoll": "Chuir {username} tús le pobalbhreith.",
|
||||
"@startedAPoll": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"poll": "Polaitíocht",
|
||||
"@poll": {},
|
||||
"startPoll": "Tosaigh pobalbhreith",
|
||||
"@startPoll": {},
|
||||
"endPoll": "Deireadh leis an pobalbhreith",
|
||||
"@endPoll": {},
|
||||
"answersVisible": "Freagraí le feiceáil",
|
||||
"@answersVisible": {},
|
||||
"answersHidden": "Freagraí i bhfolach",
|
||||
"@answersHidden": {},
|
||||
"pollQuestion": "Ceist pobalbhreithe",
|
||||
"@pollQuestion": {},
|
||||
"answerOption": "Rogha freagartha",
|
||||
"@answerOption": {},
|
||||
"addAnswerOption": "Cuir rogha freagra leis",
|
||||
"@addAnswerOption": {},
|
||||
"allowMultipleAnswers": "Ceadaigh freagraí iolracha",
|
||||
"@allowMultipleAnswers": {},
|
||||
"pollHasBeenEnded": "Tá deireadh leis an pobalbhreith",
|
||||
"@pollHasBeenEnded": {},
|
||||
"countVotes": "{count, plural, =1{Vóta amháin} other{{count} vótaí}}",
|
||||
"@countVotes": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"answersWillBeVisibleWhenPollHasEnded": "Beidh freagraí le feiceáil nuair a bheidh an pobalbhreith thart",
|
||||
"@answersWillBeVisibleWhenPollHasEnded": {},
|
||||
"replyInThread": "Freagra sa snáithe",
|
||||
"@replyInThread": {},
|
||||
"countReplies": "{count, plural, =1{Freagra amháin} other{{count} freagraí}}",
|
||||
"@countReplies": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"thread": "Snáithe",
|
||||
"@thread": {},
|
||||
"backToMainChat": "Ar ais chuig an bpríomhchomhrá",
|
||||
"@backToMainChat": {},
|
||||
"writeAMessageLangCodes": "Clóscríobh i {l1} nó {l2}...",
|
||||
"requests": "Iarratais",
|
||||
"holdForInfo": "Bain triail as agus coinnigh síos le haghaidh eolas faoin bhfocal.",
|
||||
|
|
|
|||
|
|
@ -3415,6 +3415,79 @@
|
|||
},
|
||||
"donate": "Doar",
|
||||
"@donate": {},
|
||||
"spaceMemberOf": "Participa no espazo {spaces}",
|
||||
"@spaceMemberOf": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"spaces": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"spaceMemberOfCanKnock": "Os membros de {spaces} poden petar á porta",
|
||||
"@spaceMemberOfCanKnock": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"spaces": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"startedAPoll": "{username} publicou unha enquisa.",
|
||||
"@startedAPoll": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"poll": "Enquisa",
|
||||
"@poll": {},
|
||||
"startPoll": "Publicar enquisa",
|
||||
"@startPoll": {},
|
||||
"endPoll": "Finalizar enquisa",
|
||||
"@endPoll": {},
|
||||
"answersVisible": "Resultados visibles",
|
||||
"@answersVisible": {},
|
||||
"answersHidden": "Non se ven os resultados",
|
||||
"@answersHidden": {},
|
||||
"pollQuestion": "Pregunta da enquisa",
|
||||
"@pollQuestion": {},
|
||||
"answerOption": "Opción de resposta",
|
||||
"@answerOption": {},
|
||||
"addAnswerOption": "Engadir opción",
|
||||
"@addAnswerOption": {},
|
||||
"allowMultipleAnswers": "Permitir varias respostas",
|
||||
"@allowMultipleAnswers": {},
|
||||
"pollHasBeenEnded": "Rematou a enquisa",
|
||||
"@pollHasBeenEnded": {},
|
||||
"countVotes": "{count, plural, =1{Un voto} other{{count} votos}}",
|
||||
"@countVotes": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"answersWillBeVisibleWhenPollHasEnded": "As respostas son visibles ao finalizar a enquisa",
|
||||
"@answersWillBeVisibleWhenPollHasEnded": {},
|
||||
"replyInThread": "Responder ao fío",
|
||||
"@replyInThread": {},
|
||||
"countReplies": "{count, plural, =1{Unha resposta} other{{count} respostas}}",
|
||||
"@countReplies": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"thread": "Fío",
|
||||
"@thread": {},
|
||||
"backToMainChat": "Volver á conversa principal",
|
||||
"@backToMainChat": {},
|
||||
"writeAMessageLangCodes": "Escribe en {l1} ou {l2}...",
|
||||
"requests": "Solicitudes",
|
||||
"holdForInfo": "Fai clic e mantén para obter información sobre a palabra.",
|
||||
|
|
|
|||
|
|
@ -3416,6 +3416,61 @@
|
|||
},
|
||||
"donate": "Ziedot",
|
||||
"@donate": {},
|
||||
"startedAPoll": "{username} uzsāka aptauju.",
|
||||
"@startedAPoll": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"poll": "Aptauja",
|
||||
"@poll": {},
|
||||
"startPoll": "Sākt aptauju",
|
||||
"@startPoll": {},
|
||||
"endPoll": "Noslēgt aptauju",
|
||||
"@endPoll": {},
|
||||
"answersVisible": "Atbildes ir redzamas",
|
||||
"@answersVisible": {},
|
||||
"answersHidden": "Atbildes ir paslēptas",
|
||||
"@answersHidden": {},
|
||||
"pollQuestion": "Aptaujas jautājums",
|
||||
"@pollQuestion": {},
|
||||
"answerOption": "Atbildes iespēja",
|
||||
"@answerOption": {},
|
||||
"addAnswerOption": "Pievienot atbildes iespēju",
|
||||
"@addAnswerOption": {},
|
||||
"allowMultipleAnswers": "Atļaut vairākas atbildes",
|
||||
"@allowMultipleAnswers": {},
|
||||
"pollHasBeenEnded": "Aptauja ir noslēgusies",
|
||||
"@pollHasBeenEnded": {},
|
||||
"countVotes": "{count, plural, =0{{count} balsu} =1{{count} balss} other{{count} balsis}}",
|
||||
"@countVotes": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"answersWillBeVisibleWhenPollHasEnded": "Atbildes būs redzams, kad aptauja noslēgsies",
|
||||
"@answersWillBeVisibleWhenPollHasEnded": {},
|
||||
"replyInThread": "Atbildēt pavedienā",
|
||||
"@replyInThread": {},
|
||||
"countReplies": "{count, plural, =0{{count} atbilžu} =1{{count} atbilde} other{{count} atbildes}}",
|
||||
"@countReplies": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"thread": "Pavediens",
|
||||
"@thread": {},
|
||||
"backToMainChat": "Atgriezties galvenajā tērzēšanā",
|
||||
"@backToMainChat": {},
|
||||
"ignore": "Bloķēt",
|
||||
"ignoredUsers": "Bloķētie lietotāji",
|
||||
"writeAMessageLangCodes": "Rakstiet {l1} vai {l2}...",
|
||||
|
|
|
|||
|
|
@ -1513,7 +1513,8 @@ class ChatController extends State<ChatPageWithRoom>
|
|||
if (isArchived ||
|
||||
!room.canChangeStateEvent(EventTypes.RoomPinnedEvents) ||
|
||||
selectedEvents.length != 1 ||
|
||||
!selectedEvents.single.status.isSent) {
|
||||
!selectedEvents.single.status.isSent ||
|
||||
activeThreadId != null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -260,10 +260,11 @@ class ChatView extends StatelessWidget {
|
|||
if (activeThreadId != null) {
|
||||
appbarBottomHeight += ChatAppBarListTile.fixedHeight;
|
||||
}
|
||||
if (controller.room.pinnedEventIds.isNotEmpty) {
|
||||
if (controller.room.pinnedEventIds.isNotEmpty &&
|
||||
activeThreadId == null) {
|
||||
appbarBottomHeight += ChatAppBarListTile.fixedHeight;
|
||||
}
|
||||
if (scrollUpBannerEventId != null) {
|
||||
if (scrollUpBannerEventId != null && activeThreadId == null) {
|
||||
appbarBottomHeight += ChatAppBarListTile.fixedHeight;
|
||||
}
|
||||
return Scaffold(
|
||||
|
|
@ -339,6 +340,7 @@ class ChatView extends StatelessWidget {
|
|||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
PinnedEvents(controller),
|
||||
if (activeThreadId != null)
|
||||
SizedBox(
|
||||
height: ChatAppBarListTile.fixedHeight,
|
||||
|
|
@ -348,11 +350,18 @@ class ChatView extends StatelessWidget {
|
|||
controller.scrollToEventId(activeThreadId),
|
||||
icon: const Icon(Icons.message),
|
||||
label: Text(L10n.of(context).replyInThread),
|
||||
style: TextButton.styleFrom(
|
||||
foregroundColor:
|
||||
theme.colorScheme.onSecondaryContainer,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
PinnedEvents(controller),
|
||||
if (scrollUpBannerEventId != null)
|
||||
if (scrollUpBannerEventId != null &&
|
||||
activeThreadId == null)
|
||||
ChatAppBarListTile(
|
||||
leading: IconButton(
|
||||
color: theme.colorScheme.onSurfaceVariant,
|
||||
|
|
|
|||
|
|
@ -1091,15 +1091,24 @@ class Message extends StatelessWidget {
|
|||
child: threadChildren.isEmpty
|
||||
? const SizedBox.shrink()
|
||||
: Padding(
|
||||
padding: const EdgeInsets.only(top: 1.0, bottom: 4.0),
|
||||
padding: const EdgeInsets.only(
|
||||
top: 2.0,
|
||||
bottom: 8.0,
|
||||
left: Avatar.defaultSize + 8,
|
||||
),
|
||||
child: ConstrainedBox(
|
||||
constraints: const BoxConstraints(
|
||||
maxWidth: 400,
|
||||
maxWidth: FluffyThemes.columnWidth * 1.5,
|
||||
),
|
||||
child: TextButton.icon(
|
||||
style: TextButton.styleFrom(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
foregroundColor:
|
||||
theme.colorScheme.onSecondaryContainer,
|
||||
backgroundColor:
|
||||
theme.colorScheme.surfaceContainerHighest,
|
||||
theme.colorScheme.secondaryContainer,
|
||||
),
|
||||
onPressed: () => enterThread(event.eventId),
|
||||
icon: const Icon(Icons.message),
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class PinnedEvents extends StatelessWidget {
|
|||
|
||||
final pinnedEventIds = controller.room.pinnedEventIds;
|
||||
|
||||
if (pinnedEventIds.isEmpty) {
|
||||
if (pinnedEventIds.isEmpty || controller.activeThreadId != null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ Future<T?> showAdaptiveBottomSheet<T>({
|
|||
|
||||
return showModalBottomSheet<T>(
|
||||
context: context,
|
||||
useSafeArea: true,
|
||||
builder: (context) => Padding(
|
||||
padding: EdgeInsets.zero,
|
||||
child: ClipRRect(
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
name: fluffychat
|
||||
title: FluffyChat
|
||||
base: core24
|
||||
version: 2.1.1
|
||||
version: 2.2.0
|
||||
license: AGPL-3.0
|
||||
summary: The cutest messenger in the Matrix network
|
||||
description: |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue