Fixed bug in chat-search and refactored talkNavigator
This commit is contained in:
parent
258206a7a5
commit
02dc1a1ecd
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_split_view/flutter_split_view.dart';
|
|
||||||
import 'package:jiffy/jiffy.dart';
|
import 'package:jiffy/jiffy.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
@ -59,7 +58,7 @@ class _ChatTileState extends State<ChatTile> {
|
|||||||
return Consumer<ChatProps>(builder: (context, chatData, child) {
|
return Consumer<ChatProps>(builder: (context, chatData, child) {
|
||||||
return ListTile(
|
return ListTile(
|
||||||
style: ListTileStyle.list,
|
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)
|
? Theme.of(context).primaryColor.withAlpha(100)
|
||||||
: null,
|
: null,
|
||||||
leading: Stack(
|
leading: Stack(
|
||||||
|
@ -4,8 +4,11 @@ import 'package:flutter_split_view/flutter_split_view.dart';
|
|||||||
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
|
import 'package:persistent_bottom_nav_bar/persistent_tab_view.dart';
|
||||||
|
|
||||||
class TalkNavigator {
|
class TalkNavigator {
|
||||||
|
static bool hasSplitViewState(BuildContext context) => context.findAncestorStateOfType<SplitViewState>() != null;
|
||||||
|
static bool isSecondaryVisible(BuildContext context) => hasSplitViewState(context) && SplitView.of(context).isSecondaryVisible;
|
||||||
|
|
||||||
static void pushSplitView(BuildContext context, Widget view, {bool overrideToSingleSubScreen = false}) {
|
static void pushSplitView(BuildContext context, Widget view, {bool overrideToSingleSubScreen = false}) {
|
||||||
if(context.findAncestorStateOfType<SplitViewState>() != null && SplitView.of(context).isSecondaryVisible) {
|
if(isSecondaryVisible(context)) {
|
||||||
SplitViewState splitView = SplitView.of(context);
|
SplitViewState splitView = SplitView.of(context);
|
||||||
overrideToSingleSubScreen ? splitView.setSecondary(view) : splitView.push(view);
|
overrideToSingleSubScreen ? splitView.setSecondary(view) : splitView.push(view);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user