Red dot unread indicator in bottom tabs, keep numeric unreads only for the lists; fixed unread indicator wasn't on all screens

chore/offband-rebrand
Serge Tarkovski 3 months ago
parent 0c1e163b88
commit d3c7d8e43a

@ -429,6 +429,8 @@ class _ContactsScreenState extends State<ContactsScreen>
selectedIndex: 0, selectedIndex: 0,
onDestinationSelected: (index) => onDestinationSelected: (index) =>
_handleQuickSwitch(index, context), _handleQuickSwitch(index, context),
contactsUnreadCount: connector.getTotalContactsUnreadCount(),
channelsUnreadCount: connector.getTotalChannelsUnreadCount(),
), ),
), ),
), ),

@ -431,6 +431,12 @@ class _LineOfSightMapScreenState extends State<LineOfSightMapScreen> {
child: QuickSwitchBar( child: QuickSwitchBar(
selectedIndex: 2, selectedIndex: 2,
onDestinationSelected: (index) => _handleQuickSwitch(index, context), onDestinationSelected: (index) => _handleQuickSwitch(index, context),
contactsUnreadCount: context
.watch<MeshCoreConnector>()
.getTotalContactsUnreadCount(),
channelsUnreadCount: context
.watch<MeshCoreConnector>()
.getTotalChannelsUnreadCount(),
), ),
), ),
); );

@ -2,7 +2,6 @@ import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../l10n/l10n.dart'; import '../l10n/l10n.dart';
import 'unread_badge.dart';
class QuickSwitchBar extends StatelessWidget { class QuickSwitchBar extends StatelessWidget {
final int selectedIndex; final int selectedIndex;
@ -109,7 +108,18 @@ class QuickSwitchBar extends StatelessWidget {
clipBehavior: Clip.none, clipBehavior: Clip.none,
children: [ children: [
icon, icon,
Positioned(right: -6, top: -4, child: UnreadBadge(count: count)), Positioned(
right: -2,
top: -2,
child: Container(
width: 8,
height: 8,
decoration: const BoxDecoration(
color: Colors.redAccent,
shape: BoxShape.circle,
),
),
),
], ],
); );
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.