мультиаккаунгтинг(багованный, но он есть), избранное коректно отображается, убрана кнопка ответить в канале, добавлена поддержка видеокружков и голосовых сообщений

This commit is contained in:
needle10
2025-11-18 23:13:55 +03:00
parent e5b97208ad
commit 2d11f1cba2
14 changed files with 1803 additions and 218 deletions

View File

@@ -49,6 +49,8 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
.where((contact) => contact != null)
.cast<Contact>()
.toList();
final totalParticipantsCount =
widget.chat.participantsCount ?? participantIds.length;
return Container(
decoration: BoxDecoration(
@@ -57,7 +59,6 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
),
child: Column(
children: [
Container(
margin: const EdgeInsets.only(top: 8),
width: 40,
@@ -68,7 +69,6 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
),
),
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
@@ -93,7 +93,7 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
),
),
Text(
'${participants.length} участников',
'$totalParticipantsCount участников',
style: TextStyle(
fontSize: 14,
color: colors.onSurfaceVariant,
@@ -133,7 +133,6 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
),
),
Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
child: SizedBox(
@@ -151,7 +150,6 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
),
),
Expanded(
child: ListView.builder(
controller: scrollController,
@@ -349,10 +347,8 @@ class _GroupManagementPanelState extends State<GroupManagementPanel> {
int userId, {
required bool cleanMessages,
}) async {
print('Удаляем участника $userId, очистка сообщений: $cleanMessages');
_apiService.sendMessage(widget.chat.id, '', replyToMessageId: null);
}
}