implement user bangs
This commit is contained in:
+1
-1
@@ -426,7 +426,7 @@ class BrowserBottomAppBar extends HookConsumerWidget {
|
||||
const Divider(),
|
||||
MenuItemButton(
|
||||
onPressed: () async {
|
||||
await BangCategoriesRoute().push(context);
|
||||
await const BangMenuRoute().push(context);
|
||||
},
|
||||
leadingIcon: const Icon(MdiIcons.exclamationThick),
|
||||
child: const Text('Bangs'),
|
||||
|
||||
+2
-4
@@ -173,16 +173,14 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
launchedFromIntent: true,
|
||||
);
|
||||
case SharedText():
|
||||
final defaultSearchBang =
|
||||
final bang =
|
||||
ref.read(selectedBangDataProvider()) ??
|
||||
await ref.read(defaultSearchBangDataProvider.future);
|
||||
|
||||
await ref
|
||||
.read(tabRepositoryProvider.notifier)
|
||||
.addTab(
|
||||
url: defaultSearchBang?.getTemplateUrl(
|
||||
sharedContent.text,
|
||||
),
|
||||
url: bang?.getTemplateUrl(sharedContent.text),
|
||||
private:
|
||||
settings.tabIntentOpenSetting ==
|
||||
TabIntentOpenSetting.private,
|
||||
|
||||
@@ -198,13 +198,21 @@ class SearchScreen extends HookConsumerWidget {
|
||||
);
|
||||
|
||||
if (newUrl == null) {
|
||||
final defaultSearchBang =
|
||||
final bang =
|
||||
ref.read(selectedBangDataProvider()) ??
|
||||
await ref.read(
|
||||
defaultSearchBangDataProvider.future,
|
||||
);
|
||||
|
||||
newUrl = defaultSearchBang?.getTemplateUrl(value);
|
||||
if (bang != null) {
|
||||
newUrl = bang.getTemplateUrl(value);
|
||||
|
||||
if (!privateTabMode) {
|
||||
await ref
|
||||
.read(bangSearchProvider.notifier)
|
||||
.triggerBangSearch(bang, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (newUrl != null) {
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:drift_dev/api/migrations_native.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/database/daos/container.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/database/daos/tab.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/data/database/database.drift.dart';
|
||||
@@ -36,7 +38,13 @@ class TabDatabase extends $TabDatabase with TrigramQueryBuilderMixin {
|
||||
@override
|
||||
MigrationStrategy get migration => MigrationStrategy(
|
||||
beforeOpen: (details) async {
|
||||
await customStatement('PRAGMA foreign_keys = ON;');
|
||||
if (kDebugMode) {
|
||||
// This check pulls in a fair amount of code that's not needed
|
||||
// anywhere else, so we recommend only doing it in debug builds.
|
||||
await validateDatabaseSchema();
|
||||
}
|
||||
|
||||
await customStatement('PRAGMA foreign_keys = ON');
|
||||
await definitionsDrift.optimizeFtsIndex();
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user