feat: add web search availability provider and enhance feature toggles in chat and tools modal

This commit is contained in:
cogwheel0
2025-08-24 20:55:51 +05:30
parent cc46799e20
commit 4cd00e9193
5 changed files with 77 additions and 47 deletions

View File

@@ -80,12 +80,10 @@ class ThemeModeNotifier extends StateNotifier<ThemeMode> {
}
// Locale provider
final localeProvider = StateNotifierProvider<LocaleNotifier, Locale?>(
(ref) {
final storage = ref.watch(optimizedStorageServiceProvider);
return LocaleNotifier(storage);
},
);
final localeProvider = StateNotifierProvider<LocaleNotifier, Locale?>((ref) {
final storage = ref.watch(optimizedStorageServiceProvider);
return LocaleNotifier(storage);
});
class LocaleNotifier extends StateNotifier<Locale?> {
final OptimizedStorageService _storage;
@@ -957,6 +955,22 @@ final imageGenerationAvailableProvider = Provider<bool>((ref) {
);
});
final webSearchAvailableProvider = Provider<bool>((ref) {
final perms = ref.watch(userPermissionsProvider);
return perms.maybeWhen(
data: (data) {
final features = data['features'];
if (features is Map<String, dynamic>) {
final value = features['web_search'];
if (value is bool) return value;
if (value is String) return value.toLowerCase() == 'true';
}
return false;
},
orElse: () => false,
);
});
// Folders provider
final foldersProvider = FutureProvider<List<Folder>>((ref) async {
final api = ref.watch(apiServiceProvider);