feat: add web search availability provider and enhance feature toggles in chat and tools modal
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user