From 194f76f48ad6087f738954ca7c63f550ba496ca2 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Mon, 23 Jun 2025 03:25:50 +0530 Subject: [PATCH] DashBot providers --- lib/dashbot/providers/dashbot_providers.dart | 4 ++++ lib/dashbot/widgets/dashbot_widget.dart | 4 +++- lib/providers/settings_providers.dart | 3 +++ lib/screens/dashboard.dart | 4 ++-- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/dashbot/providers/dashbot_providers.dart b/lib/dashbot/providers/dashbot_providers.dart index e49c1c1e..1fa78970 100644 --- a/lib/dashbot/providers/dashbot_providers.dart +++ b/lib/dashbot/providers/dashbot_providers.dart @@ -3,6 +3,10 @@ import 'package:apidash/services/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../services/services.dart'; +final dashBotMinimizedProvider = StateProvider((ref) { + return true; +}); + final chatMessagesProvider = StateNotifierProvider>>( (ref) => ChatMessagesNotifier(), diff --git a/lib/dashbot/widgets/dashbot_widget.dart b/lib/dashbot/widgets/dashbot_widget.dart index fb90ffdb..720ed312 100644 --- a/lib/dashbot/widgets/dashbot_widget.dart +++ b/lib/dashbot/widgets/dashbot_widget.dart @@ -131,6 +131,7 @@ class _DashBotWidgetState extends ConsumerState { Widget _buildHeader(BuildContext context) { final isMinimized = ref.watch(dashBotMinimizedProvider); + return Padding( padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), child: Row( @@ -161,7 +162,8 @@ class _DashBotWidgetState extends ConsumerState { icon: const Icon(Icons.close, size: 20), tooltip: 'Close', onPressed: () { - ref.read(dashBotVisibilityProvider.notifier).state = false; + ref.read(isDashBotEnabledStateProvider.notifier).state = + false; }, ), IconButton( diff --git a/lib/providers/settings_providers.dart b/lib/providers/settings_providers.dart index d3cb9f2f..82f3fd24 100644 --- a/lib/providers/settings_providers.dart +++ b/lib/providers/settings_providers.dart @@ -11,6 +11,9 @@ final codegenLanguageStateProvider = StateProvider((ref) => final activeEnvironmentIdStateProvider = StateProvider((ref) => ref.watch(settingsProvider.select((value) => value.activeEnvironmentId))); +final isDashBotEnabledStateProvider = StateProvider((ref) => + ref.watch(settingsProvider.select((value) => value.isDashBotEnabled))); + final StateNotifierProvider settingsProvider = StateNotifierProvider((ref) => ThemeStateNotifier()); diff --git a/lib/screens/dashboard.dart b/lib/screens/dashboard.dart index 29bb7907..8ca89bdd 100644 --- a/lib/screens/dashboard.dart +++ b/lib/screens/dashboard.dart @@ -17,7 +17,7 @@ class Dashboard extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final railIdx = ref.watch(navRailIndexStateProvider); - final settings = ref.watch(settingsProvider); + final isDashBotEnabled = ref.watch(isDashBotEnabledStateProvider); return Scaffold( body: SafeArea( child: Row( @@ -126,7 +126,7 @@ class Dashboard extends ConsumerWidget { ], ), ), - floatingActionButton: settings.isDashBotEnabled + floatingActionButton: isDashBotEnabled ? FloatingActionButton( onPressed: () => showModalBottomSheet( context: context,