diff --git a/lib/view/pages/talk/components/chatTile.dart b/lib/view/pages/talk/components/chatTile.dart index ca60972..020026a 100644 --- a/lib/view/pages/talk/components/chatTile.dart +++ b/lib/view/pages/talk/components/chatTile.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_split_view/flutter_split_view.dart'; import 'package:jiffy/jiffy.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -59,7 +58,7 @@ class _ChatTileState extends State { return Consumer(builder: (context, chatData, child) { return ListTile( style: ListTileStyle.list, - tileColor: chatData.currentToken() == widget.data.token && SplitView.of(context).pageCount > 1 + tileColor: chatData.currentToken() == widget.data.token && TalkNavigator.isSecondaryVisible(context) ? Theme.of(context).primaryColor.withAlpha(100) : null, leading: Stack( diff --git a/lib/view/pages/talk/talkNavigator.dart b/lib/view/pages/talk/talkNavigator.dart index 96b09de..433ace3 100644 --- a/lib/view/pages/talk/talkNavigator.dart +++ b/lib/view/pages/talk/talkNavigator.dart @@ -4,8 +4,11 @@ import 'package:flutter_split_view/flutter_split_view.dart'; import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart'; class TalkNavigator { + static bool hasSplitViewState(BuildContext context) => context.findAncestorStateOfType() != null; + static bool isSecondaryVisible(BuildContext context) => hasSplitViewState(context) && SplitView.of(context).isSecondaryVisible; + static void pushSplitView(BuildContext context, Widget view, {bool overrideToSingleSubScreen = false}) { - if(context.findAncestorStateOfType() != null && SplitView.of(context).isSecondaryVisible) { + if(isSecondaryVisible(context)) { SplitViewState splitView = SplitView.of(context); overrideToSingleSubScreen ? splitView.setSecondary(view) : splitView.push(view); } else {