DashBot providers

This commit is contained in:
Ashita Prasad
2025-06-23 03:25:50 +05:30
parent 702b0d119c
commit 194f76f48a
4 changed files with 12 additions and 3 deletions

View File

@ -3,6 +3,10 @@ import 'package:apidash/services/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../services/services.dart';
final dashBotMinimizedProvider = StateProvider<bool>((ref) {
return true;
});
final chatMessagesProvider =
StateNotifierProvider<ChatMessagesNotifier, List<Map<String, dynamic>>>(
(ref) => ChatMessagesNotifier(),

View File

@ -131,6 +131,7 @@ class _DashBotWidgetState extends ConsumerState<DashBotWidget> {
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<DashBotWidget> {
icon: const Icon(Icons.close, size: 20),
tooltip: 'Close',
onPressed: () {
ref.read(dashBotVisibilityProvider.notifier).state = false;
ref.read(isDashBotEnabledStateProvider.notifier).state =
false;
},
),
IconButton(

View File

@ -11,6 +11,9 @@ final codegenLanguageStateProvider = StateProvider<CodegenLanguage>((ref) =>
final activeEnvironmentIdStateProvider = StateProvider<String?>((ref) =>
ref.watch(settingsProvider.select((value) => value.activeEnvironmentId)));
final isDashBotEnabledStateProvider = StateProvider<bool>((ref) =>
ref.watch(settingsProvider.select((value) => value.isDashBotEnabled)));
final StateNotifierProvider<ThemeStateNotifier, SettingsModel>
settingsProvider = StateNotifierProvider((ref) => ThemeStateNotifier());

View File

@ -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,