Files
apidash/lib/dashbot/utils/show_dashbot.dart
2025-09-29 07:25:22 +05:30

29 lines
898 B
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../dashbot_dashboard.dart';
import '../providers/providers.dart';
void showDashbotWindow(BuildContext context, WidgetRef ref) {
final isDashbotActive = ref.read(dashbotWindowNotifierProvider).isActive;
final isDashbotPopped = ref.read(dashbotWindowNotifierProvider).isPopped;
final windowNotifier = ref.read(dashbotWindowNotifierProvider.notifier);
if (isDashbotActive) return;
if (!isDashbotPopped) return;
final overlay = Overlay.of(context);
OverlayEntry? entry;
entry = OverlayEntry(
builder: (context) => ProviderScope(
child: DashbotWindow(
onClose: () {
entry?.remove();
windowNotifier.toggleActive();
},
),
),
);
// Mark active and insert overlay
windowNotifier.toggleActive();
overlay.insert(entry);
}