Files
Client/lib/view/pages/talk/talk_navigator.dart
T
2026-05-08 20:12:40 +02:00

26 lines
865 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_split_view/flutter_split_view.dart';
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
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,
}) {
if (isSecondaryVisible(context)) {
var splitView = SplitView.of(context);
overrideToSingleSubScreen
? splitView.setSecondary(view)
: splitView.push(view);
} else {
pushScreen(context, screen: view, withNavBar: false);
}
}
}