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 'package:flutter_riverpod/flutter_riverpod.dart';
import '../services/services.dart'; import '../services/services.dart';
final dashBotMinimizedProvider = StateProvider<bool>((ref) {
return true;
});
final chatMessagesProvider = final chatMessagesProvider =
StateNotifierProvider<ChatMessagesNotifier, List<Map<String, dynamic>>>( StateNotifierProvider<ChatMessagesNotifier, List<Map<String, dynamic>>>(
(ref) => ChatMessagesNotifier(), (ref) => ChatMessagesNotifier(),

View File

@ -131,6 +131,7 @@ class _DashBotWidgetState extends ConsumerState<DashBotWidget> {
Widget _buildHeader(BuildContext context) { Widget _buildHeader(BuildContext context) {
final isMinimized = ref.watch(dashBotMinimizedProvider); final isMinimized = ref.watch(dashBotMinimizedProvider);
return Padding( return Padding(
padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), padding: const EdgeInsets.fromLTRB(16, 16, 16, 0),
child: Row( child: Row(
@ -161,7 +162,8 @@ class _DashBotWidgetState extends ConsumerState<DashBotWidget> {
icon: const Icon(Icons.close, size: 20), icon: const Icon(Icons.close, size: 20),
tooltip: 'Close', tooltip: 'Close',
onPressed: () { onPressed: () {
ref.read(dashBotVisibilityProvider.notifier).state = false; ref.read(isDashBotEnabledStateProvider.notifier).state =
false;
}, },
), ),
IconButton( IconButton(

View File

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

View File

@ -17,7 +17,7 @@ class Dashboard extends ConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final railIdx = ref.watch(navRailIndexStateProvider); final railIdx = ref.watch(navRailIndexStateProvider);
final settings = ref.watch(settingsProvider); final isDashBotEnabled = ref.watch(isDashBotEnabledStateProvider);
return Scaffold( return Scaffold(
body: SafeArea( body: SafeArea(
child: Row( child: Row(
@ -126,7 +126,7 @@ class Dashboard extends ConsumerWidget {
], ],
), ),
), ),
floatingActionButton: settings.isDashBotEnabled floatingActionButton: isDashBotEnabled
? FloatingActionButton( ? FloatingActionButton(
onPressed: () => showModalBottomSheet( onPressed: () => showModalBottomSheet(
context: context, context: context,