added option to clear recent searches

This commit is contained in:
Fabian Freund
2026-06-29 10:37:27 +02:00
parent 7d2177aa82
commit 9c2c8d4ba6
6 changed files with 13 additions and 2 deletions
@@ -142,6 +142,10 @@ class BangDataRepository extends _$BangDataRepository {
.removeSearchEntry(searchQuery); .removeSearchEntry(searchQuery);
} }
Future<int> clearSearchHistory() {
return ref.read(bangDatabaseProvider).bangHistory.deleteAll();
}
Future<int> resetFrequencies() { Future<int> resetFrequencies() {
return ref.read(bangDatabaseProvider).bangFrequency.deleteAll(); return ref.read(bangDatabaseProvider).bangFrequency.deleteAll();
} }
@@ -42,7 +42,7 @@ final class BangDataRepositoryProvider
} }
String _$bangDataRepositoryHash() => String _$bangDataRepositoryHash() =>
r'c8e2b17214117a8d88b5246bdcc565bc15e8e4ac'; r'2b964de957cb9474f29a3d4d1b05a29562700030';
abstract class _$BangDataRepository extends $Notifier<void> { abstract class _$BangDataRepository extends $Notifier<void> {
void build(); void build();
@@ -19,6 +19,7 @@
*/ */
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart'; import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/features/bangs/domain/repositories/data.dart';
import 'package:weblibre/features/geckoview/features/tabs/data/providers.dart'; import 'package:weblibre/features/geckoview/features/tabs/data/providers.dart';
import 'package:weblibre/features/user/data/models/general_settings.dart'; import 'package:weblibre/features/user/data/models/general_settings.dart';
@@ -48,6 +49,10 @@ class BrowserDataService extends _$BrowserDataService {
case DeleteBrowsingDataType.history: case DeleteBrowsingDataType.history:
await _service.deleteBrowsingHistory(); await _service.deleteBrowsingHistory();
await ref.read(tabDatabaseProvider).historyDao.clear(); await ref.read(tabDatabaseProvider).historyDao.clear();
case DeleteBrowsingDataType.recentSearches:
await ref
.read(bangDataRepositoryProvider.notifier)
.clearSearchHistory();
case DeleteBrowsingDataType.cookies: case DeleteBrowsingDataType.cookies:
await _service.deleteCookiesAndSiteData(); await _service.deleteCookiesAndSiteData();
case DeleteBrowsingDataType.cache: case DeleteBrowsingDataType.cache:
@@ -42,7 +42,7 @@ final class BrowserDataServiceProvider
} }
String _$browserDataServiceHash() => String _$browserDataServiceHash() =>
r'b6586d14ef13ab2905072e1e26cabc17846eaf73'; r'a10ac863a4c80e3ed882c3d2a2c1b8535a257ac0';
abstract class _$BrowserDataService extends $Notifier<void> { abstract class _$BrowserDataService extends $Notifier<void> {
void build(); void build();
@@ -94,6 +94,7 @@ enum TabBarLayout { withTitle, compact }
enum DeleteBrowsingDataType { enum DeleteBrowsingDataType {
tabs('Open tabs'), tabs('Open tabs'),
history('Browsing history'), history('Browsing history'),
recentSearches('Recent searches', 'Queries shown on the search page'),
cookies('Cookies and site data', 'Youll be logged out of most sites'), cookies('Cookies and site data', 'Youll be logged out of most sites'),
cache('Cached images and files', 'Frees up storage space'), cache('Cached images and files', 'Frees up storage space'),
permissions('Site permissions'), permissions('Site permissions'),
@@ -1204,6 +1204,7 @@ const _$RefreshRateModeEnumMap = {
const _$DeleteBrowsingDataTypeEnumMap = { const _$DeleteBrowsingDataTypeEnumMap = {
DeleteBrowsingDataType.tabs: 'tabs', DeleteBrowsingDataType.tabs: 'tabs',
DeleteBrowsingDataType.history: 'history', DeleteBrowsingDataType.history: 'history',
DeleteBrowsingDataType.recentSearches: 'recentSearches',
DeleteBrowsingDataType.cookies: 'cookies', DeleteBrowsingDataType.cookies: 'cookies',
DeleteBrowsingDataType.cache: 'cache', DeleteBrowsingDataType.cache: 'cache',
DeleteBrowsingDataType.permissions: 'permissions', DeleteBrowsingDataType.permissions: 'permissions',