mirror of
https://github.com/foss42/apidash.git
synced 2025-07-02 05:57:55 +08:00
DashBot providers
This commit is contained in:
@ -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(),
|
||||
|
@ -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(
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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,
|
||||
|
Reference in New Issue
Block a user