customize quick tab switcher buttons

This commit is contained in:
Fabian Freund
2026-07-06 17:48:58 +02:00
parent 10052ed3a3
commit 1b1c33dee5
30 changed files with 4763 additions and 133 deletions
@@ -10,12 +10,14 @@ import 'package:weblibre/features/user/data/database/daos/onboarding.dart'
as i5;
import 'package:weblibre/features/user/data/database/daos/toolbar_button_config.dart'
as i6;
import 'package:weblibre/features/user/data/database/daos/search_tokens.dart'
import 'package:weblibre/features/user/data/database/daos/quick_switcher_button_config.dart'
as i7;
import 'package:weblibre/features/user/data/database/daos/proxy_profile.dart'
import 'package:weblibre/features/user/data/database/daos/search_tokens.dart'
as i8;
import 'package:drift/internal/modular.dart' as i9;
import 'package:sqlite3/common.dart' as i10;
import 'package:weblibre/features/user/data/database/daos/proxy_profile.dart'
as i9;
import 'package:drift/internal/modular.dart' as i10;
import 'package:sqlite3/common.dart' as i11;
abstract class $UserDatabase extends i0.GeneratedDatabase {
$UserDatabase(i0.QueryExecutor e) : super(e);
@@ -27,6 +29,8 @@ abstract class $UserDatabase extends i0.GeneratedDatabase {
late final i1.Riverpod riverpod = i1.Riverpod(this);
late final i1.ToolbarButtonConfigs toolbarButtonConfigs =
i1.ToolbarButtonConfigs(this);
late final i1.QuickSwitcherButtonConfigs quickSwitcherButtonConfigs =
i1.QuickSwitcherButtonConfigs(this);
late final i1.SearchTokens searchTokens = i1.SearchTokens(this);
late final i2.SettingDao settingDao = i2.SettingDao(this as i3.UserDatabase);
late final i4.CacheDao cacheDao = i4.CacheDao(this as i3.UserDatabase);
@@ -35,13 +39,15 @@ abstract class $UserDatabase extends i0.GeneratedDatabase {
);
late final i6.ToolbarButtonConfigDao toolbarButtonConfigDao =
i6.ToolbarButtonConfigDao(this as i3.UserDatabase);
late final i7.SearchTokensDao searchTokensDao = i7.SearchTokensDao(
late final i7.QuickSwitcherButtonConfigDao quickSwitcherButtonConfigDao =
i7.QuickSwitcherButtonConfigDao(this as i3.UserDatabase);
late final i8.SearchTokensDao searchTokensDao = i8.SearchTokensDao(
this as i3.UserDatabase,
);
late final i8.ProxyProfileDao proxyProfileDao = i8.ProxyProfileDao(
late final i9.ProxyProfileDao proxyProfileDao = i9.ProxyProfileDao(
this as i3.UserDatabase,
);
i1.DefinitionsDrift get definitionsDrift => i9.ReadDatabaseContainer(
i1.DefinitionsDrift get definitionsDrift => i10.ReadDatabaseContainer(
this,
).accessor<i1.DefinitionsDrift>(i1.DefinitionsDrift.new);
@override
@@ -57,6 +63,8 @@ abstract class $UserDatabase extends i0.GeneratedDatabase {
riverpod,
toolbarButtonConfigs,
i1.idxToolbarOrderKey,
quickSwitcherButtonConfigs,
i1.idxQuickSwitcherOrderKey,
searchTokens,
i1.idxSearchTokensInsertedAt,
i1.idxSearchTokensReservedAt,
@@ -78,11 +86,16 @@ class $UserDatabaseManager {
i1.$RiverpodTableManager(_db, _db.riverpod);
i1.$ToolbarButtonConfigsTableManager get toolbarButtonConfigs =>
i1.$ToolbarButtonConfigsTableManager(_db, _db.toolbarButtonConfigs);
i1.$QuickSwitcherButtonConfigsTableManager get quickSwitcherButtonConfigs =>
i1.$QuickSwitcherButtonConfigsTableManager(
_db,
_db.quickSwitcherButtonConfigs,
);
i1.$SearchTokensTableManager get searchTokens =>
i1.$SearchTokensTableManager(_db, _db.searchTokens);
}
extension DefineFunctions on i10.CommonDatabase {
extension DefineFunctions on i11.CommonDatabase {
void defineFunctions({
required String Function(int, String?) lexoRankNext,
required String Function(int, String?) lexoRankPrevious,
@@ -96,7 +109,7 @@ extension DefineFunctions on i10.CommonDatabase {
}) {
createFunction(
functionName: 'lexo_rank_next',
argumentCount: const i10.AllowedArgumentCount(2),
argumentCount: const i11.AllowedArgumentCount(2),
function: (args) {
final arg0 = args[0] as int;
final arg1 = args[1] as String?;
@@ -105,7 +118,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'lexo_rank_previous',
argumentCount: const i10.AllowedArgumentCount(2),
argumentCount: const i11.AllowedArgumentCount(2),
function: (args) {
final arg0 = args[0] as int;
final arg1 = args[1] as String?;
@@ -114,7 +127,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'lexo_rank_reorder_after',
argumentCount: const i10.AllowedArgumentCount(2),
argumentCount: const i11.AllowedArgumentCount(2),
function: (args) {
final arg0 = args[0] as String?;
final arg1 = args[1] as String?;
@@ -123,7 +136,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'lexo_rank_reorder_before',
argumentCount: const i10.AllowedArgumentCount(2),
argumentCount: const i11.AllowedArgumentCount(2),
function: (args) {
final arg0 = args[0] as String?;
final arg1 = args[1] as String?;
@@ -132,14 +145,14 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'generate_content_hash',
argumentCount: const i10.AllowedArgumentCount(0),
argumentCount: const i11.AllowedArgumentCount(0),
function: (args) {
return generateContentHash();
},
);
createFunction(
functionName: 'url_indexable',
argumentCount: const i10.AllowedArgumentCount(1),
argumentCount: const i11.AllowedArgumentCount(1),
function: (args) {
final arg0 = args[0] as String?;
return urlIndexable(arg0);
@@ -147,7 +160,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'url_canonical',
argumentCount: const i10.AllowedArgumentCount(1),
argumentCount: const i11.AllowedArgumentCount(1),
function: (args) {
final arg0 = args[0] as String?;
return urlCanonical(arg0);
@@ -155,7 +168,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'url_host',
argumentCount: const i10.AllowedArgumentCount(1),
argumentCount: const i11.AllowedArgumentCount(1),
function: (args) {
final arg0 = args[0] as String?;
return urlHost(arg0);
@@ -163,7 +176,7 @@ extension DefineFunctions on i10.CommonDatabase {
);
createFunction(
functionName: 'url_path',
argumentCount: const i10.AllowedArgumentCount(1),
argumentCount: const i11.AllowedArgumentCount(1),
function: (args) {
final arg0 = args[0] as String?;
return urlPath(arg0);