mirror of
https://github.com/foss42/apidash.git
synced 2025-12-01 18:28:25 +08:00
refactor: hide DashbotTab button in mobile devices
This commit is contained in:
@@ -4,8 +4,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import '../../dashbot_dashboard.dart';
|
||||
import '../providers/dashbot_window_notifier.dart';
|
||||
|
||||
/// Optionally pass provider overrides (e.g., dashbotRequestContextProvider)
|
||||
/// so the host app can feed live context into Dashbot.
|
||||
void showDashbotWindow(BuildContext context, WidgetRef ref) {
|
||||
final isDashbotActive = ref.read(dashbotWindowNotifierProvider).isActive;
|
||||
final isDashbotPopped = ref.read(dashbotWindowNotifierProvider).isPopped;
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'core/providers/dashbot_window_notifier.dart';
|
||||
import 'core/utils/show_dashbot.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
|
||||
class DashbotTab extends ConsumerStatefulWidget {
|
||||
const DashbotTab({super.key});
|
||||
@@ -78,36 +79,39 @@ class _DashbotTabState extends ConsumerState<DashbotTab>
|
||||
},
|
||||
),
|
||||
Spacer(),
|
||||
ADIconButton(
|
||||
icon: Icons.close_fullscreen,
|
||||
onPressed: () {
|
||||
ref
|
||||
.read(dashbotWindowNotifierProvider.notifier)
|
||||
.togglePopped();
|
||||
|
||||
final newState =
|
||||
ref.read(dashbotWindowNotifierProvider);
|
||||
if (newState.isPopped) {
|
||||
showDashbotWindow(context, ref);
|
||||
}
|
||||
},
|
||||
),
|
||||
ADIconButton(
|
||||
onPressed: () {
|
||||
final isActive =
|
||||
ref.read(dashbotWindowNotifierProvider).isActive;
|
||||
|
||||
ref
|
||||
.read(dashbotWindowNotifierProvider.notifier)
|
||||
.togglePopped();
|
||||
if (isActive) {
|
||||
if (!kIsMobile) ...[
|
||||
ADIconButton(
|
||||
icon: Icons.close_fullscreen,
|
||||
onPressed: () {
|
||||
ref
|
||||
.read(dashbotWindowNotifierProvider.notifier)
|
||||
.toggleActive();
|
||||
}
|
||||
},
|
||||
icon: Icons.close,
|
||||
),
|
||||
.togglePopped();
|
||||
|
||||
final newState =
|
||||
ref.read(dashbotWindowNotifierProvider);
|
||||
if (newState.isPopped) {
|
||||
showDashbotWindow(context, ref);
|
||||
}
|
||||
},
|
||||
),
|
||||
ADIconButton(
|
||||
onPressed: () {
|
||||
final isActive = ref
|
||||
.read(dashbotWindowNotifierProvider)
|
||||
.isActive;
|
||||
|
||||
ref
|
||||
.read(dashbotWindowNotifierProvider.notifier)
|
||||
.togglePopped();
|
||||
if (isActive) {
|
||||
ref
|
||||
.read(dashbotWindowNotifierProvider.notifier)
|
||||
.toggleActive();
|
||||
}
|
||||
},
|
||||
icon: Icons.close,
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user